Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::math::TUrbg32x2< URBG1, URBG2 > Class Template Referencefinal

Combining two 32-bit RNGs to form a new 64-bit RNG. If any of the input RNG is not a 32-bit type, this generator will treat it as a 32-bit RNG (e.g., by converting its generated bits to 32-bit). More...

#include <TUrbg32x2.h>

Inheritance diagram for ph::math::TUrbg32x2< URBG1, URBG2 >:
ph::math::TUniformRandomBitGenerator< TUrbg32x2< URBG1, URBG1 >, uint64 >

Public Member Functions

 PH_DEFINE_INLINE_RULE_OF_5_MEMBERS (TUrbg32x2)
 
 TUrbg32x2 (URBG1 urbg1, URBG2 urbg2)
 
uint64 impl_generate ()
 
void impl_jumpAhead (uint64 distance)
 
- Public Member Functions inherited from ph::math::TUniformRandomBitGenerator< TUrbg32x2< URBG1, URBG1 >, uint64 >
uint64 generate ()
 
TargetBits generate ()
 
TargetSample generateSample ()
 
void jumpAhead (uint64 distance)
 

Additional Inherited Members

- Public Types inherited from ph::math::TUniformRandomBitGenerator< TUrbg32x2< URBG1, URBG1 >, uint64 >
using BitsType
 
- Protected Member Functions inherited from ph::math::TUniformRandomBitGenerator< TUrbg32x2< URBG1, URBG1 >, uint64 >
 PH_DEFINE_INLINE_RULE_OF_5_MEMBERS (TUniformRandomBitGenerator)
 

Detailed Description

template<CURBG URBG1, CURBG URBG2 = URBG1>
class ph::math::TUrbg32x2< URBG1, URBG2 >

Combining two 32-bit RNGs to form a new 64-bit RNG. If any of the input RNG is not a 32-bit type, this generator will treat it as a 32-bit RNG (e.g., by converting its generated bits to 32-bit).

Constructor & Destructor Documentation

◆ TUrbg32x2()

template<CURBG URBG1, CURBG URBG2>
ph::math::TUrbg32x2< URBG1, URBG2 >::TUrbg32x2 ( URBG1 urbg1,
URBG2 urbg2 )
inline

Member Function Documentation

◆ impl_generate()

template<CURBG URBG1, CURBG URBG2>
uint64 ph::math::TUrbg32x2< URBG1, URBG2 >::impl_generate ( )
inline

◆ impl_jumpAhead()

template<CURBG URBG1, CURBG URBG2>
void ph::math::TUrbg32x2< URBG1, URBG2 >::impl_jumpAhead ( uint64 distance)
inline

◆ PH_DEFINE_INLINE_RULE_OF_5_MEMBERS()

template<CURBG URBG1, CURBG URBG2 = URBG1>
ph::math::TUrbg32x2< URBG1, URBG2 >::PH_DEFINE_INLINE_RULE_OF_5_MEMBERS ( TUrbg32x2< URBG1, URBG2 > )

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