boost/random/inversive_congruential.hpp
/* boost random/inversive_congruential.hpp header file * * Copyright Jens Maurer 2000-2001 * 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 for most recent version including documentation. * * $Id$ * * Revision history * 2001-02-18 moved to individual header files */ #ifndef BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP #define BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP #include <iosfwd> #include <stdexcept> #include <boost/assert.hpp> #include <boost/config.hpp> #include <boost/cstdint.hpp> #include <boost/integer/static_log2.hpp> #include <boost/random/detail/config.hpp> #include <boost/random/detail/const_mod.hpp> #include <boost/random/detail/seed.hpp> #include <boost/random/detail/operators.hpp> #include <boost/random/detail/seed_impl.hpp> #include <boost/random/detail/disable_warnings.hpp> namespace boost { namespace random { // Eichenauer and Lehn 1986 /** * Instantiations of class template @c inversive_congruential_engine model a * \pseudo_random_number_generator. It uses the inversive congruential * algorithm (ICG) described in * * @blockquote * "Inversive pseudorandom number generators: concepts, results and links", * Peter Hellekalek, In: "Proceedings of the 1995 Winter Simulation * Conference", C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman * (editors), 1995, pp. 255-262. boost/random/detail/enable_warnings.hpp> #endif // BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP





