Chaste  Release::3.4
Boost156NormalDistribution.hpp File Reference
#include <boost/config/no_tr1/cmath.hpp>
#include <istream>
#include <iosfwd>
#include <boost/assert.hpp>
#include <boost/limits.hpp>
#include <boost/static_assert.hpp>
#include <boost/integer.hpp>
#include <boost/integer/integer_mask.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/make_unsigned.hpp>
#include <boost/random/detail/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/pending/integer_log2.hpp>
#include <boost/random/uniform_01.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int.hpp>
#include <boost/random/detail/signed_unsigned_tools.hpp>
#include <boost/random/exponential_distribution.hpp>
#include <boost/random/variate_generator.hpp>
+ Include dependency graph for Boost156NormalDistribution.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  boost::random::detail::normal_table< RealType >
 
struct  boost::random::detail::unit_normal_distribution< RealType >
 
class  boost::random::normal_distribution_v156< RealType >
 
class  boost::random::normal_distribution_v156< RealType >::param_type
 

Namespaces

 boost
 typedef uniform_int uniform_int_distribution
 

Macros

#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t)
 
#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t)
 
#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs)   friend bool operator==(const T& lhs, const T& rhs)
 
#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T)
 
#define COVERAGE_IGNORE
 
#define COVERAGE_IGNORE
 
#define COVERAGE_IGNORE
 
#define COVERAGE_IGNORE
 

Functions

template<class Engine >
boost::make_unsigned< typename
Engine::result_type >::type 
boost::random::detail::generate_one_digit (Engine &eng, std::size_t bits)
 
template<class RealType , std::size_t w, class Engine >
std::pair< RealType, int > boost::random::detail::generate_int_float_pair (Engine &eng, boost::mpl::true_)
 
template<class RealType , std::size_t w, class Engine >
std::pair< RealType, int > boost::random::detail::generate_int_float_pair (Engine &eng, boost::mpl::false_)
 
template<class RealType , std::size_t w, class Engine >
std::pair< RealType, int > boost::random::detail::generate_int_float_pair (Engine &eng)
 

Detailed Description

This file is part of Boost, not part of Chaste per se.

We use the <autogenerated> tag to ignore it from our Doxygen checker.

This file is provided to users of Boost up to 1.55 and gives forward compatibility with Boost 1.56 and beyond. (A bug in normal distributions was discovered and fixed in version 1.56)

Local changes made:

  • (This comment-block added and escaped from Doxygen checking)
  • #define BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP renamed BOOST_156_RANDOM_NORMAL_DISTRIBUTION_HPP in order to preserve uniqueness of header file
  • Class renamed normal_distribution_v156 (also to preserve uniqueness)
  • Constructor takes a compulsory first argument of underlying Mersenne Twister, to get it to compile on pre boost 1.47, due to changes in the result_type of the variate_generator.
  • In unit_normal_distribution boost::random::exponential_distribution now referred to as boost::exponential_distribution since this namespace works on more versions — back to 1.40
  • We added a random number generator call to make an exponential in generate_tail

We have tested on supported Chaste versions of Boost back to 1.40.

Definition in file Boost156NormalDistribution.hpp.

Macro Definition Documentation

#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR (   T)
Value:
friend bool operator!=(const T& lhs, const T& rhs) \
{ return !(lhs == rhs); }

Definition at line 126 of file Boost156NormalDistribution.hpp.

#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR (   is,
  T,
 
)
Value:
template<class CharT, class Traits> \
friend std::basic_istream<CharT,Traits>& \
operator>>(std::basic_istream<CharT,Traits>& is, T& t)

Definition at line 114 of file Boost156NormalDistribution.hpp.

#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR (   os,
  T,
 
)
Value:
template<class CharT, class Traits> \
friend std::basic_ostream<CharT,Traits>& \
operator<<(std::basic_ostream<CharT,Traits>& os, const T& t)

Definition at line 107 of file Boost156NormalDistribution.hpp.