EigenRand  0.5.0
 
Loading...
Searching...
No Matches
EigenRand : The Fastest C++11-compatible random distribution generator for Eigen

EigenRand is a header-only library for Eigen, providing vectorized random number engines and vectorized random distribution generators. Since the classic Random functions of Eigen relies on an old C function rand(), there is no way to control random numbers and no guarantee for quality of generated numbers. In addition, Eigen's Random is slow because rand() is hard to vectorize.

EigenRand provides a variety of random distribution functions similar to C++11 standard's random functions, which can be vectorized and easily integrated into Eigen's expressions of Matrix and Array.

You can get 5~10 times speed by just replacing old Eigen's Random or unvectorizable c++11 random number generators with EigenRand.

EigenRand currently supports only x86-64 architecture (SSE, AVX, AVX2) and ARM64 NEON.

EigenRand is distributed under the MIT License.

If you want to contribute or report bugs, please visit Github repository https://github.com/bab2min/EigenRand.