squiggle.c

Self-contained Monte Carlo estimation in C99
Log | Files | Refs | README

commit 015d33adca87d305784402ce89b0b75821878a5b
parent fa714f91ae0a49eefc0232513c82d9a40ebb80c1
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Wed, 27 Sep 2023 13:51:05 +0100

reword comments

Diffstat:
Msquiggle.c | 9+++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/squiggle.c b/squiggle.c @@ -22,13 +22,10 @@ // Pseudo Random number generator uint64_t xorshift32(uint32_t* seed) { - // The reader isn't expected to understand this code immediately; - // read the linked Wikipedia page! // Algorithm "xor" from p. 4 of Marsaglia, "Xorshift RNGs" // See <https://stackoverflow.com/questions/53886131/how-does-xorshift32-works> // https://en.wikipedia.org/wiki/Xorshift // Also some drama: <https://www.pcg-random.org/posts/on-vignas-pcg-critique.html>, <https://prng.di.unimi.it/> - // for floats uint64_t x = *seed; x ^= x << 13; x ^= x >> 17; @@ -38,7 +35,7 @@ uint64_t xorshift32(uint32_t* seed) uint64_t xorshift64(uint64_t* seed) { - // same as above, but for generating doubles + // same as above, but for generating doubles instead of floats uint64_t x = *seed; x ^= x << 13; x ^= x >> 7; @@ -79,7 +76,7 @@ double sample_lognormal(double logmean, double logstd, uint64_t* seed) return exp(sample_normal(logmean, logstd, seed)); } -inline double sample_normal_from_95_confidence_interval(double low, double high, uint64_t* seed) +inline double sample_normal_from_90_confidence_interval(double low, double high, uint64_t* seed) { // Explanation of key idea: // 1. We know that the 90% confidence interval of the unit normal is @@ -112,7 +109,7 @@ double sample_to(double low, double high, uint64_t* seed) // Then see code for sample_normal_from_95_confidence_interval double loglow = logf(low); double loghigh = logf(high); - return exp(sample_normal_from_95_confidence_interval(loglow, loghigh, seed)); + return exp(sample_normal_from_90_confidence_interval(loglow, loghigh, seed)); } double sample_gamma(double alpha, uint64_t* seed)