This patch actually fixes the problem rather than using -fpermissive.

--- statlib.w.orig      2006-04-10 19:11:53.000000000 -0700
+++ statlib.w   2006-04-10 19:14:52.000000000 -0700
@@ -1787,7 +1787,7 @@
     double variance(void);            // Variance ($\sigma^2$)
     double varianceMLE(void)          // Variance Maximum Likelihood Estimate
     {
-        return (variance() * (size() - 1)) / size();
+        return (variance() * (this->size() - 1)) / this->size();
     }
     double stdev(void)                // Standard deviation ($\sigma$)
     {
@@ -1817,10 +1817,10 @@
     typename dataTable<T>::iterator p;
     double m = 0;
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         m += *p;
     }
-    return m / size();
+    return m / this->size();
 }
 
 @*2 Geometric mean.
@@ -1834,9 +1834,9 @@
 template <class T> double dataTable<T>::geometricMean(void)
 {
     typename dataTable<T>::iterator p;
-    double g = 1, ni = 1.0 / size();
+    double g = 1, ni = 1.0 / this->size();
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         g *= pow(*p, ni);
     }
     return g;
@@ -1855,10 +1855,10 @@
     typename dataTable<T>::iterator p;
     double d = 0;
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         d += 1.0 / (*p);
     }
-    return size() / d;
+    return this->size() / d;
 }
 
 @*2 Root mean square.
@@ -1874,10 +1874,10 @@
     typename dataTable<T>::iterator p;
     double sum = 0;
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         sum += (*p) * (*p);
     }
-    return sqrt(sum / size());
+    return sqrt(sum / this->size());
 }
 
 @*2 Median.
@@ -1998,11 +1998,11 @@
     typename dataTable<T>::iterator p;
     double mu = mean(), sum = 0;
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         double t = ((*p) - mu);
         sum += t * t;
     }
-    return sum / (size() - 1);
+    return sum / (this->size() - 1);
 }
 
 @*2 Central moments.
@@ -2020,10 +2020,10 @@
     typename dataTable<T>::iterator p;
     double mu = mean(), sum = 0;
 
-    for (p = begin(); p != end(); p++) {
+    for (p = this->begin(); p != this->end(); p++) {
         sum += pow((*p) - mu, (double) k);
     }
-    return sum / size();
+    return sum / this->size();
 }
 
 @*2 Skewness.


-- 
Karl 2006-04-20 14:37


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to