8 unsigned short __rand48_seed
[3];
10 long jrand48(unsigned short xsubi
[3])
14 /* The xsubi[] array is littleendian by spec */
15 x
= (uint64_t) xsubi
[0] +
16 ((uint64_t) xsubi
[1] << 16) + ((uint64_t) xsubi
[2] << 32);
18 x
= (0x5deece66dULL
* x
) + 0xb;
20 xsubi
[0] = (unsigned short)x
;
21 xsubi
[1] = (unsigned short)(x
>> 16);
22 xsubi
[2] = (unsigned short)(x
>> 32);
24 return (long)(int32_t) (x
>> 16);
29 return jrand48(__rand48_seed
);
32 long nrand48(unsigned short xsubi
[3])
34 return (long)((uint32_t) jrand48(xsubi
) >> 1);
39 return (long)((uint32_t) mrand48() >> 1);