Index: trunk/psLib/src/math/psSpline.c
===================================================================
--- trunk/psLib/src/math/psSpline.c	(revision 3384)
+++ trunk/psLib/src/math/psSpline.c	(revision 3397)
@@ -7,6 +7,6 @@
  *  polynomials.  It also contains a Gaussian functions.
  *
- *  @version $Revision: 1.92 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-03-08 02:27:47 $
+ *  @version $Revision: 1.93 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-03-10 01:11:12 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -1313,11 +1313,7 @@
 
     psVector *tmp;
-    psVector *myX;
-    psVector *myY;
-    psVector *myZ;
-    psS32 i;
     psS32 vecLen=x->n;
 
-    vecLen=x->n;
+    // Determine the length of output vector from min of the input vectors
     if (y->n < vecLen) {
         vecLen = y->n;
@@ -1327,22 +1323,16 @@
     }
 
+    // Allocate output vector
     tmp = psVectorAlloc(vecLen, PS_TYPE_F32);
-    for (i=0;i<vecLen;i++) {
+
+    // Evaluate polynomial
+    for (psS32 i = 0; i < vecLen; i++) {
         tmp->data.F32[i] = psPolynomial3DEval(myPoly,
-                                              myX->data.F32[i],
-                                              myY->data.F32[i],
-                                              myZ->data.F32[i]);
-
-    }
-
-    if (x->type.type != PS_TYPE_F32) {
-        psFree(myX);
-    }
-    if (y->type.type != PS_TYPE_F32) {
-        psFree(myY);
-    }
-    if (z->type.type != PS_TYPE_F32) {
-        psFree(myZ);
-    }
+                                              x->data.F32[i],
+                                              y->data.F32[i],
+                                              z->data.F32[i]);
+    }
+
+    // Return output vector
     return(tmp);
 }
@@ -1381,12 +1371,7 @@
 
     psVector *tmp;
-    psVector *myW;
-    psVector *myX;
-    psVector *myY;
-    psVector *myZ;
-    psS32 i;
-    psS32 vecLen=x->n;
-
-    vecLen=w->n;
+    psS32 vecLen=w->n;
+
+    // Determine output vector size from min of input vectors
     if (y->n < vecLen) {
         vecLen = y->n;
@@ -1399,26 +1384,17 @@
     }
 
+    // Allocate output vector
     tmp = psVectorAlloc(vecLen, PS_TYPE_F32);
-    for (i=0;i<vecLen;i++) {
+
+    // Evaluate polynomial
+    for (psS32 i = 0; i < vecLen; i++) {
         tmp->data.F32[i] = psPolynomial4DEval(myPoly,
-                                              myW->data.F32[i],
-                                              myX->data.F32[i],
-                                              myY->data.F32[i],
-                                              myZ->data.F32[i]);
-
-    }
-
-    if (w->type.type != PS_TYPE_F32) {
-        psFree(myW);
-    }
-    if (x->type.type != PS_TYPE_F32) {
-        psFree(myX);
-    }
-    if (y->type.type != PS_TYPE_F32) {
-        psFree(myY);
-    }
-    if (z->type.type != PS_TYPE_F32) {
-        psFree(myZ);
-    }
+                                              w->data.F32[i],
+                                              x->data.F32[i],
+                                              y->data.F32[i],
+                                              z->data.F32[i]);
+    }
+
+    // Return output vector
     return(tmp);
 }
@@ -1708,11 +1684,7 @@
 
     psVector *tmp;
-    psVector *myX;
-    psVector *myY;
-    psVector *myZ;
-    psS32 i;
     psS32 vecLen=x->n;
 
-    vecLen=x->n;
+    // Determine the size of output vector from min of input vectors
     if (y->n < vecLen) {
         vecLen = y->n;
@@ -1722,22 +1694,16 @@
     }
 
+    // Allocate output vector
     tmp = psVectorAlloc(vecLen, PS_TYPE_F64);
-    for (i=0;i<vecLen;i++) {
+
+    // Evaluate polynomial
+    for (psS32 i = 0; i < vecLen; i++) {
         tmp->data.F64[i] = psDPolynomial3DEval(myPoly,
-                                               myX->data.F64[i],
-                                               myY->data.F64[i],
-                                               myZ->data.F64[i]);
-
-    }
-
-    if (x->type.type != PS_TYPE_F64) {
-        psFree(myX);
-    }
-    if (y->type.type != PS_TYPE_F64) {
-        psFree(myY);
-    }
-    if (z->type.type != PS_TYPE_F64) {
-        psFree(myZ);
-    }
+                                               x->data.F64[i],
+                                               y->data.F64[i],
+                                               z->data.F64[i]);
+    }
+
+    // Return output vector
     return(tmp);
 }
