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