In perl.git, the branch smoke-me/builtin_rng has been created

<http://perl5.git.perl.org/perl.git/commitdiff/be39785cb55cba58626245807f64efc1abaa3dbb?hp=0000000000000000000000000000000000000000>

        at  be39785cb55cba58626245807f64efc1abaa3dbb (commit)

- Log -----------------------------------------------------------------
commit be39785cb55cba58626245807f64efc1abaa3dbb
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 22:55:38 2012 +0100

    Enable WellRNG 512A (for testing)

M       perl.h

commit 5d90f3d5a9c9b7474a17d4438b97fdf90fa92347
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 20:25:29 2012 +0100

    Add support for WellRNG 512a
    
    This is a "new" random number generator. Derived from code published at:
    
    http://www.iro.umontreal.ca/~simardr/rng/WELL512a.c
    
    See also:
    
    http://www.iro.umontreal.ca/~panneton/WELLRNG.html
    http://www.iro.umontreal.ca/~panneton/well/WELL512a.c
    
    lfsr04.pdf: F. Panneton, P. L'Ecuyer and M. Matsumoto, "Improved
    Long-Period Generators Based on Linear Recurrences Modulo 2"
    http://www.iro.umontreal.ca/~lecuyer/myftp/papers/lfsr04.pdf
    
    <QUOTE>
    In this paper, we propose new generators, with better equidistribution and 
“bit-mixing”
    properties for equivalent period length and speed. Approximately half of 
the coefficients
    of the characteristic polynomial of these generators are nonzero. The state 
of our new
    generators evolves in a more chaotic way than for the Mersenne twister.
    </QUOTE>
    
    Many thanks to Pierre L'Ecuyer for GPL'ing the code so that it could
    be used in this project.

M       embed.fnc
M       embed.h
M       proto.h
M       util.c
M       util.h

commit 271587d61c94a7d6a30e1d57ab688eb987c1892e
Author: Yves Orton <[email protected]>
Date:   Sat Dec 15 18:40:33 2012 +0100

    Add support for using Tiny MT, a 128 bit state RNG
    
    Perl traditionally uses the systems random number generator
    for the rand() function. This means that the behavior of code
    using it is platform dependent. Worse, sometimes the random
    number generator is of poor quality.
    
    This patch adds support for using the TinyMT random number
    generator (32 bit version) instead. This generator is of relatively high
    quality, uses 128 bits of state and is relatively fast and should be
    portable to all of our build targets.
    
    Note that this patch does not *enable* using tinym32, to do that
    you need to define TINYMT32 during configure.
    
    Full details of the algorithm can be obtained at
    
http://www.math.sci.hiroshima-u.ac.jp/[email protected]/MT/TINYMT/
    
    Derived from code by Mutsuo Saito and Makoto Matsumoto published under the
    BSD 3-clause license.
    
    Copyright (c) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima
    University and The University of Tokyo. All rights reserved.

M       embed.fnc
M       embed.h
M       embedvar.h
M       intrpvar.h
M       pp.c
M       proto.h
M       sv.c
M       util.c
M       util.h
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to