Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 09:59:14

0001 /* boost random/taus88.hpp header file
0002  *
0003  * Copyright Jens Maurer 2000-2001
0004  * Copyright Steven Watanabe 2011
0005  * Distributed under the Boost Software License, Version 1.0. (See
0006  * accompanying file LICENSE_1_0.txt or copy at
0007  * http://www.boost.org/LICENSE_1_0.txt)
0008  *
0009  * See http://www.boost.org/libs/random for documentation.
0010  *
0011  * $Id$
0012  *
0013  */
0014 
0015 #ifndef BOOST_RANDOM_TAUS88_HPP
0016 #define BOOST_RANDOM_TAUS88_HPP
0017 
0018 #include <boost/random/linear_feedback_shift.hpp>
0019 #include <boost/random/xor_combine.hpp>
0020 
0021 namespace boost {
0022 namespace random {
0023 
0024 /** 
0025  * The specialization taus88 was suggested in
0026  *
0027  *  @blockquote
0028  *  "Maximally Equidistributed Combined Tausworthe Generators",
0029  *  Pierre L'Ecuyer, Mathematics of Computation, Volume 65,
0030  *  Number 213, January 1996, Pages 203-213
0031  *  @endblockquote
0032  */
0033 typedef xor_combine_engine<
0034     xor_combine_engine<
0035         linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0,
0036         linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0,
0037     linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> taus88;
0038 
0039 } // namespace random
0040 
0041 using random::taus88;
0042 
0043 } // namespace boost
0044 
0045 #endif // BOOST_RANDOM_TAUS88_HPP