Index: trunk/psLib/src/math/psMinimizePowell.c
===================================================================
--- trunk/psLib/src/math/psMinimizePowell.c	(revision 10255)
+++ trunk/psLib/src/math/psMinimizePowell.c	(revision 10904)
@@ -11,6 +11,6 @@
  *  NOTE: XXX: The SDR is silent about data types.  F32 is implemented here.
  *
- *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-29 02:33:54 $
+ *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-01-04 23:50:08 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -522,11 +522,6 @@
 
     if (paramMask == NULL) {
-        myParamMask = psVectorRecycle(myParamMask, params->n, PS_TYPE_U8);
-        p_psMemSetPersistent(myParamMask, true);
-        p_psMemSetPersistent(myParamMask->data.U8, true);
-        for (i=0;i<myParamMask->nalloc;i++) {
-            myParamMask->data.U8[i] = 0;
-            myParamMask->n++;
-        }
+        myParamMask = psVectorAlloc(params->n, PS_TYPE_U8);
+        psVectorInit(myParamMask, 0);
     } else {
         myParamMask = (psVector *) paramMask;
@@ -584,4 +579,5 @@
                     psFree(u);
                     psFree(Q);
+                    psFree(myParamMask);
                     return(false);
                 }
@@ -629,4 +625,5 @@
             psFree(u);
             psFree(Q);
+            psFree(myParamMask);
             return(false);
         }
@@ -642,4 +639,5 @@
             min->lastDelta = 0.0;
             psTrace("psLib.math", 4, "---- psMinimizePowell() end (1)(true) ----\n");
+            psFree(myParamMask);
             return(true);
         }
@@ -684,4 +682,5 @@
             min->lastDelta = currFuncVal - baseFuncVal;
             psTrace("psLib.math", 4, "---- psMinimizePowell() end (2) (true) ----\n");
+            psFree(myParamMask);
             return(true);
         }
@@ -694,4 +693,6 @@
     min->iter = iterationNumber;
     psTrace("psLib.math", 4, "---- psMinimizePowell() end (0) (false) ----\n");
+
+    psFree(myParamMask);
     return(false);
 }
