#include <randomgen.h>
Public Member Functions | |
RandomGenerator () | |
~RandomGenerator () | |
void | init (unsigned long tn) |
unsigned long | uintValue () |
float | floatValue () |
Private Member Functions | |
unsigned long | LCG (const unsigned long n) |
void | taus113_set (unsigned long s) |
unsigned long | nobuf_generateUInt () |
Private Attributes | |
unsigned long | z1 |
unsigned long | z2 |
unsigned long | z3 |
unsigned long | z4 |
unsigned long * | buf |
int | bufid |
Definition at line 50 of file randomgen.h.
lux::RandomGenerator::RandomGenerator | ( | ) | [inline] |
Definition at line 53 of file randomgen.h.
References buf, bufid, and RAN_BUFFER_AMOUNT.
lux::RandomGenerator::~RandomGenerator | ( | ) | [inline] |
Definition at line 58 of file randomgen.h.
References buf, and lux::FreeAligned().
float lux::RandomGenerator::floatValue | ( | ) | [inline] |
Definition at line 75 of file randomgen.h.
References FLOATMASK, invUI, and uintValue().
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::random::floatValueP(), lux::RandomSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::InfiniteAreaLight::Le(), lux::SingleScattering::Li(), lux::IGIIntegrator::Li(), lux::EmissionIntegrator::Li(), lux::IGIIntegrator::Preprocess(), lux::SunLight::Sample_L(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), and lux::AreaLight::Sample_L().
void lux::RandomGenerator::init | ( | unsigned long | tn | ) | [inline] |
Definition at line 60 of file randomgen.h.
References taus113_set().
Referenced by lux::random::floatValueP(), lux::Scene::Render(), lux::RenderThread::render(), and lux::random::uintValueP().
unsigned long lux::RandomGenerator::LCG | ( | const unsigned long | n | ) | [inline, private] |
Definition at line 80 of file randomgen.h.
Referenced by taus113_set().
unsigned long lux::RandomGenerator::nobuf_generateUInt | ( | ) | [inline, private] |
Definition at line 105 of file randomgen.h.
References MASK, z1, z2, z3, and z4.
Referenced by taus113_set(), and uintValue().
void lux::RandomGenerator::taus113_set | ( | unsigned long | s | ) | [inline, private] |
Definition at line 83 of file randomgen.h.
References LCG(), nobuf_generateUInt(), z1, z2, z3, and z4.
Referenced by init().
unsigned long lux::RandomGenerator::uintValue | ( | ) | [inline] |
Definition at line 64 of file randomgen.h.
References buf, bufid, nobuf_generateUInt(), and RAN_BUFFER_AMOUNT.
Referenced by floatValue(), lux::HaltonShuffleScrambled1D(), lux::HaltonShuffleScrambled2D(), lux::LDShuffleScrambled1D(), lux::LDShuffleScrambled2D(), and lux::random::uintValueP().
unsigned long* lux::RandomGenerator::buf [private] |
Definition at line 122 of file randomgen.h.
Referenced by RandomGenerator(), uintValue(), and ~RandomGenerator().
int lux::RandomGenerator::bufid [private] |
Definition at line 123 of file randomgen.h.
Referenced by RandomGenerator(), and uintValue().
unsigned long lux::RandomGenerator::z1 [private] |
Definition at line 121 of file randomgen.h.
Referenced by nobuf_generateUInt(), and taus113_set().
unsigned long lux::RandomGenerator::z2 [private] |
Definition at line 121 of file randomgen.h.
Referenced by nobuf_generateUInt(), and taus113_set().
unsigned long lux::RandomGenerator::z3 [private] |
Definition at line 121 of file randomgen.h.
Referenced by nobuf_generateUInt(), and taus113_set().
unsigned long lux::RandomGenerator::z4 [private] |
Definition at line 121 of file randomgen.h.
Referenced by nobuf_generateUInt(), and taus113_set().