random.h 536 B

12345678910111213141516171819202122232425
  1. /*
  2. * random.h
  3. *
  4. * Created on: Dec 1, 2013
  5. * Author: mmm
  6. */
  7. #ifndef RANDOM_H_
  8. #define RANDOM_H_
  9. #include <stdint.h>
  10. typedef void (*setSeedfn)(uint32_t pa_nSeed);
  11. typedef uint32_t (*getNextUInt32fn)(void);
  12. typedef struct
  13. {
  14. uint32_t nXorShiftSeed; /**< Holds the current seed/random value */
  15. setSeedfn setSeed; /**< Function pointer to setSeed function */
  16. getNextUInt32fn getNextUInt32; /**< Function pointer to getNextUInt32 function */
  17. } Random;
  18. Random* random_new(setSeedfn, getNextUInt32fn);
  19. #endif /* RANDOM_H_ */