4 #include "base/cl_sysdep.h"
7 #include "cln/integer.h"
12 #include "base/random/cl_random_impl.h"
13 #include "integer/cl_I.h"
14 #include "base/digitseq/cl_DS.h"
18 const cl_I testrandom_I (random_state& randomstate)
20 var uint32 ran = random32(randomstate);
21 var bool negative = (ran & 1);
22 var bool algo = ((ran>>1) & 1);
24 ran = ran & ((1<<8)-1);
31 ran <= 200 ? (ran-153)/4 : // 5..11
36 num_stack_alloc_1(len,MSDptr=,);
38 { testrandom_UDS(randomstate,MSDptr,len); }
40 { random_UDS(randomstate,MSDptr,len); }
41 var cl_I x = UDS_to_I(MSDptr,len);
42 return (negative ? -x : x);