Index: trunk/psLib/src/dataManip/psFunctions.c
===================================================================
--- trunk/psLib/src/dataManip/psFunctions.c	(revision 1022)
+++ trunk/psLib/src/dataManip/psFunctions.c	(revision 1073)
@@ -7,6 +7,6 @@
  *  polynomials.  It also contains a Gaussian functions.
  *
- *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-06-14 19:40:14 $
+ *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-06-23 23:00:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -34,4 +34,14 @@
 #include <gsl/gsl_rng.h>
 #include <gsl/gsl_randist.h>
+
+static void polynomial1DFree(psPolynomial1D *myPoly);
+static void polynomial2DFree(psPolynomial2D *myPoly);
+static void polynomial3DFree(psPolynomial3D *myPoly);
+static void polynomial4DFree(psPolynomial4D *myPoly);
+static void dPolynomial1DFree(psDPolynomial1D *myPoly);
+static void dPolynomial2DFree(psDPolynomial2D *myPoly);
+static void dPolynomial3DFree(psDPolynomial3D *myPoly);
+static void dPolynomial4DFree(psDPolynomial4D *myPoly);
+
 /*****************************************************************************/
 /*  FUNCTION IMPLEMENTATION - PUBLIC                                         */
@@ -108,4 +118,5 @@
 
     newPoly = (psPolynomial1D *) psAlloc(sizeof(psPolynomial1D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)polynomial1DFree);
     newPoly->n = n;
     newPoly->coeff    = (float *) psAlloc(n * sizeof(float));
@@ -128,4 +139,5 @@
 
     newPoly = (psPolynomial2D *) psAlloc(sizeof(psPolynomial2D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)polynomial2DFree);
     newPoly->nX = nX;
     newPoly->nY = nY;
@@ -158,4 +170,5 @@
 
     newPoly = (psPolynomial3D *) psAlloc(sizeof(psPolynomial3D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)polynomial3DFree);
     newPoly->nX = nX;
     newPoly->nY = nY;
@@ -197,4 +210,5 @@
 
     newPoly = (psPolynomial4D *) psAlloc(sizeof(psPolynomial4D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)polynomial4DFree);
     newPoly->nW = nW;
     newPoly->nX = nX;
@@ -235,13 +249,12 @@
 }
 
-void psPolynomial1DFree(psPolynomial1D *myPoly)
+static void polynomial1DFree(psPolynomial1D *myPoly)
 {
     psFree(myPoly->coeff);
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
-}
-
-void psPolynomial2DFree(psPolynomial2D *myPoly)
+}
+
+static void polynomial2DFree(psPolynomial2D *myPoly)
 {
     int x = 0;
@@ -255,9 +268,7 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-
-    psFree(myPoly);
-}
-
-void psPolynomial3DFree(psPolynomial3D *myPoly)
+}
+
+static void polynomial3DFree(psPolynomial3D *myPoly)
 {
     int x = 0;
@@ -278,8 +289,7 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
-}
-
-void psPolynomial4DFree(psPolynomial4D *myPoly)
+}
+
+static void polynomial4DFree(psPolynomial4D *myPoly)
 {
     int w = 0;
@@ -306,5 +316,4 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
 }
 
@@ -434,4 +443,5 @@
 
     newPoly = (psDPolynomial1D *) psAlloc(sizeof(psDPolynomial1D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)dPolynomial1DFree);
     newPoly->n = n;
     newPoly->coeff    = (double *) psAlloc(n * sizeof(double));
@@ -454,4 +464,5 @@
 
     newPoly = (psDPolynomial2D *) psAlloc(sizeof(psDPolynomial2D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)dPolynomial2DFree);
     newPoly->nX = nX;
     newPoly->nY = nY;
@@ -484,4 +495,5 @@
 
     newPoly = (psDPolynomial3D *) psAlloc(sizeof(psDPolynomial3D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)dPolynomial3DFree);
     newPoly->nX = nX;
     newPoly->nY = nY;
@@ -523,4 +535,5 @@
 
     newPoly = (psDPolynomial4D *) psAlloc(sizeof(psDPolynomial4D));
+    p_psMemSetDeallocator(newPoly,(psFreeFcn)dPolynomial4DFree);
     newPoly->nW = nW;
     newPoly->nX = nX;
@@ -561,13 +574,12 @@
 }
 
-void psDPolynomial1DFree(psDPolynomial1D *myPoly)
+static void dPolynomial1DFree(psDPolynomial1D *myPoly)
 {
     psFree(myPoly->coeff);
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
-}
-
-void psDPolynomial2DFree(psDPolynomial2D *myPoly)
+}
+
+static void dPolynomial2DFree(psDPolynomial2D *myPoly)
 {
     int x = 0;
@@ -581,9 +593,7 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-
-    psFree(myPoly);
-}
-
-void psDPolynomial3DFree(psDPolynomial3D *myPoly)
+}
+
+static void dPolynomial3DFree(psDPolynomial3D *myPoly)
 {
     int x = 0;
@@ -604,8 +614,7 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
-}
-
-void psDPolynomial4DFree(psDPolynomial4D *myPoly)
+}
+
+static void dPolynomial4DFree(psDPolynomial4D *myPoly)
 {
     int w = 0;
@@ -632,5 +641,4 @@
     psFree(myPoly->coeffErr);
     psFree(myPoly->mask);
-    psFree(myPoly);
 }
 
