Index: trunk/psLib/src/dataManip/psConstants.h
===================================================================
--- trunk/psLib/src/dataManip/psConstants.h	(revision 1921)
+++ trunk/psLib/src/dataManip/psConstants.h	(revision 1945)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-09-28 23:27:37 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-03 23:35:47 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -30,4 +30,16 @@
 }
 
+/** 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__,"Invalid operation: %s or its data is NULL.", #NAME); \
+        return(NULL); \
+    } \
+    if (ACTION == 1) { \
+        psAbort(__func__, "Invalid operation: %s or its data is NULL.", #NAME); \
+    } \
+}
+
 /** Preprocessor macro to generate error on a NULL poniter */
 #define PS_CHECK_NULL_PTR(NAME) \
@@ -40,4 +52,16 @@
 if (NAME->n < 1) { \
     psError(__func__,"Invalid 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__,"Invalid operation: %s has zero n value.", #NAME); \
+        return(NULL); \
+    } \
+    if (ACTION == 1) { \
+        psAbort(__func__,"Invalid operation: %s has zero n value.", #NAME); \
+    } \
 }
 
@@ -67,4 +91,16 @@
 }
 
+/** 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__,"Invalid operation: %s or its coeffs is NULL.", #NAME);                          \
+        return(NULL); \
+    } \
+    if (ACTION == 1) { \
+        psAbort(__func__,"Invalid operation: %s or its coeffs is NULL.", #NAME);                          \
+    } \
+}
+
 #define PS_PRINT_VECTOR(NAME) \
 for (int my_i=0;my_i<NAME->n;my_i++) { \
