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

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

        at  d8480f2c31bc97136e63f8bf75832168d78408b3 (commit)

- Log -----------------------------------------------------------------
commit d8480f2c31bc97136e63f8bf75832168d78408b3
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 22:37:59 2012 +0100

    rework the tinymt32 code to expose less symbols

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

commit 8be10df1cffb34d71f747d8af48302039b3a86c1
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 20:31:22 2012 +0100

    Enable use of WellRNG512a

M       perl.h

commit 91c2c423d229d7e29e5f09ebbc5ef4a539afbe93
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 20:30:47 2012 +0100

    cleanup tinymt32_ embed.fnc definitions

M       embed.fnc

commit a224488f6a480561e737652ca39e9a90f6c0b90b
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 b013a40b5c2332511c66c7157987e1341b7d3e29
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 20:22:02 2012 +0100

    use PL_RANDOM_STATE_TYPE instead of TINYMT32 to control special cases
    
    We might support more built in RNG implementations.

M       intrpvar.h
M       util.c

commit 48d491e869c028a4d68469020526a291bd736e11
Author: Yves Orton <[email protected]>
Date:   Sun Dec 16 20:20:45 2012 +0100

    Add comment

M       util.h

commit 3fcee400ef4ceb6888abeb3409a06ca1414255e2
Author: Yves Orton <[email protected]>
Date:   Sat Dec 15 23:21:27 2012 +0100

    TINYMT32 makes RANDBITS redundant if this test
    
    And tidy up the defines at the same time.

M       util.c

commit 2986b00f4ab6b748d2e63e1fe6eca97827193c79
Author: Yves Orton <[email protected]>
Date:   Sat Dec 15 23:20:33 2012 +0100

    make sure we clone the RNG PL_random_state if it exists

M       sv.c
M       util.h

commit 1a6fa460c1c78d9a83fbc6d687ddb94e894af08d
Author: Yves Orton <[email protected]>
Date:   Sat Dec 15 18:55:28 2012 +0100

    Enable TINYMT32
    
    Make perl use Tiny MT (32bit) RNG generator.

M       perl.h

commit c77409ba0bf607cfafd28b1787a7e38cb559d3eb
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.
    
    Note: Win32 does not support stdint.h/inttypes.h apparently

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

--
Perl5 Master Repository

Reply via email to