forked from personal/squiggle.c
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
|
||||
// Unit distributions
|
||||
float sample_unit_uniform(uint32_t* seed)
|
||||
{
|
||||
// samples uniform from [0,1] interval.
|
||||
|
@ -43,11 +44,13 @@ float sample_unit_normal(uint32_t* seed)
|
|||
return z;
|
||||
}
|
||||
|
||||
// Composite distributions
|
||||
float sample_uniform(float from, float to, uint32_t* seed)
|
||||
{
|
||||
return sample_unit_uniform(seed) * (to - from) + from;
|
||||
}
|
||||
|
||||
|
||||
float sample_normal(float mean, float sigma, uint32_t* 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)
|
||||
{
|
||||
// Given a (positive) 90% confidence interval,
|
||||
// returns a sample from a lognormal
|
||||
// with a matching 90% c.i.
|
||||
const float NORMAL95CONFIDENCE = 1.6448536269514722;
|
||||
float loglow = logf(low);
|
||||
float loghigh = logf(high);
|
||||
|
|
Loading…
Reference in New Issue
Block a user