contains rudimentary statistical functions

Revision:
0:63c55a3cd73c
diff -r 000000000000 -r 63c55a3cd73c normstat.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/normstat.cpp	Mon Feb 25 19:41:26 2013 +0000
@@ -0,0 +1,33 @@
+  #include "normstat.h"
+  
+  
+  
+
+
+double normpdf(double x, double m, double s)
+{
+
+    return (1/(s*sqrt(2*pi)))*exp(-pow((x-m),2)/(2*pow(s,2)));
+
+}
+  
+normrand::normrand(double m, double s){
+    mu = m;
+    sigma = s; 
+}
+  
+double normrand::draw()
+{
+    double r1 = (std::rand() + 1.0)/(RAND_MAX + 1.0); // gives equal distribution in (0, 1]
+    double r2 = (std::rand() + 1.0)/(RAND_MAX + 1.0);
+    return mu + sigma * std::sqrt(-2*std::log(r1))*std::cos(2*pi*r2);
+}
+
+double normrand::draw(double m, double s)
+{
+    this->mu=m;
+    this->sigma=s;
+    double r1 = (std::rand() + 1.0)/(RAND_MAX + 1.0); // gives equal distribution in (0, 1]
+    double r2 = (std::rand() + 1.0)/(RAND_MAX + 1.0);
+    return mu + sigma * std::sqrt(-2*std::log(r1))*std::cos(2*pi*r2);
+}
\ No newline at end of file