JSFiddle - React, Tailwind, and code Playground
by DrPaulBrewer
HTML
<p>Terms: <input type="number" id="terms" min="1" max="2000000000" size="10"/></p>
<p><button id="go">GO</button></p>
<div id="timeDiv">Time: <span id="timeSpan"></span></div>
<div id="piDiv">Our Pi: <span id="piSpan"></span></div>
<div>Actual: <span id="actualPi"></span></div>
JavaScript
window.compute = function(){
$('#timeSpan').val('');
$('#piSpan').val('');
var t0 = +new Date();
var loopmax = parseInt($('#terms').val());
// NaN test
if (loopmax!=loopmax) return NaN;
var sum = 0.0;
var n = loopmax;
while(n){
sum += ( (1.0/(4.0*n+1.0)) - (1.0/(4.0*n-1.0)) );
n--;
}
var t1 = +new Date();
$('#piSpan').text(4.0+4.0*sum);
$('#timeSpan').text(0.001*(t1-t0));
};
$(function(){
$('#go').on('click', null, null, window.compute);
$('#actualPi').text(Math.PI);
});