stringdist 0.9.5.0: now with C API
[This article was first published on R – Mark van der Loo, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Version 0.9.5.0 of stringdist is accepted on CRAN (binaries for non-linux OSs will be available in a few days). The main new feature, with a huge thanks to our awesome new contributor Chris Muir, is that we made it easy to call stringdist
functionality from your package’s C
or C++
code.
The main steps to get it done are:
- Make sure to add
stringdist
to theImports:
andLinkingTo:
fields in yourDESRIPTION
file - Add the
#include <stringdist_api>
to yourC
/C++
source file. - Start using stringdist from
C
!
Here’s an example source file
#include <R.h> #include <Rdefines.h> #include <stringdist_api.h> SEXP my_soundex(SEXP strings, SEXP useBytes){ Rprintf("\nWow, using 'stringdist' soundex encoding, from my own C code!\n"); return sd_soundex(strings, useBytes); }
Great! how can I learn more?
- The full API is desribed in a pdf file that is generated from doxygen that comes with the package. You can find it by typing
?stringdist_api
on theR
command line. - A minimal example package that links to
stringdist
is available on GitHub - A more sophisticated package with more elaborate examples can be found here: refinr (By Chris)
Any other news?
A few fixes, and a couple of long-deprecated function arguments have finally been removed. Check out the NEWS file on CRAN for a complete overview.
Happy coding!
To leave a comment for the author, please follow the link and comment on their blog: R – Mark van der Loo.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.