Index: /trunk/psLib/src/dataManip/psConstants.h
===================================================================
--- /trunk/psLib/src/dataManip/psConstants.h	(revision 1963)
+++ /trunk/psLib/src/dataManip/psConstants.h	(revision 1964)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -88,26 +88,14 @@
 p_psMemSetPersistent(NAME->data.V, true); \
 
+
+
+
+
+
 /** Preprocessor macro to generate error on an incorrect type */
-#define PS_CHECK_VECTOR_TYPE(NAME, TYPE) \
+#define PS_CHECK_VECTOR_TYPE_RETURN_NULL(NAME, TYPE) \
 if (NAME->type.type != TYPE) { \
     psError(__func__,"Unallowable operation: %s has incorrect type.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL vector */
-#define PS_CHECK_NULL_VECTOR(NAME) \
-if (NAME == NULL || NAME->data.V == NULL) { \
-    psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL vector */
-#define PS_CHECK_NULL_VECTOR_ACTION(NAME, ACTION) \
-if (NAME == NULL || NAME->data.V == NULL) { \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__, "Unallowable operation: %s or its data is NULL.", #NAME); \
-    } \
+    return(NULL); \
 }
 
@@ -120,32 +108,8 @@
 
 /** Preprocessor macro to generate error on a NULL poniter */
-#define PS_CHECK_NULL_PTR(NAME) \
-if (NAME == NULL) { \
-    psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL poniter */
 #define PS_CHECK_NULL_PTR_RETURN_NULL(NAME) \
 if (NAME == NULL) { \
     psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \
     return(NULL); \
-}
-
-/** Preprocessor macro to generate error for zero length vector */
-#define PS_CHECK_EMPTY_VECTOR(NAME) \
-if (NAME->n < 1) { \
-    psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-}
-
-/** Preprocessor macro to generate error for zero length vector */
-#define PS_CHECK_EMPTY_VECTOR_ACTION(NAME, ACTION) \
-if (NAME->n < 1) { \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-    } \
 }
 
@@ -158,7 +122,8 @@
 
 /** Preprocessor macro to generate error on differing size vectors */
-#define PS_CHECK_VECTOR_SIZE_EQUAL(VEC1, VEC2) \
+#define PS_CHECK_VECTOR_SIZE_EQUAL_RETURN_NULL(VEC1, VEC2) \
 if (VEC1->n != VEC2->n) { \
     psError(__func__,"Vector %s has size %d, Vector %s has size %d.", #VEC1, VEC1->n, #VEC2, VEC2->n); \
+    return(NULL); \
 }
 
@@ -171,32 +136,16 @@
 
 /** Preprocessor macro to generate error on a NULL image */
-#define PS_CHECK_NULL_IMAGE(NAME)                                                           \
+#define PS_CHECK_NULL_IMAGE_RETURN_NULL(NAME) \
 if (NAME == NULL || NAME->data.V == NULL) {                                                         \
     psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME);                          \
+    return(NULL); \
 }
 
 /** Preprocessor macro to generate error for zero length rows or columns */
-#define PS_CHECK_EMPTY_IMAGE(NAME)                                                           \
+#define PS_CHECK_EMPTY_IMAGE_RETURN_NULL(NAME) \
 if (NAME->numCols < 1 || NAME->numRows < 1) {                                                       \
     psError(__func__,"Unallowable operation: %s has zero rows or columns (%dx%d).", #NAME,              \
             NAME->numCols, NAME->numRows);                                                          \
-}
-
-/** Preprocessor macro to generate error on a NULL 1DPolynomial */
-#define PS_CHECK_NULL_1DPOLY(NAME)                                                          \
-if (NAME == NULL || NAME->coeff == NULL) {                                                         \
-    psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME);                          \
-}
-
-/** Preprocessor macro to generate error on a NULL 1DPolynomial */
-#define PS_CHECK_NULL_1DPOLY_ACTION(NAME, ACTION)                                                          \
-if (NAME == NULL || NAME->coeff == NULL) {                                                         \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME);                          \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME);                          \
-    } \
+    return(NULL); \
 }
 
@@ -206,4 +155,8 @@
     return(NULL); \
 } \
+
+
+
+
 
 #define PS_PRINT_VECTOR(NAME) \
@@ -216,6 +169,13 @@
 psVector *X32 = psVectorAlloc(X64->n, PS_TYPE_F32); \
 for (int i=0;i<X64->n;i++) { \
-    X32->data.F32[i] = X64->data.F64[i]; \
+    X32->data.F32[i] = (float) X64->data.F64[i]; \
 } \
+
+#define PS_VECTOR_F32_TO_F64(X32, X64) \
+psVector *X64 = psVectorAlloc(X32->n, PS_TYPE_F64); \
+for (int i=0;i<X32->n;i++) { \
+    X64->data.F64[i] = (float) X32->data.F32[i]; \
+} \
+
 
 #define PS_MAX(A, B) \
Index: /trunk/psLib/src/dataManip/psMinimize.c
===================================================================
--- /trunk/psLib/src/dataManip/psMinimize.c	(revision 1963)
+++ /trunk/psLib/src/dataManip/psMinimize.c	(revision 1964)
@@ -9,6 +9,6 @@
  *  @author George Gusciora, MHPCC
  *
- *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -80,23 +80,4 @@
 }
 
-/******************************************************************************
-VectorNormalizeGen(): this routine returns a psVector with "x" elements.  The
-values of the vector will be scaled uniformly between -1.0 and 1.0.
- 
-XXX: use a static vector.
-*****************************************************************************/
-psVector* VectorNormalizeGen(int x)
-{
-    int i = 0;
-    psVector *tmp = NULL;
-
-    tmp = psVectorAlloc(x, PS_TYPE_F32);
-    for (i = 0; i < x; i++) {
-        tmp->data.F32[i] = (((float)2 * i) / ((float)x)) - 1.0;
-    }
-
-    return (tmp);
-}
-
 /*****************************************************************************
 CalculateSecondDerivs(): Given a set of x/y vectors corresponding to a
@@ -107,6 +88,10 @@
 here defined to be 0.0.  They can be modified via ypo and yp1.
  
+This routine assumes that vectors x and y are of the appropriate types/sizes
+(F32).
+ 
 XXX: This algorithm is derived from the Numerical Recipes.
-XXX: use recyvled vectors for internal data.
+XXX: use recycled vectors for internal data.
+XXX: do an F64 version?
  *****************************************************************************/
 float *CalculateSecondDerivs(const psVector* restrict x,        ///< Ordinates (or NULL to just use the indices)
@@ -179,4 +164,7 @@
 evalSpline() which computes the interpolated value based on the cubic spline
 polynomials which are stored in psSpline1D.
+ 
+XXX: check types/sizes
+XXX: This is F32 only
  *****************************************************************************/
 float p_psNRSpline1DEval(psSpline1D *spline,
@@ -236,12 +224,7 @@
  
 XXX: usage of yErr is not specified in IfA documentation.
-XXX: Must do: if yErr==NULL, set all errors equal.
- 
 XXX: Is the x argument redundant?  What do we do if the x argument is
- supplied, but does not equal the domains specified in mySpline?
- 
+supplied, but does not equal the domains specified in mySpline?
 XXX: can psSpline be NULL?
- 
-XXX: Implemented in F32 only, must add F64.
  *****************************************************************************/
 psSpline1D *psVectorFitSpline1D(psSpline1D *mySpline,              ///< The spline which will be generated.
@@ -655,9 +638,7 @@
 coefficients of that polynomial.
  
-XXX: 
-yErr is currently ignored.
- 
-XXX: 
-Use private name?
+XXX: yErr is currently ignored.
+ 
+XXX: Use private name?
 *****************************************************************************/
 psPolynomial1D *p_psVectorFitPolynomial1DCheby(psPolynomial1D* myPoly,
@@ -737,4 +718,5 @@
  
 XXX: Use private name?
+XXX: Use recycled vectors.
  *****************************************************************************/
 psPolynomial1D* p_psVectorFitPolynomial1DOrd(psPolynomial1D* myPoly,
@@ -761,14 +743,4 @@
     // printf("(x, y, yErr) is (%f, %f, %f)\n", x->data.F64[i], y->data.F64[i], yErr->data.F64[i]);
     // }
-
-    // XXX: Some of these are redundant.
-    PS_CHECK_NULL_1DPOLY(myPoly);
-    PS_CHECK_NULL_VECTOR(y);
-    PS_CHECK_EMPTY_VECTOR(y);
-    PS_CHECK_EMPTY_VECTOR(x);
-    PS_CHECK_NULL_VECTOR(yErr);
-    PS_CHECK_EMPTY_VECTOR(yErr);
-    PS_CHECK_VECTOR_SIZE_EQUAL(x, y);
-    PS_CHECK_VECTOR_SIZE_EQUAL(y, yErr);
 
     A = psImageAlloc(polyOrder, polyOrder, PS_TYPE_F64);
@@ -949,4 +921,6 @@
 increases, or x is too large.  If thst does not work, expand in the other
 direction.
+ 
+XXX: This is F32 only
  *****************************************************************************/
 psVector *p_psDetermineBracket(psVector *params,
@@ -1128,4 +1102,5 @@
 XXX: This routine is not very efficient in terms of total evaluations of the
 function.
+XXX: This is F32 only
  *****************************************************************************/
 float p_psLineMin(psMinimization *min,
@@ -1501,4 +1476,5 @@
 This functions uses global variables to receive the function pointer, the
 data values, and the data errors.
+XXX: This is F32 only
  *****************************************************************************/
 float myPowellChi2Func(const psVector *params,
Index: /trunk/psLib/src/dataManip/psStats.c
===================================================================
--- /trunk/psLib/src/dataManip/psStats.c	(revision 1963)
+++ /trunk/psLib/src/dataManip/psStats.c	(revision 1964)
@@ -9,6 +9,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.64 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.65 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -1855,10 +1855,8 @@
         psAbort(__func__, "psVectorStats() called with range: %f to %f\n", stats->min, stats->max);
     }
-    // PS_CHECK_VECTOR_TYPE(in, PS_TYPE_F32);
+
     if (mask != NULL) {
-        PS_CHECK_NULL_VECTOR(mask);
-        PS_CHECK_EMPTY_VECTOR(mask);
-        PS_CHECK_VECTOR_SIZE_EQUAL(mask, in);
-        PS_CHECK_VECTOR_TYPE(mask, PS_TYPE_U8);
+        PS_CHECK_VECTOR_SIZE_EQUAL_RETURN_NULL(mask, in);
+        PS_CHECK_VECTOR_TYPE_RETURN_NULL(mask, PS_TYPE_U8);
     }
     // ************************************************************************
Index: /trunk/psLib/src/math/psConstants.h
===================================================================
--- /trunk/psLib/src/math/psConstants.h	(revision 1963)
+++ /trunk/psLib/src/math/psConstants.h	(revision 1964)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -88,26 +88,14 @@
 p_psMemSetPersistent(NAME->data.V, true); \
 
+
+
+
+
+
 /** Preprocessor macro to generate error on an incorrect type */
-#define PS_CHECK_VECTOR_TYPE(NAME, TYPE) \
+#define PS_CHECK_VECTOR_TYPE_RETURN_NULL(NAME, TYPE) \
 if (NAME->type.type != TYPE) { \
     psError(__func__,"Unallowable operation: %s has incorrect type.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL vector */
-#define PS_CHECK_NULL_VECTOR(NAME) \
-if (NAME == NULL || NAME->data.V == NULL) { \
-    psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL vector */
-#define PS_CHECK_NULL_VECTOR_ACTION(NAME, ACTION) \
-if (NAME == NULL || NAME->data.V == NULL) { \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME); \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__, "Unallowable operation: %s or its data is NULL.", #NAME); \
-    } \
+    return(NULL); \
 }
 
@@ -120,32 +108,8 @@
 
 /** Preprocessor macro to generate error on a NULL poniter */
-#define PS_CHECK_NULL_PTR(NAME) \
-if (NAME == NULL) { \
-    psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \
-}
-
-/** Preprocessor macro to generate error on a NULL poniter */
 #define PS_CHECK_NULL_PTR_RETURN_NULL(NAME) \
 if (NAME == NULL) { \
     psError(__func__,"Unallowable operation: %s is NULL.", #NAME); \
     return(NULL); \
-}
-
-/** Preprocessor macro to generate error for zero length vector */
-#define PS_CHECK_EMPTY_VECTOR(NAME) \
-if (NAME->n < 1) { \
-    psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-}
-
-/** Preprocessor macro to generate error for zero length vector */
-#define PS_CHECK_EMPTY_VECTOR_ACTION(NAME, ACTION) \
-if (NAME->n < 1) { \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__,"Unallowable operation: %s has zero n value.", #NAME); \
-    } \
 }
 
@@ -158,7 +122,8 @@
 
 /** Preprocessor macro to generate error on differing size vectors */
-#define PS_CHECK_VECTOR_SIZE_EQUAL(VEC1, VEC2) \
+#define PS_CHECK_VECTOR_SIZE_EQUAL_RETURN_NULL(VEC1, VEC2) \
 if (VEC1->n != VEC2->n) { \
     psError(__func__,"Vector %s has size %d, Vector %s has size %d.", #VEC1, VEC1->n, #VEC2, VEC2->n); \
+    return(NULL); \
 }
 
@@ -171,32 +136,16 @@
 
 /** Preprocessor macro to generate error on a NULL image */
-#define PS_CHECK_NULL_IMAGE(NAME)                                                           \
+#define PS_CHECK_NULL_IMAGE_RETURN_NULL(NAME) \
 if (NAME == NULL || NAME->data.V == NULL) {                                                         \
     psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME);                          \
+    return(NULL); \
 }
 
 /** Preprocessor macro to generate error for zero length rows or columns */
-#define PS_CHECK_EMPTY_IMAGE(NAME)                                                           \
+#define PS_CHECK_EMPTY_IMAGE_RETURN_NULL(NAME) \
 if (NAME->numCols < 1 || NAME->numRows < 1) {                                                       \
     psError(__func__,"Unallowable operation: %s has zero rows or columns (%dx%d).", #NAME,              \
             NAME->numCols, NAME->numRows);                                                          \
-}
-
-/** Preprocessor macro to generate error on a NULL 1DPolynomial */
-#define PS_CHECK_NULL_1DPOLY(NAME)                                                          \
-if (NAME == NULL || NAME->coeff == NULL) {                                                         \
-    psError(__func__,"Unallowable operation: %s or its data is NULL.", #NAME);                          \
-}
-
-/** Preprocessor macro to generate error on a NULL 1DPolynomial */
-#define PS_CHECK_NULL_1DPOLY_ACTION(NAME, ACTION)                                                          \
-if (NAME == NULL || NAME->coeff == NULL) {                                                         \
-    if (ACTION == 0) { \
-        psError(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME);                          \
-        return(NULL); \
-    } \
-    if (ACTION == 1) { \
-        psAbort(__func__,"Unallowable operation: %s or its coeffs is NULL.", #NAME);                          \
-    } \
+    return(NULL); \
 }
 
@@ -206,4 +155,8 @@
     return(NULL); \
 } \
+
+
+
+
 
 #define PS_PRINT_VECTOR(NAME) \
@@ -216,6 +169,13 @@
 psVector *X32 = psVectorAlloc(X64->n, PS_TYPE_F32); \
 for (int i=0;i<X64->n;i++) { \
-    X32->data.F32[i] = X64->data.F64[i]; \
+    X32->data.F32[i] = (float) X64->data.F64[i]; \
 } \
+
+#define PS_VECTOR_F32_TO_F64(X32, X64) \
+psVector *X64 = psVectorAlloc(X32->n, PS_TYPE_F64); \
+for (int i=0;i<X32->n;i++) { \
+    X64->data.F64[i] = (float) X32->data.F32[i]; \
+} \
+
 
 #define PS_MAX(A, B) \
Index: /trunk/psLib/src/math/psMinimize.c
===================================================================
--- /trunk/psLib/src/math/psMinimize.c	(revision 1963)
+++ /trunk/psLib/src/math/psMinimize.c	(revision 1964)
@@ -9,6 +9,6 @@
  *  @author George Gusciora, MHPCC
  *
- *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -80,23 +80,4 @@
 }
 
-/******************************************************************************
-VectorNormalizeGen(): this routine returns a psVector with "x" elements.  The
-values of the vector will be scaled uniformly between -1.0 and 1.0.
- 
-XXX: use a static vector.
-*****************************************************************************/
-psVector* VectorNormalizeGen(int x)
-{
-    int i = 0;
-    psVector *tmp = NULL;
-
-    tmp = psVectorAlloc(x, PS_TYPE_F32);
-    for (i = 0; i < x; i++) {
-        tmp->data.F32[i] = (((float)2 * i) / ((float)x)) - 1.0;
-    }
-
-    return (tmp);
-}
-
 /*****************************************************************************
 CalculateSecondDerivs(): Given a set of x/y vectors corresponding to a
@@ -107,6 +88,10 @@
 here defined to be 0.0.  They can be modified via ypo and yp1.
  
+This routine assumes that vectors x and y are of the appropriate types/sizes
+(F32).
+ 
 XXX: This algorithm is derived from the Numerical Recipes.
-XXX: use recyvled vectors for internal data.
+XXX: use recycled vectors for internal data.
+XXX: do an F64 version?
  *****************************************************************************/
 float *CalculateSecondDerivs(const psVector* restrict x,        ///< Ordinates (or NULL to just use the indices)
@@ -179,4 +164,7 @@
 evalSpline() which computes the interpolated value based on the cubic spline
 polynomials which are stored in psSpline1D.
+ 
+XXX: check types/sizes
+XXX: This is F32 only
  *****************************************************************************/
 float p_psNRSpline1DEval(psSpline1D *spline,
@@ -236,12 +224,7 @@
  
 XXX: usage of yErr is not specified in IfA documentation.
-XXX: Must do: if yErr==NULL, set all errors equal.
- 
 XXX: Is the x argument redundant?  What do we do if the x argument is
- supplied, but does not equal the domains specified in mySpline?
- 
+supplied, but does not equal the domains specified in mySpline?
 XXX: can psSpline be NULL?
- 
-XXX: Implemented in F32 only, must add F64.
  *****************************************************************************/
 psSpline1D *psVectorFitSpline1D(psSpline1D *mySpline,              ///< The spline which will be generated.
@@ -655,9 +638,7 @@
 coefficients of that polynomial.
  
-XXX: 
-yErr is currently ignored.
- 
-XXX: 
-Use private name?
+XXX: yErr is currently ignored.
+ 
+XXX: Use private name?
 *****************************************************************************/
 psPolynomial1D *p_psVectorFitPolynomial1DCheby(psPolynomial1D* myPoly,
@@ -737,4 +718,5 @@
  
 XXX: Use private name?
+XXX: Use recycled vectors.
  *****************************************************************************/
 psPolynomial1D* p_psVectorFitPolynomial1DOrd(psPolynomial1D* myPoly,
@@ -761,14 +743,4 @@
     // printf("(x, y, yErr) is (%f, %f, %f)\n", x->data.F64[i], y->data.F64[i], yErr->data.F64[i]);
     // }
-
-    // XXX: Some of these are redundant.
-    PS_CHECK_NULL_1DPOLY(myPoly);
-    PS_CHECK_NULL_VECTOR(y);
-    PS_CHECK_EMPTY_VECTOR(y);
-    PS_CHECK_EMPTY_VECTOR(x);
-    PS_CHECK_NULL_VECTOR(yErr);
-    PS_CHECK_EMPTY_VECTOR(yErr);
-    PS_CHECK_VECTOR_SIZE_EQUAL(x, y);
-    PS_CHECK_VECTOR_SIZE_EQUAL(y, yErr);
 
     A = psImageAlloc(polyOrder, polyOrder, PS_TYPE_F64);
@@ -949,4 +921,6 @@
 increases, or x is too large.  If thst does not work, expand in the other
 direction.
+ 
+XXX: This is F32 only
  *****************************************************************************/
 psVector *p_psDetermineBracket(psVector *params,
@@ -1128,4 +1102,5 @@
 XXX: This routine is not very efficient in terms of total evaluations of the
 function.
+XXX: This is F32 only
  *****************************************************************************/
 float p_psLineMin(psMinimization *min,
@@ -1501,4 +1476,5 @@
 This functions uses global variables to receive the function pointer, the
 data values, and the data errors.
+XXX: This is F32 only
  *****************************************************************************/
 float myPowellChi2Func(const psVector *params,
Index: /trunk/psLib/src/math/psStats.c
===================================================================
--- /trunk/psLib/src/math/psStats.c	(revision 1963)
+++ /trunk/psLib/src/math/psStats.c	(revision 1964)
@@ -9,6 +9,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.64 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-05 22:47:21 $
+ *  @version $Revision: 1.65 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-05 23:14:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -1855,10 +1855,8 @@
         psAbort(__func__, "psVectorStats() called with range: %f to %f\n", stats->min, stats->max);
     }
-    // PS_CHECK_VECTOR_TYPE(in, PS_TYPE_F32);
+
     if (mask != NULL) {
-        PS_CHECK_NULL_VECTOR(mask);
-        PS_CHECK_EMPTY_VECTOR(mask);
-        PS_CHECK_VECTOR_SIZE_EQUAL(mask, in);
-        PS_CHECK_VECTOR_TYPE(mask, PS_TYPE_U8);
+        PS_CHECK_VECTOR_SIZE_EQUAL_RETURN_NULL(mask, in);
+        PS_CHECK_VECTOR_TYPE_RETURN_NULL(mask, PS_TYPE_U8);
     }
     // ************************************************************************
