#ifndef RNG_H #define RNG_H #include "vec3.h" #include typedef struct { uint32_t state; } rng_t; rng_t rng_init(unsigned seed); uint32_t rng_uint32(rng_t *rng); double rng_canon(rng_t *rng); double rng_plusminus(rng_t *rng); vec3_t rng_vec3(rng_t *rng); vec3_t rng_xy(rng_t *rng); vec3_t rng_gaussian_xy(rng_t *rng, double stddev); #endif