Index: /trunk/psLib/src/astro/psCoord.c
===================================================================
--- /trunk/psLib/src/astro/psCoord.c	(revision 7765)
+++ /trunk/psLib/src/astro/psCoord.c	(revision 7766)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-05-06 03:34:21 $
+*  @version $Revision: 1.120 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -22,5 +22,5 @@
 #include "psMemory.h"
 #include "psTime.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psError.h"
 #include "psLogMsg.h"
Index: /trunk/psLib/src/astro/psCoord.h
===================================================================
--- /trunk/psLib/src/astro/psCoord.h	(revision 7765)
+++ /trunk/psLib/src/astro/psCoord.h	(revision 7766)
@@ -11,6 +11,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.51 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-04-17 22:00:03 $
+ *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -456,4 +456,13 @@
 );
 
+#define PS_PRINT_PLANE_TRANSFORM(NAME) \
+{ \
+    printf("---------------------- Plane Transform ----------------------\n"); \
+    printf("x:\n"); \
+    PS_POLY_PRINT_2D(NAME->x); \
+    printf("y:\n"); \
+    PS_POLY_PRINT_2D(NAME->y); \
+} \
+
 /// @}
 
Index: /trunk/psLib/src/astro/psEarthOrientation.c
===================================================================
--- /trunk/psLib/src/astro/psEarthOrientation.c	(revision 7765)
+++ /trunk/psLib/src/astro/psEarthOrientation.c	(revision 7766)
@@ -8,6 +8,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.36 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-16 01:08:57 $
+ *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -27,5 +27,5 @@
 #include "psMemory.h"
 #include "psCoord.h"
-#include "psConstants.h"
+#include "psAssert.h"
 
 // Sun's Mass (src: Google's Calculator Service)
Index: /trunk/psLib/src/astro/psSphereOps.c
===================================================================
--- /trunk/psLib/src/astro/psSphereOps.c	(revision 7765)
+++ /trunk/psLib/src/astro/psSphereOps.c	(revision 7766)
@@ -8,6 +8,6 @@
  *  @author Dave Robbins, MHPCC
  *
- *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-03-07 01:53:24 $
+ *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -22,5 +22,5 @@
 #include "psMemory.h"
 #include "psTime.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psError.h"
 #include "psLogMsg.h"
Index: /trunk/psLib/src/astro/psTime.c
===================================================================
--- /trunk/psLib/src/astro/psTime.c	(revision 7765)
+++ /trunk/psLib/src/astro/psTime.c	(revision 7766)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.89 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-27 04:13:07 $
+ *  @version $Revision: 1.90 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -32,5 +32,5 @@
 #include "psMetadataConfig.h"
 #include "psLookupTable.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/db/psDB.c
===================================================================
--- /trunk/psLib/src/db/psDB.c	(revision 7765)
+++ /trunk/psLib/src/db/psDB.c	(revision 7766)
@@ -12,6 +12,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-24 00:18:48 $
+ *  @version $Revision: 1.68 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2005 Joshua Hoblitt, University of Hawaii
@@ -32,4 +32,5 @@
 #include "psDB.h"
 #include "psMemory.h"
+#include "psAssert.h"
 #include "psAbort.h"
 #include "psError.h"
Index: /trunk/psLib/src/imageops/psImageBackground.c
===================================================================
--- /trunk/psLib/src/imageops/psImageBackground.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImageBackground.c	(revision 7766)
@@ -7,5 +7,5 @@
 #include "psStats.h"
 #include "psType.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psRandom.h"
 #include "psError.h"
Index: /trunk/psLib/src/imageops/psImageGeomManip.c
===================================================================
--- /trunk/psLib/src/imageops/psImageGeomManip.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImageGeomManip.c	(revision 7766)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-12 20:44:04 $
+ *  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -29,5 +29,5 @@
 #include "psStats.h"
 #include "psMemory.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psCoord.h"
Index: /trunk/psLib/src/imageops/psImageMaskOps.c
===================================================================
--- /trunk/psLib/src/imageops/psImageMaskOps.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImageMaskOps.c	(revision 7766)
@@ -8,6 +8,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-10-10 20:12:13 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,5 +25,5 @@
 #include "psStats.h"
 #include "psMemory.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psCoord.h"
Index: /trunk/psLib/src/imageops/psImagePixelManip.c
===================================================================
--- /trunk/psLib/src/imageops/psImagePixelManip.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImagePixelManip.c	(revision 7766)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-07 03:22:06 $
+ *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -27,5 +27,5 @@
 #include "psStats.h"
 #include "psMemory.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psCoord.h"
Index: /trunk/psLib/src/imageops/psImageStats.c
===================================================================
--- /trunk/psLib/src/imageops/psImageStats.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImageStats.c	(revision 7766)
@@ -9,6 +9,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.97 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-21 21:03:49 $
+ *  @version $Revision: 1.98 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -29,5 +29,5 @@
 #include "psPolynomial.h"
 #include "psImageStats.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psRegion.h"
@@ -592,9 +592,9 @@
         return -1;
     }/* else if (col0 == col1 && row0 == row1) {
-                                    psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                                            "Invalid psRegion specified.  Region contains only 1 pixel.\n");
-                                    return -1;
-                                }
-                            */
+                                        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                                                "Invalid psRegion specified.  Region contains only 1 pixel.\n");
+                                        return -1;
+                                    }
+                                */
     x0 = col0;
     x1 = col1;
Index: /trunk/psLib/src/imageops/psImageUnbin.c
===================================================================
--- /trunk/psLib/src/imageops/psImageUnbin.c	(revision 7765)
+++ /trunk/psLib/src/imageops/psImageUnbin.c	(revision 7766)
@@ -3,5 +3,5 @@
 #include "psError.h"
 #include "psImage.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psImageUnbin.h"
 
Index: /trunk/psLib/src/jpeg/psImageJpeg.c
===================================================================
--- /trunk/psLib/src/jpeg/psImageJpeg.c	(revision 7765)
+++ /trunk/psLib/src/jpeg/psImageJpeg.c	(revision 7766)
@@ -9,5 +9,5 @@
 #include "psVector.h"
 #include "psError.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psImageJpeg.h"
 
Index: /trunk/psLib/src/math/psBinaryOp.c
===================================================================
--- /trunk/psLib/src/math/psBinaryOp.c	(revision 7765)
+++ /trunk/psLib/src/math/psBinaryOp.c	(revision 7766)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-24 03:10:14 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -49,5 +49,5 @@
 #include "psScalar.h"
 #include "psLogMsg.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/math/psConstants.h
===================================================================
--- /trunk/psLib/src/math/psConstants.h	(revision 7765)
+++ /trunk/psLib/src/math/psConstants.h	(revision 7766)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.92 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-30 01:57:46 $
+ *  @version $Revision: 1.93 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -45,447 +45,4 @@
 
 /*****************************************************************************
- 
-*****************************************************************************/
-
-#define PS_ASSERT_INT_UNEQUAL(NAME1, NAME2, RVAL) \
-if ((NAME1) == (NAME2)) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s and %s are equal.", \
-            #NAME1, #NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_EQUAL(NAME1, NAME2, RVAL) \
-if ((NAME1) != (NAME2)) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s and %s are not equal.", \
-            #NAME1, #NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_NONNEGATIVE(NAME, RVAL) \
-if ((NAME) < 0) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Error: %s is less than 0.", #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_POSITIVE(NAME, RVAL) \
-if ((NAME) < 1) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s is 0 or less.", #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_ZERO(NAME, RVAL) \
-if ((NAME) != 0) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s is 0.", #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_NONZERO(NAME, RVAL) \
-if ((NAME) == 0) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s is 0.", #NAME); \
-    return(RVAL); \
-}
-
-// XXX: Where did these int casts come from?
-#define PS_ASSERT_INT_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
-if ((int)(NAME) < LOWER || (int)(NAME) > UPPER) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s, %d, is out of range.  Must be between %d and %d.", \
-            #NAME,(int)NAME,LOWER,UPPER); \
-    return RVAL; \
-}
-
-#define PS_ASSERT_INT_LESS_THAN(VAR1, VAR2, RVAL) \
-if (!(VAR1 < VAR2)) { \
-    psError(PS_ERR_UNKNOWN, true, \
-            "Error: %s is not less than %s (%d, %d)", #VAR1, #VAR2, VAR1, VAR2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_LESS_THAN_OR_EQUAL(VAR1, VAR2, RVAL) \
-if (!(VAR1 <= VAR2)) { \
-    psError(PS_ERR_UNKNOWN, true, \
-            "Error: %s is not less than %s (%d, %d)", #VAR1, #VAR2, VAR1, VAR2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_LARGER_THAN(NAME1, NAME2, RVAL) \
-if (!((NAME1) > (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s > %s) (%d %d).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_INT_LARGER_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
-if (!((NAME1) >= (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s >= %s) (%d %d).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-#define PS_ASSERT_FLOAT_LARGER_THAN(NAME1, NAME2, RVAL) \
-if (!((NAME1) > (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s > %s) (%f %f).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_FLOAT_LARGER_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
-if (!((NAME1) >= (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s >= %s) (%f %f).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_FLOAT_LESS_THAN(NAME1, NAME2, RVAL) \
-if (!((NAME1) < (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s < %s) (%f %f).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_FLOAT_LESS_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
-if (!((NAME1) <= (NAME2))) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: !(%s <= %s) (%f %f).", \
-            #NAME1, #NAME2, NAME1, NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_FLOAT_NON_EQUAL(NAME1, NAME2, RVAL) \
-if (fabs((NAME2) - (NAME1)) < FLT_EPSILON) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s and %s are equal.", \
-            #NAME1, #NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_FLOAT_EQUAL(NAME1, NAME2, RVAL) \
-if (fabs((NAME2) - (NAME1)) > FLT_EPSILON) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s and %s are not equal.", \
-            #NAME1, #NAME2); \
-    return(RVAL); \
-}
-
-// Return an error if the arg lies outside the supplied range.
-#define PS_ASSERT_FLOAT_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
-if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s, %f, is out of range.  Must be between %f and %f.", \
-            #NAME, NAME, LOWER, UPPER); \
-    return RVAL; \
-}
-
-#define PS_ASSERT_DOUBLE_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
-if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s, %lf, is out of range.  Must be between %lf and %lf.", \
-            #NAME, NAME, LOWER, UPPER); \
-    return RVAL; \
-}
-
-#define PS_ASSERT_LONG_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
-if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
-    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
-            "Error: %s, %lld, is out of range.", \
-            #NAME, NAME, LOWER, UPPER); \
-    return RVAL; \
-}
-
-/*****************************************************************************
-Macros which take a generic psLib type and determine if it is NULL, or has
-the wrong type.
-*****************************************************************************/
-#define PS_WARN_PTR_NON_NULL(NAME) \
-if ((NAME) == NULL) { \
-    psLogMsg(__func__, PS_LOG_WARN, "WARNING: %s is NULL.", #NAME); \
-} \
-
-#define PS_ASSERT_PTR_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_PTR_NON_NULL(NAME, return RVAL)
-#define PS_ASSERT_GENERAL_PTR_NON_NULL(NAME, CLEANUP) \
-if ((NAME) == NULL) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: %s is NULL.", \
-            #NAME); \
-    CLEANUP; \
-}
-
-#define PS_ASSERT_PTR_TYPE(NAME, TYPE, RVAL) \
-if ((NAME)->type.type != TYPE) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: %s has incorrect type.", \
-            #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_PTR_DIMEN(NAME, DIMEN, RVAL) PS_ASSERT_GENERAL_PTR_DIMEN(NAME, DIMEN, return RVAL)
-#define PS_ASSERT_GENERAL_PTR_DIMEN(NAME, DIMEN, CLEANUP) \
-if ((NAME)->type.dimen != DIMEN) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: %s has incorrect dimensionality.", \
-            #NAME); \
-    CLEANUP; \
-}
-
-#define PS_ASSERT_PTR_DIMEN_GENERAL_NOT(NAME, DIMEN, CLEANUP) \
-if ((NAME)->type.dimen == DIMEN) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: %s has incorrect dimensionality.", \
-            #NAME); \
-    CLEANUP; \
-}
-
-
-#define PS_ASSERT_PTRS_SIZE_EQUAL(PTR1, PTR2, RVAL) \
-if (PTR1->n != PTR2->n) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "ptr %s has size %d, ptr %s has size %d.", \
-            #PTR1, PTR1->n, #PTR2, PTR2->n); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_PTR_TYPE_EQUAL(PTR1, PTR2, RVAL) PS_ASSERT_PTRS_TYPE_EQUAL_GENERAL(PTR1, PTR2, return RVAL)
-#define PS_ASSERT_PTRS_TYPE_EQUAL_GENERAL(PTR1, PTR2, CLEANUP) \
-if (PTR1->type.type != PTR2->type.type) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "ptr %s has type %d, ptr %s has type %d.", \
-            #PTR1, PTR1->type.type, #PTR2, PTR2->type.type); \
-    CLEANUP; \
-}
-
-
-/*****************************************************************************
-    PS_VECTOR macros:
- *****************************************************************************/
-#define PS_ASSERT_VECTOR_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_VECTOR_NON_NULL(NAME, return RVAL)
-#define PS_ASSERT_GENERAL_VECTOR_NON_NULL(NAME, CLEANUP) \
-if ((NAME) == NULL || (NAME)->data.U8 == NULL) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: psVector %s or its data is NULL.", \
-            #NAME); \
-    CLEANUP; \
-} \
-
-#define PS_ASSERT_VECTOR_NON_EMPTY(NAME, RVAL) PS_ASSERT_GENERAL_VECTOR_NON_EMPTY(NAME, return RVAL)
-#define PS_ASSERT_GENERAL_VECTOR_NON_EMPTY(NAME, CLEANUP) \
-if ((NAME)->n < 1) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "Unallowable operation: psVector %s has no elements.", \
-            #NAME); \
-    CLEANUP; \
-} \
-
-#define PS_ASSERT_VECTOR_TYPE_F32_OR_F64(NAME, RVAL) \
-if (((NAME)->type.type != PS_TYPE_F32) && ((NAME)->type.type != PS_TYPE_F64)) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "psVector %s: bad type(%d)", \
-            #NAME, NAME->type.type); \
-    return(RVAL); \
-} \
-
-#define PS_ASSERT_VECTOR_TYPE_S16_S32_F32(NAME, RVAL) \
-if (((NAME)->type.type != PS_TYPE_S16) && ((NAME)->type.type != PS_TYPE_S32) && ((NAME)->type.type != PS_TYPE_F32)) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "psVector %s: bad type(%d)", \
-            #NAME, NAME->type.type); \
-    return(RVAL); \
-} \
-
-#define PS_ASSERT_VECTOR_TYPE(NAME, TYPE, RVAL) \
-if ((NAME)->type.type != TYPE) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: psVector %s has incorrect type.", \
-            #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_VECTORS_SIZE_EQUAL(VEC1, VEC2, RVAL) \
-if (VEC1->n != VEC2->n) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "psVector %s has size %d, psVector %s has size %d.", \
-            #VEC1, VEC1->n, #VEC2, VEC2->n); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_VECTOR_SIZE(VEC, SIZE, RVAL) \
-if (VEC->n != SIZE) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "psVector %s has size %d, should be %d.", \
-            #VEC, VEC->n, SIZE); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_VECTOR_TYPE_EQUAL(VEC1, VEC2, RVAL) \
-if (VEC1->type.type != VEC2->type.type) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "psVector %s has size %d, psVector %s has size %d.", \
-            #VEC1, VEC1->type.type, #VEC2, VEC2->type.type); \
-    return(RVAL); \
-}
-
-#define PS_VECTOR_PRINT_F32(NAME) \
-if (NAME != NULL) { \
-    for (int my_i=0;my_i<(NAME)->n;my_i++) { \
-        printf("%s->data.F32[%d] is %f\n", #NAME, my_i, (NAME)->data.F32[my_i]); \
-    } \
-    printf("\n"); \
-} else {\
-    printf("MACRO WARNING: vector %s is NULL.\n", #NAME); \
-}\
-
-#define PS_VECTOR_PRINT_F64(NAME) \
-if (NAME != NULL) { \
-    for (int my_i=0;my_i<(NAME)->n;my_i++) { \
-        printf("%s->data.F64[%d] is %f\n", #NAME, my_i, (NAME)->data.F64[my_i]); \
-    } \
-    printf("\n"); \
-} else {\
-    printf("MACRO WARNING: vector %s is NULL.\n", #NAME); \
-}\
-
-/*****************************************************************************
-    PS_POLY macros:
-*****************************************************************************/
-#define PS_ASSERT_POLY1D(NAME, RVAL) \
-if (false == psMemCheckPolynomial1D(NAME)) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: argument %s is not a psPolynomial1D struct.\n",\
-            #NAME); \
-    return(RVAL); \
-} \
-
-#define PS_ASSERT_POLY_NON_NULL(NAME, RVAL) \
-if ((NAME) == NULL || (NAME)->coeff == NULL) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: polynomial %s or its coeffs is NULL.", \
-            #NAME); \
-    return(RVAL); \
-} \
-
-#define PS_ASSERT_POLY_TYPE(NAME, TYPE, RVAL) \
-if ((NAME)->type != TYPE) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: polynomial %s has wrong type.", #NAME); \
-    return(RVAL); \
-} \
-
-#define PS_POLY_PRINT_1D(NAME) \
-printf("Poly %s: (nX) is (%d)\n", #NAME, NAME->nX);\
-for (psS32 i = 0 ; i < NAME->nX+1 ; i++) {\
-    printf("%s->coeff[%d] is %f\n", #NAME, i, NAME->coeff[i]); \
-}\
-
-#define PS_POLY_PRINT_2D(NAME) \
-printf("Poly %s: (nX, nY) is (%d, %d)\n", #NAME, NAME->nX, NAME->nY);\
-for (psS32 i = 0 ; i < NAME->nX+1 ; i++) {\
-    for (psS32 j = 0 ; j < NAME->nY+1 ; j++) {\
-        printf("%s->coeff[%d][%d] is %f\n", #NAME, i, j, NAME->coeff[i][j]); \
-    }\
-}\
-
-#define PS_PRINT_PLANE_TRANSFORM(NAME) \
-{ \
-    printf("---------------------- Plane Transform ----------------------\n"); \
-    printf("x:\n"); \
-    PS_POLY_PRINT_2D(NAME->x); \
-    printf("y:\n"); \
-    PS_POLY_PRINT_2D(NAME->y); \
-} \
-
-
-/*****************************************************************************
-    PS_SPLINE macros:
-*****************************************************************************/
-#define PS_ASSERT_SPLINE(NAME, RVAL) \
-if (false == psMemCheckSpline1D(NAME)) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: argument %s is not a psSpline1D struct.\n",\
-            #NAME); \
-    return(RVAL); \
-} \
-
-#define PS_ASSERT_SPLINE_NON_NULL(NAME, RVAL) \
-if ((NAME) == NULL) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: psSpline1D %s is NULL.", \
-            #NAME); \
-    return(RVAL); \
-} \
-
-/*****************************************************************************
-    PS_IMAGE macros:
-*****************************************************************************/
-#define PS_ASSERT_IMAGE_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_IMAGE_NON_NULL(NAME, return RVAL)
-#define PS_ASSERT_GENERAL_IMAGE_NON_NULL(NAME, CLEANUP) \
-if ((NAME) == NULL || (NAME)->data.V == NULL) { \
-    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
-            "Unallowable operation: psImage %s or its data is NULL.", \
-            #NAME); \
-    CLEANUP; \
-}
-
-#define PS_ASSERT_IMAGE_NON_EMPTY(NAME, RVAL) PS_ASSERT_GENERAL_IMAGE_NON_EMPTY(NAME, return RVAL)
-#define PS_ASSERT_GENERAL_IMAGE_NON_EMPTY(NAME, CLEANUP) \
-if ((NAME)->numCols < 1 || (NAME)->numRows < 1) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "Unallowable operation: psImage %s has zero rows or columns (%dx%d).", \
-            #NAME, (NAME)->numCols, (NAME)->numRows); \
-    CLEANUP; \
-}
-
-#define PS_ASSERT_IMAGE_TYPE(NAME, TYPE, RVAL) \
-if ((NAME)->type.type != TYPE) { \
-    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
-            "Unallowable operation: psImage %s has incorrect type.", \
-            #NAME); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_IMAGES_SIZE_EQUAL(NAME1, NAME2, RVAL) \
-if (((NAME1)->numCols != (NAME2)->numCols) || \
-        ((NAME1)->numRows != (NAME2)->numRows)) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "Unallowable operation: psImages %s and %s are not the same size.", \
-            #NAME1, #NAME2); \
-    return(RVAL); \
-}
-
-#define PS_ASSERT_IMAGE_SIZE(NAME1, NUM_COLS, NUM_ROWS, RVAL) \
-if (((NAME1)->numCols != NUM_COLS) || \
-        ((NAME1)->numRows != NUM_ROWS)) { \
-    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
-            "Unallowable operation: psImages %s is not the correct size.", \
-            #NAME1); \
-    return(RVAL); \
-}
-
-#define PS_IMAGE_PRINT_F32(NAME) \
-printf("======== printing %s ========\n", #NAME); \
-for (int i = 0 ; i < (NAME)->numRows ; i++) { \
-    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
-        printf("%.2f ", (NAME)->data.F32[i][j]); \
-    } \
-    printf("\n"); \
-}\
-
-#define PS_IMAGE_PRINT_F64(NAME) \
-printf("======== printing %s ========\n", #NAME); \
-for (int i = 0 ; i < (NAME)->numRows ; i++) { \
-    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
-        printf("%.2f ", (NAME)->data.F64[i][j]); \
-    } \
-    printf("\n"); \
-}\
-
-/*****************************************************************************
     Misc. macros:
 *****************************************************************************/
@@ -499,3 +56,3 @@
 ((A) * (A))
 
-# define PS_SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;}
+#define PS_SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;}
Index: /trunk/psLib/src/math/psEllipse.c
===================================================================
--- /trunk/psLib/src/math/psEllipse.c	(revision 7765)
+++ /trunk/psLib/src/math/psEllipse.c	(revision 7766)
@@ -1,4 +1,3 @@
 #include <stdio.h>
-
 #include "psConstants.h"
 #include "psEllipse.h"
Index: /trunk/psLib/src/math/psMathUtils.c
===================================================================
--- /trunk/psLib/src/math/psMathUtils.c	(revision 7765)
+++ /trunk/psLib/src/math/psMathUtils.c	(revision 7766)
@@ -3,6 +3,6 @@
  *  This file contains standard math routines.
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-18 01:20:51 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -24,4 +24,5 @@
 #include "psPolynomial.h"
 #include "psMathUtils.h"
+#include "psAssert.h"
 #include "psConstants.h"
 #include "psErrorText.h"
Index: /trunk/psLib/src/math/psMatrix.c
===================================================================
--- /trunk/psLib/src/math/psMatrix.c	(revision 7765)
+++ /trunk/psLib/src/math/psMatrix.c	(revision 7766)
@@ -21,6 +21,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-03 03:55:12 $
+ *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -42,5 +42,5 @@
 #include "psVector.h"
 #include "psMatrix.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psTrace.h"
Index: /trunk/psLib/src/math/psMinimizeLMM.c
===================================================================
--- /trunk/psLib/src/math/psMinimizeLMM.c	(revision 7765)
+++ /trunk/psLib/src/math/psMinimizeLMM.c	(revision 7766)
@@ -10,6 +10,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-03 03:55:12 $
+ *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -24,4 +24,5 @@
 
 #include "psAbort.h"
+#include "psAssert.h"
 #include "psMinimizeLMM.h"
 #include "psImage.h"
Index: /trunk/psLib/src/math/psMinimizeLMM.h
===================================================================
--- /trunk/psLib/src/math/psMinimizeLMM.h	(revision 7765)
+++ /trunk/psLib/src/math/psMinimizeLMM.h	(revision 7766)
@@ -8,6 +8,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-10 00:49:38 $
+ *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -37,4 +37,8 @@
 #include "psError.h"
 #include "psConstants.h"
+
+#define PS_DETERMINE_BRACKET_STEP_SIZE 0.10
+#define PS_MAX_LMM_ITERATIONS 100
+#define PS_MAX_MINIMIZE_ITERATIONS 100
 
 /** A data structure for minimization routines.
Index: /trunk/psLib/src/math/psMinimizePolyFit.c
===================================================================
--- /trunk/psLib/src/math/psMinimizePolyFit.c	(revision 7765)
+++ /trunk/psLib/src/math/psMinimizePolyFit.c	(revision 7766)
@@ -10,6 +10,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-29 20:37:51 $
+ *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -29,4 +29,5 @@
 
 #include "psMinimizePolyFit.h"
+#include "psAssert.h"
 #include "psMinimizeLMM.h"  // For Gauss-Jordan routines
 #include "psStats.h"
Index: /trunk/psLib/src/math/psMinimizePowell.c
===================================================================
--- /trunk/psLib/src/math/psMinimizePowell.c	(revision 7765)
+++ /trunk/psLib/src/math/psMinimizePowell.c	(revision 7766)
@@ -11,6 +11,6 @@
  *  NOTE: XXX: The SDR is silent about data types.  F32 is implemented here.
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-30 01:56:22 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,4 +25,5 @@
 
 #include "psMinimizePowell.h"
+#include "psAssert.h"
 #include "psStats.h"
 #include "psImage.h"
Index: /trunk/psLib/src/math/psPolynomial.c
===================================================================
--- /trunk/psLib/src/math/psPolynomial.c	(revision 7765)
+++ /trunk/psLib/src/math/psPolynomial.c	(revision 7766)
@@ -7,6 +7,6 @@
 *  polynomials.  It also contains a Gaussian functions.
 *
-*  @version $Revision: 1.145 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-02-28 02:53:02 $
+*  @version $Revision: 1.146 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -31,5 +31,5 @@
 #include "psLogMsg.h"
 #include "psPolynomial.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/math/psPolynomial.h
===================================================================
--- /trunk/psLib/src/math/psPolynomial.h	(revision 7765)
+++ /trunk/psLib/src/math/psPolynomial.h	(revision 7766)
@@ -11,6 +11,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.62 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-02-07 23:36:15 $
+ *  @version $Revision: 1.63 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -307,4 +307,43 @@
 
 
+/*****************************************************************************
+    PS_POLY macros:
+*****************************************************************************/
+#define PS_ASSERT_POLY1D(NAME, RVAL) \
+if (false == psMemCheckPolynomial1D(NAME)) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: argument %s is not a psPolynomial1D struct.\n",\
+            #NAME); \
+    return(RVAL); \
+} \
+
+#define PS_ASSERT_POLY_NON_NULL(NAME, RVAL) \
+if ((NAME) == NULL || (NAME)->coeff == NULL) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: polynomial %s or its coeffs is NULL.", \
+            #NAME); \
+    return(RVAL); \
+} \
+
+#define PS_ASSERT_POLY_TYPE(NAME, TYPE, RVAL) \
+if ((NAME)->type != TYPE) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: polynomial %s has wrong type.", #NAME); \
+    return(RVAL); \
+} \
+
+#define PS_POLY_PRINT_1D(NAME) \
+printf("Poly %s: (nX) is (%d)\n", #NAME, NAME->nX);\
+for (psS32 i = 0 ; i < NAME->nX+1 ; i++) {\
+    printf("%s->coeff[%d] is %f\n", #NAME, i, NAME->coeff[i]); \
+}\
+
+#define PS_POLY_PRINT_2D(NAME) \
+printf("Poly %s: (nX, nY) is (%d, %d)\n", #NAME, NAME->nX, NAME->nY);\
+for (psS32 i = 0 ; i < NAME->nX+1 ; i++) {\
+    for (psS32 j = 0 ; j < NAME->nY+1 ; j++) {\
+        printf("%s->coeff[%d][%d] is %f\n", #NAME, i, j, NAME->coeff[i][j]); \
+    }\
+}\
 
 /** \} */ // End of MathGroup Functions
Index: /trunk/psLib/src/math/psPolynomialUtils.c
===================================================================
--- /trunk/psLib/src/math/psPolynomialUtils.c	(revision 7765)
+++ /trunk/psLib/src/math/psPolynomialUtils.c	(revision 7766)
@@ -7,5 +7,5 @@
 #include "psBinaryOp.h"
 #include "psStats.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psPolynomial.h"
 #include "psMinimizePolyFit.h"
Index: /trunk/psLib/src/math/psRandom.c
===================================================================
--- /trunk/psLib/src/math/psRandom.c	(revision 7765)
+++ /trunk/psLib/src/math/psRandom.c	(revision 7766)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-08-23 23:23:05 $
+*  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -30,5 +30,5 @@
 #include "psTrace.h"
 #include "psLogMsg.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/math/psSparse.c
===================================================================
--- /trunk/psLib/src/math/psSparse.c	(revision 7765)
+++ /trunk/psLib/src/math/psSparse.c	(revision 7766)
@@ -9,4 +9,5 @@
 #include "psLogMsg.h"
 #include "psVector.h"
+#include "psAssert.h"
 #include "psConstants.h"
 #include "psSparse.h"
Index: /trunk/psLib/src/math/psSpline.c
===================================================================
--- /trunk/psLib/src/math/psSpline.c	(revision 7765)
+++ /trunk/psLib/src/math/psSpline.c	(revision 7766)
@@ -6,6 +6,6 @@
 *  This file contains the routines that allocate, free, and evaluate splines.
 *
-*  @version $Revision: 1.148 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-04-05 02:19:00 $
+*  @version $Revision: 1.149 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -27,5 +27,5 @@
 #include "psPolynomial.h"
 #include "psSpline.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 #include "psMathUtils.h"
@@ -131,5 +131,5 @@
     //
     // The second derivatives at the endpoints, undefined in the SDR,
-    // are set in psConstants.h: PS_LEFT_SPLINE_DERIV, PS_RIGHT_SPLINE_DERIV.
+    // are set in psAssert.h: PS_LEFT_SPLINE_DERIV, PS_RIGHT_SPLINE_DERIV.
     //
     derivs2[0] = -0.5;
Index: /trunk/psLib/src/math/psSpline.h
===================================================================
--- /trunk/psLib/src/math/psSpline.h	(revision 7765)
+++ /trunk/psLib/src/math/psSpline.h	(revision 7766)
@@ -12,6 +12,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.59 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-02-02 21:09:08 $
+ *  @version $Revision: 1.60 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -29,4 +29,7 @@
 #include "psScalar.h"
 #include "psPolynomial.h"
+
+#define PS_LEFT_SPLINE_DERIV 0.0
+#define PS_RIGHT_SPLINE_DERIV 0.0
 
 /** \addtogroup GROUP00
@@ -92,4 +95,24 @@
 );
 
+/*****************************************************************************
+    PS_SPLINE macros:
+*****************************************************************************/
+#define PS_ASSERT_SPLINE(NAME, RVAL) \
+if (false == psMemCheckSpline1D(NAME)) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: argument %s is not a psSpline1D struct.\n",\
+            #NAME); \
+    return(RVAL); \
+} \
+
+#define PS_ASSERT_SPLINE_NON_NULL(NAME, RVAL) \
+if ((NAME) == NULL) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: psSpline1D %s is NULL.", \
+            #NAME); \
+    return(RVAL); \
+} \
+
+
 /** \} */ // End of MathGroup Functions
 
Index: /trunk/psLib/src/math/psStats.c
===================================================================
--- /trunk/psLib/src/math/psStats.c	(revision 7765)
+++ /trunk/psLib/src/math/psStats.c	(revision 7766)
@@ -16,6 +16,6 @@
  * use ->min and ->max (PS_STAT_USE_RANGE)
  *
- *  @version $Revision: 1.175 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-22 23:08:22 $
+ *  @version $Revision: 1.176 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -43,5 +43,5 @@
 #include "psMinimizePolyFit.h"
 #include "psPolynomial.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psMathUtils.h"
 
Index: /trunk/psLib/src/math/psUnaryOp.c
===================================================================
--- /trunk/psLib/src/math/psUnaryOp.c	(revision 7765)
+++ /trunk/psLib/src/math/psUnaryOp.c	(revision 7766)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-24 03:25:14 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -50,5 +50,5 @@
 #include "psScalar.h"
 #include "psLogMsg.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/math/psVectorSmooth.c
===================================================================
--- /trunk/psLib/src/math/psVectorSmooth.c	(revision 7765)
+++ /trunk/psLib/src/math/psVectorSmooth.c	(revision 7766)
@@ -10,5 +10,5 @@
 #include "psVector.h"
 #include "psVectorSmooth.h"
-#include "psConstants.h"
+#include "psAssert.h"
 
 
Index: /trunk/psLib/src/mathtypes/psImage.c
===================================================================
--- /trunk/psLib/src/mathtypes/psImage.c	(revision 7765)
+++ /trunk/psLib/src/mathtypes/psImage.c	(revision 7766)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.110 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-24 00:22:54 $
+ *  @version $Revision: 1.111 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -23,5 +23,5 @@
 #include "psMemory.h"
 #include "psError.h"
-//#include "psAbort.h"
+#include "psAssert.h"
 #include "psImage.h"
 #include "psString.h"
Index: /trunk/psLib/src/mathtypes/psImage.h
===================================================================
--- /trunk/psLib/src/mathtypes/psImage.h	(revision 7765)
+++ /trunk/psLib/src/mathtypes/psImage.h	(revision 7766)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.79 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-15 02:29:12 $
+ *  @version $Revision: 1.80 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -242,4 +242,69 @@
 #undef PIXEL_INTERPOLATE_FCNS
 
+/*****************************************************************************
+    PS_IMAGE macros:
+*****************************************************************************/
+#define PS_ASSERT_IMAGE_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_IMAGE_NON_NULL(NAME, return RVAL)
+#define PS_ASSERT_GENERAL_IMAGE_NON_NULL(NAME, CLEANUP) \
+if ((NAME) == NULL || (NAME)->data.V == NULL) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: psImage %s or its data is NULL.", \
+            #NAME); \
+    CLEANUP; \
+}
+
+#define PS_ASSERT_IMAGE_NON_EMPTY(NAME, RVAL) PS_ASSERT_GENERAL_IMAGE_NON_EMPTY(NAME, return RVAL)
+#define PS_ASSERT_GENERAL_IMAGE_NON_EMPTY(NAME, CLEANUP) \
+if ((NAME)->numCols < 1 || (NAME)->numRows < 1) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "Unallowable operation: psImage %s has zero rows or columns (%dx%d).", \
+            #NAME, (NAME)->numCols, (NAME)->numRows); \
+    CLEANUP; \
+}
+
+#define PS_ASSERT_IMAGE_TYPE(NAME, TYPE, RVAL) \
+if ((NAME)->type.type != TYPE) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: psImage %s has incorrect type.", \
+            #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_IMAGES_SIZE_EQUAL(NAME1, NAME2, RVAL) \
+if (((NAME1)->numCols != (NAME2)->numCols) || \
+        ((NAME1)->numRows != (NAME2)->numRows)) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "Unallowable operation: psImages %s and %s are not the same size.", \
+            #NAME1, #NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_IMAGE_SIZE(NAME1, NUM_COLS, NUM_ROWS, RVAL) \
+if (((NAME1)->numCols != NUM_COLS) || \
+        ((NAME1)->numRows != NUM_ROWS)) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "Unallowable operation: psImages %s is not the correct size.", \
+            #NAME1); \
+    return(RVAL); \
+}
+
+#define PS_IMAGE_PRINT_F32(NAME) \
+printf("======== printing %s ========\n", #NAME); \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        printf("%.2f ", (NAME)->data.F32[i][j]); \
+    } \
+    printf("\n"); \
+}\
+
+#define PS_IMAGE_PRINT_F64(NAME) \
+printf("======== printing %s ========\n", #NAME); \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        printf("%.2f ", (NAME)->data.F64[i][j]); \
+    } \
+    printf("\n"); \
+}\
+
 /// @}
 
Index: /trunk/psLib/src/mathtypes/psVector.h
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.h	(revision 7765)
+++ /trunk/psLib/src/mathtypes/psVector.h	(revision 7766)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-15 02:29:12 $
+ *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -269,4 +269,94 @@
 
 
+/*****************************************************************************
+    PS_VECTOR macros:
+ *****************************************************************************/
+
+#define PS_ASSERT_VECTOR_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_VECTOR_NON_NULL(NAME, return RVAL)
+#define PS_ASSERT_GENERAL_VECTOR_NON_NULL(NAME, CLEANUP) \
+if ((NAME) == NULL || (NAME)->data.U8 == NULL) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: psVector %s or its data is NULL.", \
+            #NAME); \
+    CLEANUP; \
+} \
+
+#define PS_ASSERT_VECTOR_NON_EMPTY(NAME, RVAL) PS_ASSERT_GENERAL_VECTOR_NON_EMPTY(NAME, return RVAL)
+#define PS_ASSERT_GENERAL_VECTOR_NON_EMPTY(NAME, CLEANUP) \
+if ((NAME)->n < 1) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "Unallowable operation: psVector %s has no elements.", \
+            #NAME); \
+    CLEANUP; \
+} \
+
+#define PS_ASSERT_VECTOR_TYPE_F32_OR_F64(NAME, RVAL) \
+if (((NAME)->type.type != PS_TYPE_F32) && ((NAME)->type.type != PS_TYPE_F64)) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "psVector %s: bad type(%d)", \
+            #NAME, NAME->type.type); \
+    return(RVAL); \
+} \
+
+#define PS_ASSERT_VECTOR_TYPE_S16_S32_F32(NAME, RVAL) \
+if (((NAME)->type.type != PS_TYPE_S16) && ((NAME)->type.type != PS_TYPE_S32) && ((NAME)->type.type != PS_TYPE_F32)) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "psVector %s: bad type(%d)", \
+            #NAME, NAME->type.type); \
+    return(RVAL); \
+} \
+
+#define PS_ASSERT_VECTOR_TYPE(NAME, TYPE, RVAL) \
+if ((NAME)->type.type != TYPE) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: psVector %s has incorrect type.", \
+            #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_VECTORS_SIZE_EQUAL(VEC1, VEC2, RVAL) \
+if (VEC1->n != VEC2->n) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "psVector %s has size %d, psVector %s has size %d.", \
+            #VEC1, VEC1->n, #VEC2, VEC2->n); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_VECTOR_SIZE(VEC, SIZE, RVAL) \
+if (VEC->n != SIZE) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "psVector %s has size %d, should be %d.", \
+            #VEC, VEC->n, SIZE); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_VECTOR_TYPE_EQUAL(VEC1, VEC2, RVAL) \
+if (VEC1->type.type != VEC2->type.type) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "psVector %s has size %d, psVector %s has size %d.", \
+            #VEC1, VEC1->type.type, #VEC2, VEC2->type.type); \
+    return(RVAL); \
+}
+
+#define PS_VECTOR_PRINT_F32(NAME) \
+if (NAME != NULL) { \
+    for (int my_i=0;my_i<(NAME)->n;my_i++) { \
+        printf("%s->data.F32[%d] is %f\n", #NAME, my_i, (NAME)->data.F32[my_i]); \
+    } \
+    printf("\n"); \
+} else {\
+    printf("MACRO WARNING: vector %s is NULL.\n", #NAME); \
+}\
+
+#define PS_VECTOR_PRINT_F64(NAME) \
+if (NAME != NULL) { \
+    for (int my_i=0;my_i<(NAME)->n;my_i++) { \
+        printf("%s->data.F64[%d] is %f\n", #NAME, my_i, (NAME)->data.F64[my_i]); \
+    } \
+    printf("\n"); \
+} else {\
+    printf("MACRO WARNING: vector %s is NULL.\n", #NAME); \
+}\
+
 /// @}
 
Index: /trunk/psLib/src/sys/Makefile.am
===================================================================
--- /trunk/psLib/src/sys/Makefile.am	(revision 7765)
+++ /trunk/psLib/src/sys/Makefile.am	(revision 7766)
@@ -30,4 +30,5 @@
 pslibinclude_HEADERS = \
 	psAbort.h \
+	psAssert.h \
 	psConfigure.h  \
 	psError.h      \
Index: /trunk/psLib/src/sys/psAssert.h
===================================================================
--- /trunk/psLib/src/sys/psAssert.h	(revision 7766)
+++ /trunk/psLib/src/sys/psAssert.h	(revision 7766)
@@ -0,0 +1,223 @@
+#ifndef PS_ASSERT_H
+#define PS_ASSERT_H
+
+#include "psError.h"
+#include "psLogMsg.h"
+
+#define PS_ASSERT_INT_UNEQUAL(NAME1, NAME2, RVAL) \
+if ((NAME1) == (NAME2)) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s and %s are equal.", \
+            #NAME1, #NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_EQUAL(NAME1, NAME2, RVAL) \
+if ((NAME1) != (NAME2)) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s and %s are not equal.", \
+            #NAME1, #NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_NONNEGATIVE(NAME, RVAL) \
+if ((NAME) < 0) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Error: %s is less than 0.", #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_POSITIVE(NAME, RVAL) \
+if ((NAME) < 1) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s is 0 or less.", #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_ZERO(NAME, RVAL) \
+if ((NAME) != 0) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s is 0.", #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_NONZERO(NAME, RVAL) \
+if ((NAME) == 0) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s is 0.", #NAME); \
+    return(RVAL); \
+}
+
+// XXX: Where did these int casts come from?
+#define PS_ASSERT_INT_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
+if ((int)(NAME) < LOWER || (int)(NAME) > UPPER) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s, %d, is out of range.  Must be between %d and %d.", \
+            #NAME,(int)NAME,LOWER,UPPER); \
+    return RVAL; \
+}
+
+#define PS_ASSERT_INT_LESS_THAN(VAR1, VAR2, RVAL) \
+if (!(VAR1 < VAR2)) { \
+    psError(PS_ERR_UNKNOWN, true, \
+            "Error: %s is not less than %s (%d, %d)", #VAR1, #VAR2, VAR1, VAR2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_LESS_THAN_OR_EQUAL(VAR1, VAR2, RVAL) \
+if (!(VAR1 <= VAR2)) { \
+    psError(PS_ERR_UNKNOWN, true, \
+            "Error: %s is not less than %s (%d, %d)", #VAR1, #VAR2, VAR1, VAR2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_LARGER_THAN(NAME1, NAME2, RVAL) \
+if (!((NAME1) > (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s > %s) (%d %d).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_INT_LARGER_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
+if (!((NAME1) >= (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s >= %s) (%d %d).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+#define PS_ASSERT_FLOAT_LARGER_THAN(NAME1, NAME2, RVAL) \
+if (!((NAME1) > (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s > %s) (%f %f).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_FLOAT_LARGER_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
+if (!((NAME1) >= (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s >= %s) (%f %f).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_FLOAT_LESS_THAN(NAME1, NAME2, RVAL) \
+if (!((NAME1) < (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s < %s) (%f %f).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_FLOAT_LESS_THAN_OR_EQUAL(NAME1, NAME2, RVAL) \
+if (!((NAME1) <= (NAME2))) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: !(%s <= %s) (%f %f).", \
+            #NAME1, #NAME2, NAME1, NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_FLOAT_NON_EQUAL(NAME1, NAME2, RVAL) \
+if (fabs((NAME2) - (NAME1)) < FLT_EPSILON) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s and %s are equal.", \
+            #NAME1, #NAME2); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_FLOAT_EQUAL(NAME1, NAME2, RVAL) \
+if (fabs((NAME2) - (NAME1)) > FLT_EPSILON) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s and %s are not equal.", \
+            #NAME1, #NAME2); \
+    return(RVAL); \
+}
+
+// Return an error if the arg lies outside the supplied range.
+#define PS_ASSERT_FLOAT_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
+if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s, %f, is out of range.  Must be between %f and %f.", \
+            #NAME, NAME, LOWER, UPPER); \
+    return RVAL; \
+}
+
+#define PS_ASSERT_DOUBLE_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
+if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s, %lf, is out of range.  Must be between %lf and %lf.", \
+            #NAME, NAME, LOWER, UPPER); \
+    return RVAL; \
+}
+
+#define PS_ASSERT_LONG_WITHIN_RANGE(NAME, LOWER, UPPER, RVAL) \
+if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
+    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
+            "Error: %s, %lld, is out of range.", \
+            #NAME, NAME, LOWER, UPPER); \
+    return RVAL; \
+}
+
+/*****************************************************************************
+Macros which take a generic psLib type and determine if it is NULL, or has
+the wrong type.
+*****************************************************************************/
+#define PS_WARN_PTR_NON_NULL(NAME) \
+if ((NAME) == NULL) { \
+    psLogMsg(__func__, PS_LOG_WARN, "WARNING: %s is NULL.", #NAME); \
+} \
+
+#define PS_ASSERT_PTR_NON_NULL(NAME, RVAL) PS_ASSERT_GENERAL_PTR_NON_NULL(NAME, return RVAL)
+#define PS_ASSERT_GENERAL_PTR_NON_NULL(NAME, CLEANUP) \
+if ((NAME) == NULL) { \
+    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
+            "Unallowable operation: %s is NULL.", \
+            #NAME); \
+    CLEANUP; \
+}
+
+#define PS_ASSERT_PTR_TYPE(NAME, TYPE, RVAL) \
+if ((NAME)->type.type != TYPE) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: %s has incorrect type.", \
+            #NAME); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_PTR_DIMEN(NAME, DIMEN, RVAL) PS_ASSERT_GENERAL_PTR_DIMEN(NAME, DIMEN, return RVAL)
+#define PS_ASSERT_GENERAL_PTR_DIMEN(NAME, DIMEN, CLEANUP) \
+if ((NAME)->type.dimen != DIMEN) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: %s has incorrect dimensionality.", \
+            #NAME); \
+    CLEANUP; \
+}
+
+#define PS_ASSERT_PTR_DIMEN_GENERAL_NOT(NAME, DIMEN, CLEANUP) \
+if ((NAME)->type.dimen == DIMEN) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "Unallowable operation: %s has incorrect dimensionality.", \
+            #NAME); \
+    CLEANUP; \
+}
+
+
+#define PS_ASSERT_PTRS_SIZE_EQUAL(PTR1, PTR2, RVAL) \
+if (PTR1->n != PTR2->n) { \
+    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
+            "ptr %s has size %d, ptr %s has size %d.", \
+            #PTR1, PTR1->n, #PTR2, PTR2->n); \
+    return(RVAL); \
+}
+
+#define PS_ASSERT_PTR_TYPE_EQUAL(PTR1, PTR2, RVAL) PS_ASSERT_PTRS_TYPE_EQUAL_GENERAL(PTR1, PTR2, return RVAL)
+#define PS_ASSERT_PTRS_TYPE_EQUAL_GENERAL(PTR1, PTR2, CLEANUP) \
+if (PTR1->type.type != PTR2->type.type) { \
+    psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+            "ptr %s has type %d, ptr %s has type %d.", \
+            #PTR1, PTR1->type.type, #PTR2, PTR2->type.type); \
+    CLEANUP; \
+}
+
+
+#endif
Index: /trunk/psLib/src/sys/psString.c
===================================================================
--- /trunk/psLib/src/sys/psString.c	(revision 7765)
+++ /trunk/psLib/src/sys/psString.c	(revision 7766)
@@ -13,6 +13,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-23 20:29:39 $
+ *  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,5 +25,5 @@
 #include "psMemory.h"
 #include "psError.h"
-#include "psConstants.h"
+#include "psAssert.h"
 
 #include "psErrorText.h"
Index: /trunk/psLib/src/types/psHash.c
===================================================================
--- /trunk/psLib/src/types/psHash.c	(revision 7765)
+++ /trunk/psLib/src/types/psHash.c	(revision 7766)
@@ -12,6 +12,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-08-30 01:14:13 $
+*  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,5 +25,5 @@
 #include "psTrace.h"
 #include "psError.h"
-#include "psConstants.h"
+#include "psAssert.h"
 
 #include "psErrorText.h"
Index: /trunk/psLib/src/types/psLookupTable.c
===================================================================
--- /trunk/psLib/src/types/psLookupTable.c	(revision 7765)
+++ /trunk/psLib/src/types/psLookupTable.c	(revision 7766)
@@ -7,6 +7,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-06-13 23:54:57 $
+*  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii
@@ -26,5 +26,5 @@
 #include "psLookupTable.h"
 #include "psErrorText.h"
-#include "psConstants.h"
+#include "psAssert.h"
 
 /******************************************************************************/
Index: /trunk/psLib/src/types/psMetadata.c
===================================================================
--- /trunk/psLib/src/types/psMetadata.c	(revision 7765)
+++ /trunk/psLib/src/types/psMetadata.c	(revision 7766)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.114 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-27 03:42:01 $
+ *  @version $Revision: 1.115 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-30 02:20:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -37,5 +37,5 @@
 #include "psString.h"
 #include "psErrorText.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psLogMsg.h"
 #include "psTrace.h"
Index: /trunk/psLib/src/types/psMetadataConfig.c
===================================================================
--- /trunk/psLib/src/types/psMetadataConfig.c	(revision 7765)
+++ /trunk/psLib/src/types/psMetadataConfig.c	(revision 7766)
@@ -10,6 +10,6 @@
 *  @author Eric Van Alst, MHPCC
 *
-*  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-06-10 02:28:17 $
+*  @version $Revision: 1.62 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -31,5 +31,5 @@
 #include "psMetadata.h"
 #include "psMetadataConfig.h"
-#include "psConstants.h"
+#include "psAssert.h"
 #include "psErrorText.h"
 
Index: /trunk/psLib/src/types/psMetadataItemParse.c
===================================================================
--- /trunk/psLib/src/types/psMetadataItemParse.c	(revision 7765)
+++ /trunk/psLib/src/types/psMetadataItemParse.c	(revision 7766)
@@ -4,4 +4,5 @@
 
 #include "psMemory.h"
+#include "psAssert.h"
 #include "psError.h"
 #include "psMetadata.h"
Index: /trunk/psLib/src/xml/psXML.c
===================================================================
--- /trunk/psLib/src/xml/psXML.c	(revision 7765)
+++ /trunk/psLib/src/xml/psXML.c	(revision 7766)
@@ -10,6 +10,6 @@
 *  @author David Robbins, MHPCC
 *
-*  @version $Revision: 1.44 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-12-24 00:33:22 $
+*  @version $Revision: 1.45 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-06-30 02:20:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -17,4 +17,5 @@
 
 #include "psXML.h"
+#include "psAssert.h"
 #include <unistd.h>
 #include <fcntl.h>
