Index: /trunk/psLib/src/mathtypes/psImage.c
===================================================================
--- /trunk/psLib/src/mathtypes/psImage.c	(revision 7532)
+++ /trunk/psLib/src/mathtypes/psImage.c	(revision 7533)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.105 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-12 20:43:16 $
+ *  @version $Revision: 1.106 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-06-13 19:53:54 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -307,5 +307,5 @@
 }
 
-bool psImageSet(const psImage *image,
+bool psImageSet(psImage *image,
                 int x,
                 int y,
@@ -361,41 +361,22 @@
     }
 
+    #define IMAGE_SET_CASE(TYPE) \
+case PS_TYPE_##TYPE: \
+    image->data.TYPE[y][x] = value; \
+    break;
+
     switch (image->type.type) {
-    case PS_TYPE_U8:
-        *(psU8*)&image->data.U8[x][y] = value;
-        break;
-    case PS_TYPE_U16:
-        *(psU16*)&image->data.U16[x][y] = value;
-        break;
-    case PS_TYPE_U32:
-        *(psU32*)&image->data.U32[x][y] = value;
-        break;
-    case PS_TYPE_U64:
-        *(psU64*)&image->data.U64[x][y] = value;
-        break;
-    case PS_TYPE_S8:
-        *(psS8*)&image->data.S8[x][y] = value;
-        break;
-    case PS_TYPE_S16:
-        *(psS16*)&image->data.S16[x][y] = value;
-        break;
-    case PS_TYPE_S32:
-        *(psS32*)&image->data.S32[x][y] = value;
-        break;
-    case PS_TYPE_S64:
-        *(psS64*)&image->data.S64[x][y] = value;
-        break;
-    case PS_TYPE_F32:
-        *(psF32*)&image->data.F32[x][y] = value;
-        break;
-    case PS_TYPE_F64:
-        *(psF64*)&image->data.F64[x][y] = value;
-        break;
-    case PS_TYPE_C32:
-        *(psC32*)&image->data.C32[x][y] = value;
-        break;
-    case PS_TYPE_C64:
-        *(psC64*)&image->data.C64[x][y] = value;
-        break;
+        IMAGE_SET_CASE(U8);
+        IMAGE_SET_CASE(U16);
+        IMAGE_SET_CASE(U32);
+        IMAGE_SET_CASE(U64);
+        IMAGE_SET_CASE(S8);
+        IMAGE_SET_CASE(S16);
+        IMAGE_SET_CASE(S32);
+        IMAGE_SET_CASE(S64);
+        IMAGE_SET_CASE(F32);
+        IMAGE_SET_CASE(F64);
+        IMAGE_SET_CASE(C32);
+        IMAGE_SET_CASE(C64);
     default:
         psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psImage Data Type\n");
@@ -459,42 +440,21 @@
     }
 
+    #define IMAGE_GET_CASE(TYPE) \
+case PS_TYPE_##TYPE: \
+    return image->data.TYPE[y][x];
 
     switch (image->type.type) {
-    case PS_TYPE_U8:
-        return image->data.U8[x][y];
-        break;
-    case PS_TYPE_U16:
-        return image->data.U16[x][y];
-        break;
-    case PS_TYPE_U32:
-        return image->data.U32[x][y];
-        break;
-    case PS_TYPE_U64:
-        return image->data.U64[x][y];
-        break;
-    case PS_TYPE_S8:
-        return image->data.S8[x][y];
-        break;
-    case PS_TYPE_S16:
-        return image->data.S16[x][y];
-        break;
-    case PS_TYPE_S32:
-        return image->data.S32[x][y];
-        break;
-    case PS_TYPE_S64:
-        return image->data.S64[x][y];
-        break;
-    case PS_TYPE_F32:
-        return image->data.F32[x][y];
-        break;
-    case PS_TYPE_F64:
-        return image->data.F64[x][y];
-        break;
-    case PS_TYPE_C32:
-        return image->data.C32[x][y];
-        break;
-    case PS_TYPE_C64:
-        return image->data.C64[x][y];
-        break;
+        IMAGE_GET_CASE(U8);
+        IMAGE_GET_CASE(U16);
+        IMAGE_GET_CASE(U32);
+        IMAGE_GET_CASE(U64);
+        IMAGE_GET_CASE(S8);
+        IMAGE_GET_CASE(S16);
+        IMAGE_GET_CASE(S32);
+        IMAGE_GET_CASE(S64);
+        IMAGE_GET_CASE(F32);
+        IMAGE_GET_CASE(F64);
+        IMAGE_GET_CASE(C32);
+        IMAGE_GET_CASE(C64);
     default:
         psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psImage Data Type\n");
