| Index: fusl/src/prng/__rand48_step.c
|
| diff --git a/fusl/src/prng/__rand48_step.c b/fusl/src/prng/__rand48_step.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..961d30fc9161e48dde6fc64a9c8aa10f19f5eee5
|
| --- /dev/null
|
| +++ b/fusl/src/prng/__rand48_step.c
|
| @@ -0,0 +1,13 @@
|
| +#include <stdint.h>
|
| +
|
| +uint64_t __rand48_step(unsigned short *xi, unsigned short *lc)
|
| +{
|
| + uint64_t a, x;
|
| + x = xi[0] | xi[1]+0U<<16 | xi[2]+0ULL<<32;
|
| + a = lc[0] | lc[1]+0U<<16 | lc[2]+0ULL<<32;
|
| + x = a*x + lc[3];
|
| + xi[0] = x;
|
| + xi[1] = x>>16;
|
| + xi[2] = x>>32;
|
| + return x & 0xffffffffffffull;
|
| +}
|
|
|