small reorg, comment purpose of functions
This commit is contained in:
parent
04070a934e
commit
36249ebf39
|
@ -28,6 +28,7 @@ uint32_t xorshift32(uint32_t* seed)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Distribution & sampling functions
|
// Distribution & sampling functions
|
||||||
|
// Unit distributions
|
||||||
float sample_unit_uniform(uint32_t* seed)
|
float sample_unit_uniform(uint32_t* seed)
|
||||||
{
|
{
|
||||||
// samples uniform from [0,1] interval.
|
// samples uniform from [0,1] interval.
|
||||||
|
@ -43,11 +44,13 @@ float sample_unit_normal(uint32_t* seed)
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Composite distributions
|
||||||
float sample_uniform(float from, float to, uint32_t* seed)
|
float sample_uniform(float from, float to, uint32_t* seed)
|
||||||
{
|
{
|
||||||
return sample_unit_uniform(seed) * (to - from) + from;
|
return sample_unit_uniform(seed) * (to - from) + from;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float sample_normal(float mean, float sigma, uint32_t* seed)
|
float sample_normal(float mean, float sigma, uint32_t* seed)
|
||||||
{
|
{
|
||||||
return (mean + sigma * sample_unit_normal(seed));
|
return (mean + sigma * sample_unit_normal(seed));
|
||||||
|
@ -60,6 +63,9 @@ float sample_lognormal(float logmean, float logsigma, uint32_t* seed)
|
||||||
|
|
||||||
float sample_to(float low, float high, uint32_t* seed)
|
float sample_to(float low, float high, uint32_t* seed)
|
||||||
{
|
{
|
||||||
|
// Given a (positive) 90% confidence interval,
|
||||||
|
// returns a sample from a lognormal
|
||||||
|
// with a matching 90% c.i.
|
||||||
const float NORMAL95CONFIDENCE = 1.6448536269514722;
|
const float NORMAL95CONFIDENCE = 1.6448536269514722;
|
||||||
float loglow = logf(low);
|
float loglow = logf(low);
|
||||||
float loghigh = logf(high);
|
float loghigh = logf(high);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user