sfmt-erlang: SIMD-oriented Fast Mersenne Twister (SFMT) for Erlang
- Version 0.12.8 13-JAN-2016
- Edited and written by Kenji Rikitake (Kenji Rikitake Professional Engineer's Office)
- Email contact: firstname.lastname@example.org
Travis CI build status for the master branch
Copyright (c) 2010-2016 Kenji Rikitake and Kyoto University. All rights reserved.
Copyright (c) 2006,2007 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved.
See the file
LICENSE for the license (new/simplified BSD license).
Details of SFMT algorithm
This software is based on SFMT ver. 1.3.3 (SIMD oriented Fast Mersenne Twister(SFMT)) by Mutsuo Saito (Hiroshima University) and Makoto Matsumoto (Hiroshima University). See http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html for the further details.
Note well: only (2^19937 - 1) period is supported.
sfmt: SFMT with C NIFs
sfmt_pure: SFMT with pure Erlang
- See CHANGES.md for the detail of miscellaneous changes
- Compiler requirement: C99 support (modern Clang and gcc will do):
c_src/sfmt_nif.cfor the details
- Also refer to sfmt-extstate at http://github.com/jj1bdx/sfmt-extstate
- The version number of this NIF is 101 (see
- FreeBSD/amd64 10.2-STABLE with Erlang/OTP 18.2.1
- OS X 10.11.2 El Capitanwith Erlang/OTP 18.2.
Make options (of erlang.mk)
Makefileworks on both BSD/GNU make
Makefile.sfmtis the real GNU make file; edit this file for modification
- C NIF Documentation:
make c_doc(requires Doxygen 184.108.40.206 or later)
- Erlang Documentation:
- Execution speed benchmark:
- See also erlang.mk for the details
- NIF building errors fixed (0.12.7 and later)
- Package name:
- Note: all builds including C and Erlang source compilation are done with
API compatible with the random module
seed0, seed/0, seed/3, uniform/0, uniform/1, uniform_s/1, uniform_s/3
- No more new feature; more load testing needed
- More documentation
- Code upgrading/reloading behavior check
- Kenji Rikitake
- Mutsuo Saito
- Makoto Matsumoto
- Dan Gudmundsson
- Michael Truog
- Michael Chmielewski
- David Whitlock
- Dave "dizzyd" Smith
- Tuncer Ayaz
- Tim Bates (random_mt.erl implementator of Mersenne Twister)
- Richard O'Keefe
- Yurii Rashkovskii
- Kostis Sagonas
- Michael Gebetsroither
- Shunichi Shinohara
- Loïc Hoguin
- @timCF of GitHub
During the compatibility test of this software, Kenji Rikitake used the supercomputer service provided by Academic Center for Computing and Media Studies (ACCMS), Kyoto University.
Erlang Solutions kindly gave Kenji Rikitake an opportunity to give a presentation about this software at Erlang Factory SF Bay 2011.