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);
});