Index: /trunk/psLib/src/dataManip/psStats.c
===================================================================
--- /trunk/psLib/src/dataManip/psStats.c	(revision 3500)
+++ /trunk/psLib/src/dataManip/psStats.c	(revision 3501)
@@ -9,6 +9,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-03-05 21:53:03 $
+ *  @version $Revision: 1.120 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-03-24 23:56:18 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -212,4 +212,5 @@
     } else {
         psF32 errorDivisor = 0.0;
+        psF32 errorSqr = 0.0;
         if (stats->options & PS_STAT_USE_RANGE) {
             if (maskVector != NULL) {
@@ -219,6 +220,7 @@
                             (stats->min <= myVector->data.F32[i]) &&
                             (myVector->data.F32[i] <= stats->max)) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -234,6 +236,7 @@
                     if ((stats->min <= myVector->data.F32[i]) &&
                             (myVector->data.F32[i] <= stats->max)) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -249,6 +252,7 @@
                 for (i = 0; i < myVector->n; i++) {
                     if (!(maskVal & maskVector->data.U8[i])) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -261,6 +265,7 @@
             } else {
                 for (i = 0; i < myVector->n; i++) {
-                    mean += myVector->data.F32[i]/errors->data.F32[i];
-                    errorDivisor+= (1.0 / errors->data.F32[i]);
+                    errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                    mean += myVector->data.F32[i]/errorSqr;
+                    errorDivisor+= (1.0 / errorSqr);
                 }
                 mean /= errorDivisor;
Index: /trunk/psLib/src/math/psStats.c
===================================================================
--- /trunk/psLib/src/math/psStats.c	(revision 3500)
+++ /trunk/psLib/src/math/psStats.c	(revision 3501)
@@ -9,6 +9,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-03-05 21:53:03 $
+ *  @version $Revision: 1.120 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-03-24 23:56:18 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -212,4 +212,5 @@
     } else {
         psF32 errorDivisor = 0.0;
+        psF32 errorSqr = 0.0;
         if (stats->options & PS_STAT_USE_RANGE) {
             if (maskVector != NULL) {
@@ -219,6 +220,7 @@
                             (stats->min <= myVector->data.F32[i]) &&
                             (myVector->data.F32[i] <= stats->max)) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -234,6 +236,7 @@
                     if ((stats->min <= myVector->data.F32[i]) &&
                             (myVector->data.F32[i] <= stats->max)) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -249,6 +252,7 @@
                 for (i = 0; i < myVector->n; i++) {
                     if (!(maskVal & maskVector->data.U8[i])) {
-                        mean += myVector->data.F32[i]/errors->data.F32[i];
-                        errorDivisor+= (1.0 / errors->data.F32[i]);
+                        errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                        mean += myVector->data.F32[i]/errorSqr;
+                        errorDivisor+= (1.0 / errorSqr);
                         count++;
                     }
@@ -261,6 +265,7 @@
             } else {
                 for (i = 0; i < myVector->n; i++) {
-                    mean += myVector->data.F32[i]/errors->data.F32[i];
-                    errorDivisor+= (1.0 / errors->data.F32[i]);
+                    errorSqr = errors->data.F32[i]*errors->data.F32[i];
+                    mean += myVector->data.F32[i]/errorSqr;
+                    errorDivisor+= (1.0 / errorSqr);
                 }
                 mean /= errorDivisor;
