Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.7 KB

README.md

File metadata and controls

52 lines (33 loc) · 1.7 KB

<etf>: a C++ implementation of the Exclusive Top Floor algorithm

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.

Documentation

The <etf> library API is documented here. You may read more about the algorithm itself in the online overview of the method.

Installation

This is a header-only library: once installed locally, it is enough to make sure that the etf directory is in the include path.

Benchmarking

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.

Examples

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.

License

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.