Sat, 22 Mar 2025

RcppZiggurat 0.1.7 on CRAN: New Generators, Many Updates

ziggurats

A new release 0.1.7 of RcppZiggurat is now on the CRAN network for R. This marks the first release in four and a half years.

The RcppZiggurat package updates the code for the Ziggurat generator by Marsaglia and others which provides very fast draws from a Normal distribution. The package provides a simple C++ wrapper class for the generator improving on the very basic macros, and permits comparison among several existing Ziggurat implementations. This can be seen in the figure where Ziggurat from this package dominates accessing the implementations from the GSL, QuantLib and Gretl—all of which are still way faster than the default Normal generator in R (which is of course of higher code complexity).

This release brings a number of changes. Notably, based on the work we did with the new package zigg (more on that in a second), we now also expose the Exponential generator, and the underlying Uniform generator. Otherwise many aspects of the package have been refreshed: updated builds, updated links, updated CI processes, more use of DOIs and more. The other big news is zigg which should now be the preference for deployment of Ziggurat due to its much lighter-weight and zero-dependency setup.

The NEWS file entry below lists all changes.

Changes in version 0.1.7 (2025-03-22)

  • The CI setup was updated to use run.sh from r-ci (Dirk).

  • The windows build was updated to GSL 2.7, and UCRT support was added (Jeroen in #16).

  • Manual pages now use JSS DOIs for references per CRAN request

  • README.md links and badges have been updated

  • Continuous integration actions have been updated several times

  • The DESCRIPTION file now uses Authors@R as mandated

  • Use of multiple cores is eased via a new helper function reflecting option mc.core or architecture defaults, used in tests

  • An inline function has been added to avoid a compiler nag

  • Support for exponential RNG draws zrexp has been added, the internal uniform generator is now also exposed via zruni

  • The vignette bibliography has been updated, and switched to DOIs

  • New package zigg is now mentioned in DESCRIPTION and vignette

Courtesy of my CRANberries, there is a diffstat report relative to previous release. More detailed information is on the Rcppziggurat page or the GitHub repository.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can sponsor me at GitHub.

/code/rcpp | permanent link