Anonymous user
Pseudo-random numbers/Splitmix64: Difference between revisions
m
Jasmin
m (→{{header|F#}}: Corrected header as suggested on the Count examples/Full list/Tier 4 talk page) |
m (Jasmin) |
||
Line 539:
λ> hist . take 100000 $ (floor . (*5) . toFloat) <$> (randoms 987654321)
[20027,19892,20073,19978,20030]</pre>
=={{header|Jasmin}}==
<lang>u64 c1 = 0x9e3779b97f4a7c15;
u64 c2 = 0xbf58476d1ce4e5b9;
u64 c3 = 0x94d049bb133111eb;
inline
fn next_int(reg u64 state) -> reg u64 {
reg u64 z a;
z = [state];
z += c1;
[state] = z;
a = z;
a >>= 30;
z ^= a;
z *= c2;
a = z;
a >>= 27;
z ^= a;
z *= c3;
a = z;
a >>= 31;
z ^= a;
return z;
}
inline
fn test() -> reg u64[5] {
reg u64 seed;
seed = 0x1000;
[seed] = 1234567;
inline int i;
reg u64[5] result;
for i = 0 to 5 {
result[i] = next_int(seed);
}
return result;
}
exec test(0x1000:8)</lang>
=={{header|Julia}}==
|