7 #include "cl_integer.h"
12 #include "cl_random_impl.h"
16 const cl_I testrandom_I (cl_random_state& randomstate)
18 var uint32 ran = random32(randomstate);
19 var cl_boolean negative = (cl_boolean)(ran & 1);
20 var cl_boolean algo = (cl_boolean)((ran>>1) & 1);
22 ran = ran & ((1<<8)-1);
29 ran <= 200 ? (ran-153)/4 : // 5..11
34 num_stack_alloc_1(len,MSDptr=,);
36 { testrandom_UDS(randomstate,MSDptr,len); }
38 { random_UDS(randomstate,MSDptr,len); }
39 var cl_I x = UDS_to_I(MSDptr,len);
40 return (negative ? -x : x);