1 // Digit sequence level random number generator.
7 #include "cl_random_impl.h"
12 #include "cl_random.h"
16 void random_UDS (cl_random_state& randomstate, uintD* ptr, uintC len)
21 { mspref(ptr,0) = random64(randomstate); ptr = ptr mspop 1; });
22 #else // (intDsize<=32)
23 dotimesC(count,floor(len,32/intDsize),
24 { var uint32 next = random32(randomstate); // weitere 32/intDsize Digits besorgen
25 set_32_Dptr(ptr,next); ptr = ptr mspop 32/intDsize;
27 len = len % (32/intDsize); // Anzahl noch fehlender Digits
29 { var uint32 next = random32(randomstate); // weitere 32/intDsize Digits besorgen
30 set_max32_Dptr(intDsize*len,ptr,next);