libstdc++
std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > Class Template Reference

Public Types

typedef
_UniformRandomNumberGenerator1 
base1_type
 
typedef
_UniformRandomNumberGenerator2 
base2_type
 
typedef
__gnu_cxx::__conditional_type
<(sizeof(_Result_type1) >
sizeof(_Result_type2)),
_Result_type1, _Result_type2 >
::__type 
result_type
 

Public Member Functions

const base1_typebase1 () const
 
const base2_typebase2 () const
 
result_type max () const
 
result_type min () const
 
result_type operator() ()
 
void seed ()
 
template<class _Gen >
void seed (_Gen &__g)
 
 xor_combine (const base1_type &__rng1, const base2_type &__rng2)
 
 xor_combine (unsigned long __s)
 
template<class _Gen >
 xor_combine (_Gen &__g)
 

Static Public Attributes

static const int shift1
 
static const int shift2
 

Friends

bool operator!= (const xor_combine &__lhs, const xor_combine &__rhs)
 
template<class _UniformRandomNumberGenerator11 , int __s11, class _UniformRandomNumberGenerator21 , int __s21, typename _CharT , typename _Traits >
std::basic_ostream< _CharT,
_Traits > & 
operator<< (std::basic_ostream< _CharT, _Traits > &__os, const xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &__x)
 
bool operator== (const xor_combine &__lhs, const xor_combine &__rhs)
 
template<class _UniformRandomNumberGenerator11 , int __s11, class _UniformRandomNumberGenerator21 , int __s21, typename _CharT , typename _Traits >
std::basic_istream< _CharT,
_Traits > & 
operator>> (std::basic_istream< _CharT, _Traits > &__is, xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &__x)
 

Detailed Description

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
class std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >

A random number generator adaptor class that combines two random number generator engines into a single output sequence.

Definition at line 1284 of file tr1_impl/random.

Member Typedef Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
typedef _UniformRandomNumberGenerator1 std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::base1_type

The type of the first underlying generator engine.

Definition at line 1293 of file tr1_impl/random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
typedef _UniformRandomNumberGenerator2 std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::base2_type

The type of the second underlying generator engine.

Definition at line 1295 of file tr1_impl/random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
typedef __gnu_cxx::__conditional_type<(sizeof(_Result_type1) > sizeof(_Result_type2)), _Result_type1, _Result_type2>::__type std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::result_type

The type of the generated random value.

Definition at line 1305 of file tr1_impl/random.

Member Function Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
result_type std::xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 >::operator() ( )
inline

Gets the next random number in the sequence.

Definition at line 1365 of file tr1_impl/random.

Friends And Related Function Documentation

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
bool operator!= ( const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > &  __lhs,
const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > &  __rhs 
)
friend

Compares two xor_combine random number generator objects of the same type for inequality.

Parameters
__lhsA xor_combine random number generator object.
__rhsAnother xor_combine random number generator object.
Returns
true if the two objects are not equal, false otherwise.

Definition at line 1399 of file tr1_impl/random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
template<class _UniformRandomNumberGenerator11 , int __s11, class _UniformRandomNumberGenerator21 , int __s21, typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &  __x 
)
friend

Inserts the current state of a xor_combine random number generator engine __x into the output stream __os.

Parameters
__osAn output stream.
__xA xor_combine random number generator engine.
Returns
The output stream with the state of __x inserted or in an error state.
template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
bool operator== ( const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > &  __lhs,
const xor_combine< _UniformRandomNumberGenerator1, __s1, _UniformRandomNumberGenerator2, __s2 > &  __rhs 
)
friend

Compares two xor_combine random number generator objects of the same type for equality.

Parameters
__lhsA xor_combine random number generator object.
__rhsAnother xor_combine random number generator object.
Returns
true if the two objects are equal, false otherwise.

Definition at line 1382 of file tr1_impl/random.

template<class _UniformRandomNumberGenerator1, int __s1, class _UniformRandomNumberGenerator2, int __s2>
template<class _UniformRandomNumberGenerator11 , int __s11, class _UniformRandomNumberGenerator21 , int __s21, typename _CharT , typename _Traits >
std::basic_istream<_CharT, _Traits>& operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
xor_combine< _UniformRandomNumberGenerator11, __s11, _UniformRandomNumberGenerator21, __s21 > &  __x 
)
friend

Extracts the current state of a xor_combine random number generator engine __x from the input stream __is.

Parameters
__isAn input stream.
__xA xor_combine random number generator engine.
Returns
The input stream with the state of __x extracted or in an error state.

The documentation for this class was generated from the following files: