Index: /trunk/psLib/test/dataManip/tst_psFunc07.c
===================================================================
--- /trunk/psLib/test/dataManip/tst_psFunc07.c	(revision 1901)
+++ /trunk/psLib/test/dataManip/tst_psFunc07.c	(revision 1902)
@@ -7,6 +7,5 @@
 XXX: figure out the memory deallocator
  
-XXX: The interpolated values are not all that good.  However, they do agree
-with the NR version of the code.
+XXX: Remove NR code.
  *****************************************************************************/
 #include <stdio.h>
@@ -17,5 +16,5 @@
 #include "psFunctions.h"
 
-#define NUM_SPLINES 4
+#define NUM_SPLINES 200
 #define A 4.0
 #define B -3.0
@@ -24,13 +23,10 @@
 #define MIN 1.0
 #define MAX 30
+#define ERROR_TOLERANCE 0.10
 
 float myFunc(float x)
 {
     return(A + x * (B + x * (C + x * (D))));
-    //    return(A + x * (B + x * (C)));
-    //    return(A + x * (B));
-    //    return(A);
 }
-
 
 /*****************************************************************************
@@ -107,6 +103,6 @@
     float NRX[NUM_SPLINES+2];
     float NRY[NUM_SPLINES+2];
-    float tmpY;
-    float derivs[NUM_SPLINES+2];
+    //    float tmpY;
+    //    float derivs[NUM_SPLINES+2];
 
     psTraceSetLevel(".", 0);
@@ -125,5 +121,5 @@
         NRX[i+1] = x->data.F32[i] = tmpSpline->domains[i];
         NRY[i+1] = y->data.F32[i] = myFunc(x->data.F32[i]);
-        printf("DATA: (x, y) is (%f, %f)\n", x->data.F32[i], y->data.F32[i]);
+        //        printf("DATA: (x, y) is (%f, %f)\n", x->data.F32[i], y->data.F32[i]);
     }
     for (i=0;i<NUM_SPLINES;i++) {
@@ -134,29 +130,29 @@
     /*   NR Code       */
     /****************************************************************************/
-    printf("========================== NR Code =========================\n");
-    spline(&NRX[0],
-           &NRY[0],
-           NUM_SPLINES+1,
-           0.0,
-           0.0,
-           &derivs[0]);
-    for (i=1;i<=NUM_SPLINES+1;i++) {
-        printf("NR: derivs[%d] is %f\n", i, derivs[i]);
-    }
-
-    for (i=1;i<=NUM_SPLINES+1;i++) {
-        printf("===================================================\n");
-        splint(&NRX[0],
+    /*
+        printf("========================== NR Code =========================\n");
+        spline(&NRX[0],
                &NRY[0],
-               &derivs[0],
                NUM_SPLINES+1,
-               newX->data.F32[i-1],
-               &tmpY);
-
-        printf("NR: p_psNRSpline1DEval(%f) is %f.  Should be %f\n",
-               newX->data.F32[i-1], tmpY, myFunc(newX->data.F32[i-1]));
-    }
-
-
+               0.0,
+               0.0,
+               &derivs[0]);
+        for (i=1;i<=NUM_SPLINES+1;i++) {
+            printf("NR: derivs[%d] is %f\n", i, derivs[i]);
+        }
+     
+        for (i=1;i<=NUM_SPLINES+1;i++) {
+            printf("===================================================\n");
+            splint(&NRX[0],
+                   &NRY[0],
+                   &derivs[0],
+                   NUM_SPLINES+1,
+                   newX->data.F32[i-1],
+                   &tmpY);
+     
+            printf("NR: p_psNRSpline1DEval(%f) is %f.  Should be %f\n",
+                    newX->data.F32[i-1], tmpY, myFunc(newX->data.F32[i-1]));
+        }
+    */
     /****************************************************************************/
     /*   psLib Code      */
@@ -164,16 +160,16 @@
     psVectorFitSpline1D(tmpSpline, x, y, NULL);
     for (i=0;i<NUM_SPLINES+1;i++) {
-        printf("psLib: derivs[%d] is %f\n", i, tmpSpline->p_psDeriv2[i]);
+        //       printf("psLib: derivs[%d] is %f\n", i, tmpSpline->p_psDeriv2[i]);
     }
     newY = psSpline1DEvalVector(newX, tmpSpline);
 
     for (i=0;i<NUM_SPLINES+1;i++) {
-        printf("===================================================\n");
-        printf("EVAL: f(%f) is %f.  Should be %f\n",
-               newX->data.F32[i], newY->data.F32[i], myFunc(newX->data.F32[i]));
-
-        tmpY = p_psNRSpline1DEval(tmpSpline, x, y, newX->data.F32[i]);
-        printf("HMMM: p_psNRSpline1DEval(%f) is %f.  Should be %f\n",
-               newX->data.F32[i], tmpY, myFunc(newX->data.F32[i]));
+        if ( fabs( newY->data.F32[i] - myFunc(newX->data.F32[i]) ) > fabs( ERROR_TOLERANCE * myFunc(newX->data.F32[i]) ) ) {
+            printf("ERROR[%d]: f(%f) is %f.  Should be %f\n", i,
+                   newX->data.F32[i], newY->data.F32[i], myFunc(newX->data.F32[i]));
+        }
+        //        tmpY = p_psNRSpline1DEval(tmpSpline, x, y, newX->data.F32[i]);
+        //        printf("HMMM: p_psNRSpline1DEval(%f) is %f.  Should be %f\n",
+        //                newX->data.F32[i], tmpY, myFunc(newX->data.F32[i]));
     }
 
