]>
git.bts.cx Git - benzene.git/blob - src/bz/math/random.h
   1 #ifndef BZ_MATH_RANDOM_H 
   2 #define BZ_MATH_RANDOM_H 
   4 #include <bz/types/common.h> 
  10 extern float bzRandomFloat(float max
); 
  11 extern float bzRandomFloatRange(float v1
, float v2
); 
  12 extern uint32_t bzRandomInteger(uint32_t max
); 
  13 extern int32_t bzRandomIntegerRange(int32_t v1
, int32_t v2
); 
  14 extern void *bzRandomArrayValue(size_t count
, size_t arrayTypeSize
, void *array
); 
  15 //extern void *bzRandomArrayValue(pcg32_random_t *rng, size_t count, size_t arrayTypeSize, void *array); 
  17 extern void bzRandomReseed(uint64_t seed
); 
  19 #define bzRandom(T, ...) (*((T *)bzRandomArrayValue(sizeof((T[]){__VA_ARGS__})/sizeof(T), sizeof(T), (T[]){__VA_ARGS__})))