D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
worker-farm
/
examples
/
pi
/
Filename :
calc.js
back
Copy
'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) }