Sha256: 2591e5aae094ff1195de2c3b437863ce70301dc1f6315260f4564f1f9d331b1c
Contents?: true
Size: 683 Bytes
Versions: 31
Compression:
Stored size: 683 Bytes
Contents
'use strict' /* A simple π estimation function using a Monte Carlo method * For 0 to `points`, take 2 random numbers < 1, square and add them to * find the area under that point in a 1x1 square. If that area is <= 1 * then it's *within* a quarter-circle, otherwise it's outside. * Take the number of points <= 1 and multiply it by 4 and you have an * estimate! * Do this across multiple processes and average the results to * increase accuracy. */ module.exports = function (points, callback) { let inside = 0 , i = points while (i--) if (Math.pow(Math.random(), 2) + Math.pow(Math.random(), 2) <= 1) inside++ callback(null, (inside / points) * 4) }
Version data entries
31 entries across 30 versions & 10 rubygems