A new release 0.3.3.9.2 of RcppEigen arrived on CRAN today (and already went to Debian). Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
This update was (as it happens) requested by CRAN as R aims to bring the Fortran / C interface to best practices. We call dgesdd twice in one example and use a character argument, and the-powers-that-be now prefer better control over that character argument. So we did. Another change, kindly contributed by Mikael Jagan, switches row and column indices for R_xlen_t allowing for greater range. Plus some more small tweaks mostly to CI, see the NEWS entry below for full details.
And again as we said for the previous three releases:
One additional and recent change was the accomodation of a recent CRAN Policy change to not allow
gccorclangto mess with diagnostic messages. A word of caution: this may make your compilation of packages using RcppEigen very noisy so consider adding-Wno-ignored-attributesto the compiler flags added in your~/.R/Makevars.
We still find this requirement rather annoying. Eigen is only usable if you set, say,
-Wno-deprecated-declarations -Wno-parentheses -Wno-ignored-attributes -Wno-unused-functionasoptions in~/.R/Makevars`. But CRAN makes the rules. Maybe if a few of us gently and politely nudge them they may relent one day. One can only hope.
The complete NEWS file entry follows.
Changes in RcppEigen version 0.3.3.9.2 (2022-04-05)
Added test coverage in continuous integration
Added new tests to increase test coverage
Small improvement to the
RcppEigen.package.skeleton()code
Small updates and edits to
README.mdandinst/CITATION
Use
R_xlen_tfor vector rows and columns (by Mikael Jagan)
Support
USE_FC_LEN_Tby addingFCONEto two dgesdd calls
Courtesy of CRANberries, there is also a diffstat report for the most recent release.
If you like this or other open-source work I do, you can sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.