|  | #pragma once
#include "common.hpp"
#include <cstdint>
namespace rack {
/** Random number generator
*/
namespace random {
/** Initializes the thread-local RNG state.
Must call per-thread, otherwise the RNG will always return 0.
*/
void init();
/** Returns a uniform random uint32_t from 0 to UINT32_MAX */
uint32_t u32();
/** Returns a uniform random uint64_t from 0 to UINT64_MAX */
uint64_t u64();
/** Returns a uniform random float in the interval [0.0, 1.0) */
float uniform();
/** Returns a normal random number with mean 0 and standard deviation 1 */
float normal();
} // namespace random
} // namespace rack
 |