The ETF algorithm is a blazingly fast algorithm to sample arbitrary univariate continuous probability distributions solely from their probability density function and using marginally more than one random number per sample.
The <etf> library is a ready-to-use implementation of the ETF algorithm with optimized specializations for asymmetric, symmetric and central distributions.
The <etf> library API is documented here. You may read more about the algorithm itself in the online overview of the method.
This is a header-only library: once installed locally, it is enough to make sure that the etf directory is in the include path.
The benchmarking directory contains a timing benchmark as well as a statistical collision test benchmark. These are discussed in details in the ETF overview.
Note that the timing benchmark requires the nonius microbenchmarking library which in turn needs a couple of the Boost libraries.
A short tutorial will be coming soon. In the meantime, the benchmarking directory contains example applications of the <etf> library for the fast generation of normal and chi-squared variates.
This software is licensed under the Apache License version 2.0, the MIT license or the Boost license version 1.0, at your option.
Copyright © 2016 Serge Barral.