Monte Carlo methods: Difference between revisions
m
→ES6: Slight rearrangement
(→{{header|JavaScript}}: ES6) |
m (→ES6: Slight rearrangement) |
||
Line 956:
// monteCarloPi :: Int -> Float
const monteCarloPi = n =>
const rnd = Math.random;▼
// GENERIC FUNCTIONS
▲ return 4 * range(1, n)
▲ .reduce(a => {
▲ const [x, y] = [rnd(), rnd()];
▲ return x * x + y * y < 1 ? a + 1 : a;
▲ }, 0) / n;
// range :: Int -> Int -> [Int]
Line 972 ⟶ 971:
length: Math.floor(n - m) + 1
}, (_, i) => m + i);
// rnd :: () -> Float
// TEST
Line 977 ⟶ 980:
.map(_ => monteCarloPi(10000000));
// e.g. -> [3.
})();</lang>
{{Out}} (5 sample runs)
<lang JavaScript>[3.
=={{header|Julia}}==
|