Object | +---DMRnd
The DMRnd class implements a pseudo random generator bases on the Mersenne Twister pseudo random generator. It is not only very fast, but it also passes the Marsaglia's 'Diehard' statistical tests and it has a very long period of 2^19937 - 1.
#include <stdio.h> #include "ofc/DMRnd.h" int main(int argc, char *argv[]) { DMRnd *rnd1 = [DMRnd alloc]; DMRnd *rnd2 = [DMRnd new ]; [rnd1 init :12345678]; // Init with a seed value // Get pseudo random values printf("Pseudo random long value:%ld.\n", [rnd1 nextLong]); printf("Pseudo random int value with range [1,100]:%d.\n", [rnd1 nextInt :1 :100]); [rnd2 seed :87654321]; // Set a seed value // Get pseudo random values printf("Pseudo random double value:%f.\n", [rnd2 nextDouble]); printf("Pseudo random double value with range [0.1,0.3]:%f.\n", [rnd2 nextDouble :0.1 :0.3]); [rnd1 free]; // Cleanup [rnd2 free]; return 0; }