Index: trunk/psLib/src/math/psConstants.h
===================================================================
--- trunk/psLib/src/math/psConstants.h	(revision 2788)
+++ trunk/psLib/src/math/psConstants.h	(revision 2811)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.49 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-12-22 05:09:32 $
+ *  @version $Revision: 1.50 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-12-23 23:16:19 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -201,4 +201,12 @@
 } \
 
+#define PS_VECTOR_CHECK_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_VECTOR_CHECK_TYPE(NAME, TYPE, RVAL) \
 if (NAME->type.type != TYPE) { \
@@ -214,4 +222,12 @@
             "psVector %s has size %d, psVector %s has size %d.", \
             #VEC1, VEC1->n, #VEC2, VEC2->n); \
+    return(RVAL); \
+}
+
+#define PS_VECTOR_CHECK_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); \
 }
@@ -307,4 +323,54 @@
 } \
 
+#define PS_VECTOR_SET_U8(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.U8[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_U16(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.U16[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_U32(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.U32[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_U64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.U64[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_S8(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.S8[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_S16(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.S16[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_S32(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.S32[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_S64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.S64[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_F64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.F64[i] = VALUE; \
+}\
+
+#define PS_VECTOR_SET_F32(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->n ; i++) { \
+    (NAME)->data.F32[i] = VALUE; \
+}\
+
 
 /*****************************************************************************
@@ -444,15 +510,71 @@
 }\
 
+#define PS_IMAGE_SET_U8(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.U8[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_U16(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.U16[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_U32(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.U32[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_U64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.U64[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_S8(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.S8[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_S16(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.S16[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_S32(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.S32[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_S64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.S64[i][j] = (VALUE); \
+    } \
+}\
+
 #define PS_IMAGE_SET_F32(NAME, VALUE) \
-for (int i = 0 ; i < NAME->numRows ; i++) { \
-    for (int j = 0 ; j < NAME->numCols ; j++) { \
-        NAME->data.F32[i][j] = VALUE; \
-    } \
-}\
-
-#define PS_IMAGE_SET_U8(NAME, VALUE) \
-for (int i = 0 ; i < NAME->numRows ; i++) { \
-    for (int j = 0 ; j < NAME->numCols ; j++) { \
-        NAME->data.U8[i][j] = VALUE; \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.F32[i][j] = (VALUE); \
+    } \
+}\
+
+#define PS_IMAGE_SET_F64(NAME, VALUE) \
+for (int i = 0 ; i < (NAME)->numRows ; i++) { \
+    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
+        (NAME)->data.F64[i][j] = (VALUE); \
     } \
 }\
