You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
/* boost random/taus88.hpp header file |
|
* |
|
* Copyright Jens Maurer 2000-2001 |
|
* Copyright Steven Watanabe 2011 |
|
* Distributed under the Boost Software License, Version 1.0. (See |
|
* accompanying file LICENSE_1_0.txt or copy at |
|
* http://www.boost.org/LICENSE_1_0.txt) |
|
* |
|
* See http://www.boost.org/libs/random for documentation. |
|
* |
|
* $Id$ |
|
* |
|
*/ |
|
|
|
#ifndef BOOST_RANDOM_TAUS88_HPP |
|
#define BOOST_RANDOM_TAUS88_HPP |
|
|
|
#include <boost/random/linear_feedback_shift.hpp> |
|
#include <boost/random/xor_combine.hpp> |
|
|
|
namespace boost { |
|
namespace random { |
|
|
|
/** |
|
* The specialization taus88 was suggested in |
|
* |
|
* @blockquote |
|
* "Maximally Equidistributed Combined Tausworthe Generators", |
|
* Pierre L'Ecuyer, Mathematics of Computation, Volume 65, |
|
* Number 213, January 1996, Pages 203-213 |
|
* @endblockquote |
|
*/ |
|
typedef xor_combine_engine< |
|
xor_combine_engine< |
|
linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0, |
|
linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0, |
|
linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> taus88; |
|
|
|
} // namespace random |
|
|
|
using random::taus88; |
|
|
|
} // namespace boost |
|
|
|
#endif // BOOST_RANDOM_TAUS88_HPP
|
|
|