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) \
