#include "Random.h" /** Estimate Pi by approximating the area of a circle. How: generate N random numbers in the unit square, (0,0) to (1,1) and see how are within a radius of 1 or less, i.e.
  

 sqrt(x^2 + y^2) < r

 
since the radius is 1.0, we can square both sides and avoid a sqrt() computation:

    x^2 + y^2 <= 1.0

  
this area under the curve is (Pi * r^2)/ 4.0, and the area of the unit of square is 1.0, so Pi can be approximated by
                # points with x^2+y^2 < 1
     Pi =~      --------------------------  * 4.0
                     total # points

  
*/ static const int SEED = 113; double MonteCarlo_num_flops(int Num_samples) { /* 3 flops in x^2+y^2 and 1 flop in random routine */ return ((double) Num_samples)* 4.0; } double MonteCarlo_integrate(int Num_samples) { Random R = new_Random_seed(SEED); int under_curve = 0; int count; for (count=0; count