Index: /trunk/psLib/src/dataManip/psFunctions.c
===================================================================
--- /trunk/psLib/src/dataManip/psFunctions.c	(revision 1724)
+++ /trunk/psLib/src/dataManip/psFunctions.c	(revision 1725)
@@ -7,11 +7,8 @@
  *  polynomials.  It also contains a Gaussian functions.
  *
- *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-09-08 06:24:17 $
+ *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-09-08 07:11:22 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- *  XXX: currently coefficient masks are not used in polynomial evaluation.
- *
  */
 /*****************************************************************************/
@@ -198,5 +195,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -428,6 +425,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -436,4 +435,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 float p_psChebPolynomial1DEval(float x, const psPolynomial1D* myPoly)
 {
@@ -505,6 +505,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -584,6 +586,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -681,6 +685,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
@@ -787,5 +793,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -1003,6 +1009,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -1011,4 +1019,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 double p_psDChebPolynomial1DEval(double x, const psDPolynomial1D* myPoly)
 {
@@ -1081,6 +1090,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -1159,6 +1170,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -1258,6 +1271,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
Index: /trunk/psLib/src/math/psPolynomial.c
===================================================================
--- /trunk/psLib/src/math/psPolynomial.c	(revision 1724)
+++ /trunk/psLib/src/math/psPolynomial.c	(revision 1725)
@@ -7,11 +7,8 @@
  *  polynomials.  It also contains a Gaussian functions.
  *
- *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-09-08 06:24:17 $
+ *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-09-08 07:11:22 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- *  XXX: currently coefficient masks are not used in polynomial evaluation.
- *
  */
 /*****************************************************************************/
@@ -198,5 +195,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -428,6 +425,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -436,4 +435,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 float p_psChebPolynomial1DEval(float x, const psPolynomial1D* myPoly)
 {
@@ -505,6 +505,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -584,6 +586,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -681,6 +685,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
@@ -787,5 +793,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -1003,6 +1009,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -1011,4 +1019,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 double p_psDChebPolynomial1DEval(double x, const psDPolynomial1D* myPoly)
 {
@@ -1081,6 +1090,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -1159,6 +1170,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -1258,6 +1271,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
Index: /trunk/psLib/src/math/psSpline.c
===================================================================
--- /trunk/psLib/src/math/psSpline.c	(revision 1724)
+++ /trunk/psLib/src/math/psSpline.c	(revision 1725)
@@ -7,11 +7,8 @@
  *  polynomials.  It also contains a Gaussian functions.
  *
- *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-09-08 06:24:17 $
+ *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-09-08 07:11:22 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- *  XXX: currently coefficient masks are not used in polynomial evaluation.
- *
  */
 /*****************************************************************************/
@@ -198,5 +195,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -428,6 +425,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -436,4 +435,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 float p_psChebPolynomial1DEval(float x, const psPolynomial1D* myPoly)
 {
@@ -505,6 +505,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -584,6 +586,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -681,6 +685,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
@@ -787,5 +793,5 @@
         newPoly->coeff[i] = 0.0;
         newPoly->coeffErr[i] = 0.0;
-        newPoly->mask[i] = 0.0;
+        newPoly->mask[i] = 0;
     }
 
@@ -1003,6 +1009,8 @@
 
     for (loop_x = 0; loop_x < myPoly->n; loop_x++) {
-        polySum += xSum * myPoly->coeff[loop_x];
-        xSum *= x;
+        if (myPoly->mask[loop_x] != 0) {
+            polySum += xSum * myPoly->coeff[loop_x];
+            xSum *= x;
+        }
     }
 
@@ -1011,4 +1019,5 @@
 
 // XXX: You can do this without having to psAlloc() vector d.
+// XXX: How does the mask vector effect Crenshaw's formula?
 double p_psDChebPolynomial1DEval(double x, const psDPolynomial1D* myPoly)
 {
@@ -1081,6 +1090,8 @@
         ySum = xSum;
         for (loop_y = 0; loop_y < myPoly->nY; loop_y++) {
-            polySum += ySum * myPoly->coeff[loop_x][loop_y];
-            ySum *= y;
+            if (myPoly->mask[loop_x][loop_y] != 0) {
+                polySum += ySum * myPoly->coeff[loop_x][loop_y];
+                ySum *= y;
+            }
         }
         xSum *= x;
@@ -1159,6 +1170,8 @@
             zSum = ySum;
             for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
-                zSum *= z;
+                if (myPoly->mask[loop_x][loop_y][loop_z] != 0) {
+                    polySum += zSum * myPoly->coeff[loop_x][loop_y][loop_z];
+                    zSum *= z;
+                }
             }
             ySum *= y;
@@ -1258,6 +1271,8 @@
                 zSum = ySum;
                 for (loop_z = 0; loop_z < myPoly->nZ; loop_z++) {
-                    polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
-                    zSum *= z;
+                    if (myPoly->mask[loop_w][loop_x][loop_y][loop_z] != 0) {
+                        polySum += zSum * myPoly->coeff[loop_w][loop_x][loop_y][loop_z];
+                        zSum *= z;
+                    }
                 }
                 ySum *= y;
