Chris@16
|
1 /* boost random/taus88.hpp header file
|
Chris@16
|
2 *
|
Chris@16
|
3 * Copyright Jens Maurer 2000-2001
|
Chris@16
|
4 * Copyright Steven Watanabe 2011
|
Chris@16
|
5 * Distributed under the Boost Software License, Version 1.0. (See
|
Chris@16
|
6 * accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
7 * http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
8 *
|
Chris@16
|
9 * See http://www.boost.org/libs/random for documentation.
|
Chris@16
|
10 *
|
Chris@101
|
11 * $Id$
|
Chris@16
|
12 *
|
Chris@16
|
13 */
|
Chris@16
|
14
|
Chris@16
|
15 #ifndef BOOST_RANDOM_TAUS88_HPP
|
Chris@16
|
16 #define BOOST_RANDOM_TAUS88_HPP
|
Chris@16
|
17
|
Chris@16
|
18 #include <boost/random/linear_feedback_shift.hpp>
|
Chris@16
|
19 #include <boost/random/xor_combine.hpp>
|
Chris@16
|
20
|
Chris@16
|
21 namespace boost {
|
Chris@16
|
22 namespace random {
|
Chris@16
|
23
|
Chris@16
|
24 /**
|
Chris@16
|
25 * The specialization taus88 was suggested in
|
Chris@16
|
26 *
|
Chris@16
|
27 * @blockquote
|
Chris@16
|
28 * "Maximally Equidistributed Combined Tausworthe Generators",
|
Chris@16
|
29 * Pierre L'Ecuyer, Mathematics of Computation, Volume 65,
|
Chris@16
|
30 * Number 213, January 1996, Pages 203-213
|
Chris@16
|
31 * @endblockquote
|
Chris@16
|
32 */
|
Chris@16
|
33 typedef xor_combine_engine<
|
Chris@16
|
34 xor_combine_engine<
|
Chris@16
|
35 linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0,
|
Chris@16
|
36 linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0,
|
Chris@16
|
37 linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> taus88;
|
Chris@16
|
38
|
Chris@16
|
39 } // namespace random
|
Chris@16
|
40
|
Chris@16
|
41 using random::taus88;
|
Chris@16
|
42
|
Chris@16
|
43 } // namespace boost
|
Chris@16
|
44
|
Chris@16
|
45 #endif // BOOST_RANDOM_TAUS88_HPP
|