Index: /trunk/psLib/src/collections/psVector.c
===================================================================
--- /trunk/psLib/src/collections/psVector.c	(revision 671)
+++ /trunk/psLib/src/collections/psVector.c	(revision 672)
@@ -19,6 +19,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-13 22:47:52 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -75,9 +75,5 @@
     }
 
-    if (elemType == PS_TYPE_PTR) {
-        elementSize = sizeof(void*);
-    } else {
-        elementSize = PSELEMTYPE_SIZEOF(elemType);
-    }
+    elementSize = PSELEMTYPE_SIZEOF(elemType);
 
     // Create vector struct
@@ -102,13 +98,9 @@
     // Invalid nalloc
     if(nalloc < 1) {
-        psError(__func__, " : Line %d - Invalid value for nalloc. nalloc: %d\n", __LINE__, nalloc);
+        psError(__func__, "Invalid value for nalloc (%d)\n", nalloc);
         return NULL;
     }
 
-    if (elemType == PS_TYPE_PTR) {
-        elementSize = sizeof(void*);
-    } else {
-        elementSize = PSELEMTYPE_SIZEOF(elemType);
-    }
+    elementSize = PSELEMTYPE_SIZEOF(elemType);
 
 
@@ -137,12 +129,6 @@
     }
 
-    if (psVec->type.type == PS_TYPE_PTR) {
-        psLogMsg(__func__,PS_LOG_WARN,"psVectorFree was called with a void* vector. "
-                 "Referenced of pointers was not freed.");
-        psVoidPtrVectorFree(psVec,NULL);
-    } else {
-        psFree(psVec->vec.v);
-        psFree(psVec);
-    }
+    psFree(psVec->vec.v);
+    psFree(psVec);
 }
 
Index: /trunk/psLib/src/collections/psVector.h
===================================================================
--- /trunk/psLib/src/collections/psVector.h	(revision 671)
+++ /trunk/psLib/src/collections/psVector.h	(revision 672)
@@ -3,5 +3,5 @@
  *  @brief Contains support for basic vector types
  *
- *  This file defines types and functions for one dimensional vectors which include: 
+ *  This file defines types and functions for one dimensional vectors which include:
  *      char
  *      short
@@ -18,7 +18,7 @@
  *
  *  @author Ross Harman, MHPCC
- *   
- *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-13 22:47:52 $
+ *
+ *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -28,70 +28,5 @@
 #define PS_VECTOR_H
 
-#include <complex.h>
-#include <stdint.h>
-
-/******************************************************************************/
-/*  DEFINE STATEMENTS                                                         */
-/******************************************************************************/
-
-// None
-
-/******************************************************************************/
-/*  TYPE DEFINITIONS                                                          */
-/******************************************************************************/
-
-/** Basic data types used by the containers.
- *
- * The basic types of the primitives used by psLib are defined within this enum. This enum is in turn used by
- * the psType struct.
- *
- */
-typedef enum {
-    PS_TYPE_INT8 = 0x11,              ///< Character.
-    PS_TYPE_INT16 = 0x12,             ///< Short integer.
-    PS_TYPE_INT32 = 0x14,             ///< Integer.
-    PS_TYPE_INT64 = 0x18,             ///< Long integer.
-    PS_TYPE_UINT8 = 0x31,             ///< Unsigned character.
-    PS_TYPE_UINT16 = 0x32,            ///< Unsigned short integer.
-    PS_TYPE_UINT32 = 0x34,            ///< Unsigned integer.
-    PS_TYPE_UINT64 = 0x38,            ///< Unsigned long integer.
-    PS_TYPE_FLOAT = 0x44,             ///< Single-precision Floating point.
-    PS_TYPE_DOUBLE = 0x48,            ///< Double-precision floating point.
-    PS_TYPE_COMPLEX_FLOAT = 0x84,     ///< Complex numbers consisting of single-precision floating point.
-    PS_TYPE_COMPLEX_DOUBLE = 0x88,    ///< Complex numbers consisting of double-precision floating point.
-    PS_TYPE_PTR = 0x00,               ///< Something else that's not supported for arithmetic.}
-} psElemType;
-
-#define IS_PSELEMTYPE_INT(x) (x & 0x10 == 0x10)
-#define IS_PSELEMTYPE_UNSIGNED(x) (x & 0x20 == 0x20)
-#define IS_PSELEMTYPE_REAL(x) (x & 0x40 == 0x40)
-#define IS_PSELEMTYPE_COMPLEX(x) (x & 0x80 == 0x80)
-#define PSELEMTYPE_SIZEOF(x) (x & 0x0F)
-
-/** Dimensions of a data type.
- *
- * The dimensions of containers used by psLib are defined within this enum. This enum is used by the psType struct.
- *
- */
-typedef enum {
-    PS_DIMEN_SCALAR,    ///< Scalar.
-    PS_DIMEN_VECTOR,    ///< Vector.
-    PS_DIMEN_TRANSV,    ///< Transposed vector.
-    PS_DIMEN_IMAGE,     ///< Image.
-    PS_DIMEN_OTHER      ///< Something else that's not supported for arithmetic.
-} psDimen;
-
-/** The type of a data type.
- *
- * All psLib complex types consist of primitive components. This struct provides the description of those
- * primitives.
- *
- */
-typedef struct
-{
-    psElemType type;    ///< Primitive type.
-    psDimen dimen;      ///< Dimensionality.
-}
-psType;
+#include "psType.h"
 
 /** An vector to support primitive types.
@@ -174,5 +109,5 @@
  *
  */
-void psVoidPtrVectorFree(
+void psVectorElementFree(
     psVector *restrict psVec,   ///< Void pointer vector to destroy.
     void (*elemFree)(void *)    ///< Optional callback function to remove vector elements.
Index: /trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.c	(revision 671)
+++ /trunk/psLib/src/mathtypes/psVector.c	(revision 672)
@@ -19,6 +19,6 @@
  *  @author Ross Harman, MHPCC
  *   
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-13 22:47:52 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -75,9 +75,5 @@
     }
 
-    if (elemType == PS_TYPE_PTR) {
-        elementSize = sizeof(void*);
-    } else {
-        elementSize = PSELEMTYPE_SIZEOF(elemType);
-    }
+    elementSize = PSELEMTYPE_SIZEOF(elemType);
 
     // Create vector struct
@@ -102,13 +98,9 @@
     // Invalid nalloc
     if(nalloc < 1) {
-        psError(__func__, " : Line %d - Invalid value for nalloc. nalloc: %d\n", __LINE__, nalloc);
+        psError(__func__, "Invalid value for nalloc (%d)\n", nalloc);
         return NULL;
     }
 
-    if (elemType == PS_TYPE_PTR) {
-        elementSize = sizeof(void*);
-    } else {
-        elementSize = PSELEMTYPE_SIZEOF(elemType);
-    }
+    elementSize = PSELEMTYPE_SIZEOF(elemType);
 
 
@@ -137,12 +129,6 @@
     }
 
-    if (psVec->type.type == PS_TYPE_PTR) {
-        psLogMsg(__func__,PS_LOG_WARN,"psVectorFree was called with a void* vector. "
-                 "Referenced of pointers was not freed.");
-        psVoidPtrVectorFree(psVec,NULL);
-    } else {
-        psFree(psVec->vec.v);
-        psFree(psVec);
-    }
+    psFree(psVec->vec.v);
+    psFree(psVec);
 }
 
Index: /trunk/psLib/src/mathtypes/psVector.h
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.h	(revision 671)
+++ /trunk/psLib/src/mathtypes/psVector.h	(revision 672)
@@ -3,5 +3,5 @@
  *  @brief Contains support for basic vector types
  *
- *  This file defines types and functions for one dimensional vectors which include: 
+ *  This file defines types and functions for one dimensional vectors which include:
  *      char
  *      short
@@ -18,7 +18,7 @@
  *
  *  @author Ross Harman, MHPCC
- *   
- *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-05-13 22:47:52 $
+ *
+ *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -28,70 +28,5 @@
 #define PS_VECTOR_H
 
-#include <complex.h>
-#include <stdint.h>
-
-/******************************************************************************/
-/*  DEFINE STATEMENTS                                                         */
-/******************************************************************************/
-
-// None
-
-/******************************************************************************/
-/*  TYPE DEFINITIONS                                                          */
-/******************************************************************************/
-
-/** Basic data types used by the containers.
- *
- * The basic types of the primitives used by psLib are defined within this enum. This enum is in turn used by
- * the psType struct.
- *
- */
-typedef enum {
-    PS_TYPE_INT8 = 0x11,              ///< Character.
-    PS_TYPE_INT16 = 0x12,             ///< Short integer.
-    PS_TYPE_INT32 = 0x14,             ///< Integer.
-    PS_TYPE_INT64 = 0x18,             ///< Long integer.
-    PS_TYPE_UINT8 = 0x31,             ///< Unsigned character.
-    PS_TYPE_UINT16 = 0x32,            ///< Unsigned short integer.
-    PS_TYPE_UINT32 = 0x34,            ///< Unsigned integer.
-    PS_TYPE_UINT64 = 0x38,            ///< Unsigned long integer.
-    PS_TYPE_FLOAT = 0x44,             ///< Single-precision Floating point.
-    PS_TYPE_DOUBLE = 0x48,            ///< Double-precision floating point.
-    PS_TYPE_COMPLEX_FLOAT = 0x84,     ///< Complex numbers consisting of single-precision floating point.
-    PS_TYPE_COMPLEX_DOUBLE = 0x88,    ///< Complex numbers consisting of double-precision floating point.
-    PS_TYPE_PTR = 0x00,               ///< Something else that's not supported for arithmetic.}
-} psElemType;
-
-#define IS_PSELEMTYPE_INT(x) (x & 0x10 == 0x10)
-#define IS_PSELEMTYPE_UNSIGNED(x) (x & 0x20 == 0x20)
-#define IS_PSELEMTYPE_REAL(x) (x & 0x40 == 0x40)
-#define IS_PSELEMTYPE_COMPLEX(x) (x & 0x80 == 0x80)
-#define PSELEMTYPE_SIZEOF(x) (x & 0x0F)
-
-/** Dimensions of a data type.
- *
- * The dimensions of containers used by psLib are defined within this enum. This enum is used by the psType struct.
- *
- */
-typedef enum {
-    PS_DIMEN_SCALAR,    ///< Scalar.
-    PS_DIMEN_VECTOR,    ///< Vector.
-    PS_DIMEN_TRANSV,    ///< Transposed vector.
-    PS_DIMEN_IMAGE,     ///< Image.
-    PS_DIMEN_OTHER      ///< Something else that's not supported for arithmetic.
-} psDimen;
-
-/** The type of a data type.
- *
- * All psLib complex types consist of primitive components. This struct provides the description of those
- * primitives.
- *
- */
-typedef struct
-{
-    psElemType type;    ///< Primitive type.
-    psDimen dimen;      ///< Dimensionality.
-}
-psType;
+#include "psType.h"
 
 /** An vector to support primitive types.
@@ -174,5 +109,5 @@
  *
  */
-void psVoidPtrVectorFree(
+void psVectorElementFree(
     psVector *restrict psVec,   ///< Void pointer vector to destroy.
     void (*elemFree)(void *)    ///< Optional callback function to remove vector elements.
Index: /trunk/psLib/src/sys/psType.h
===================================================================
--- /trunk/psLib/src/sys/psType.h	(revision 672)
+++ /trunk/psLib/src/sys/psType.h	(revision 672)
@@ -0,0 +1,91 @@
+/** @file  psVector.h
+ *
+ *  @brief Contains support for basic vector types
+ *
+ *  This file defines types and functions for one dimensional vectors which include:
+ *      char
+ *      short
+ *      int
+ *      long
+ *      unsigned char
+ *      unsigned short
+ *      unsigned int
+ *      unsigned long
+ *      float
+ *      double
+ *      complex float
+ *      void **
+ *
+ *  @author Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+#ifndef PS_TYPE_H
+#define PS_TYPE_H
+
+#include <complex.h>
+#include <stdint.h>
+
+/******************************************************************************/
+/*  TYPE DEFINITIONS                                                          */
+/******************************************************************************/
+
+/** Basic data types used by the containers.
+ *
+ * The basic types of the primitives used by psLib are defined within this enum. This enum is in turn used by
+ * the psType struct.
+ *
+ */
+typedef enum {
+    PS_TYPE_INT8 = 0x11,              ///< Character.
+    PS_TYPE_INT16 = 0x12,             ///< Short integer.
+    PS_TYPE_INT32 = 0x14,             ///< Integer.
+    PS_TYPE_INT64 = 0x18,             ///< Long integer.
+    PS_TYPE_UINT8 = 0x31,             ///< Unsigned character.
+    PS_TYPE_UINT16 = 0x32,            ///< Unsigned short integer.
+    PS_TYPE_UINT32 = 0x34,            ///< Unsigned integer.
+    PS_TYPE_UINT64 = 0x38,            ///< Unsigned long integer.
+    PS_TYPE_FLOAT = 0x44,             ///< Single-precision Floating point.
+    PS_TYPE_DOUBLE = 0x48,            ///< Double-precision floating point.
+    PS_TYPE_COMPLEX_FLOAT = 0x84,     ///< Complex numbers consisting of single-precision floating point.
+    PS_TYPE_COMPLEX_DOUBLE = 0x88,    ///< Complex numbers consisting of double-precision floating point.
+    PS_TYPE_PTR = 0x00,               ///< Something else that's not supported for arithmetic.}
+} psElemType;
+
+#define IS_PSELEMTYPE_INT(x) (x & 0x10 == 0x10)
+#define IS_PSELEMTYPE_UNSIGNED(x) (x & 0x20 == 0x20)
+#define IS_PSELEMTYPE_REAL(x) (x & 0x40 == 0x40)
+#define IS_PSELEMTYPE_COMPLEX(x) (x & 0x80 == 0x80)
+#define PSELEMTYPE_SIZEOF(x) ( (x==PS_TYPE_PTR) ? sizeof(void*) : (x & 0x0F) )
+
+/** Dimensions of a data type.
+ *
+ * The dimensions of containers used by psLib are defined within this enum. This enum is used by the psType 
+struct. *
+ */
+typedef enum {
+    PS_DIMEN_SCALAR,    ///< Scalar.
+    PS_DIMEN_VECTOR,    ///< Vector.
+    PS_DIMEN_TRANSV,    ///< Transposed vector.
+    PS_DIMEN_IMAGE,     ///< Image.
+    PS_DIMEN_OTHER      ///< Something else that's not supported for arithmetic.
+} psDimen;
+
+/** The type of a data type.
+ *
+ * All psLib complex types consist of primitive components. This struct provides the description of those
+ * primitives.
+ *
+ */
+typedef struct
+{
+    psElemType type;    ///< Primitive type.
+    psDimen dimen;      ///< Dimensionality.
+}
+psType;
+
+#endif
Index: /trunk/psLib/src/sysUtils/psType.h
===================================================================
--- /trunk/psLib/src/sysUtils/psType.h	(revision 672)
+++ /trunk/psLib/src/sysUtils/psType.h	(revision 672)
@@ -0,0 +1,91 @@
+/** @file  psVector.h
+ *
+ *  @brief Contains support for basic vector types
+ *
+ *  This file defines types and functions for one dimensional vectors which include:
+ *      char
+ *      short
+ *      int
+ *      long
+ *      unsigned char
+ *      unsigned short
+ *      unsigned int
+ *      unsigned long
+ *      float
+ *      double
+ *      complex float
+ *      void **
+ *
+ *  @author Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-05-13 23:36:27 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+#ifndef PS_TYPE_H
+#define PS_TYPE_H
+
+#include <complex.h>
+#include <stdint.h>
+
+/******************************************************************************/
+/*  TYPE DEFINITIONS                                                          */
+/******************************************************************************/
+
+/** Basic data types used by the containers.
+ *
+ * The basic types of the primitives used by psLib are defined within this enum. This enum is in turn used by
+ * the psType struct.
+ *
+ */
+typedef enum {
+    PS_TYPE_INT8 = 0x11,              ///< Character.
+    PS_TYPE_INT16 = 0x12,             ///< Short integer.
+    PS_TYPE_INT32 = 0x14,             ///< Integer.
+    PS_TYPE_INT64 = 0x18,             ///< Long integer.
+    PS_TYPE_UINT8 = 0x31,             ///< Unsigned character.
+    PS_TYPE_UINT16 = 0x32,            ///< Unsigned short integer.
+    PS_TYPE_UINT32 = 0x34,            ///< Unsigned integer.
+    PS_TYPE_UINT64 = 0x38,            ///< Unsigned long integer.
+    PS_TYPE_FLOAT = 0x44,             ///< Single-precision Floating point.
+    PS_TYPE_DOUBLE = 0x48,            ///< Double-precision floating point.
+    PS_TYPE_COMPLEX_FLOAT = 0x84,     ///< Complex numbers consisting of single-precision floating point.
+    PS_TYPE_COMPLEX_DOUBLE = 0x88,    ///< Complex numbers consisting of double-precision floating point.
+    PS_TYPE_PTR = 0x00,               ///< Something else that's not supported for arithmetic.}
+} psElemType;
+
+#define IS_PSELEMTYPE_INT(x) (x & 0x10 == 0x10)
+#define IS_PSELEMTYPE_UNSIGNED(x) (x & 0x20 == 0x20)
+#define IS_PSELEMTYPE_REAL(x) (x & 0x40 == 0x40)
+#define IS_PSELEMTYPE_COMPLEX(x) (x & 0x80 == 0x80)
+#define PSELEMTYPE_SIZEOF(x) ( (x==PS_TYPE_PTR) ? sizeof(void*) : (x & 0x0F) )
+
+/** Dimensions of a data type.
+ *
+ * The dimensions of containers used by psLib are defined within this enum. This enum is used by the psType 
+struct. *
+ */
+typedef enum {
+    PS_DIMEN_SCALAR,    ///< Scalar.
+    PS_DIMEN_VECTOR,    ///< Vector.
+    PS_DIMEN_TRANSV,    ///< Transposed vector.
+    PS_DIMEN_IMAGE,     ///< Image.
+    PS_DIMEN_OTHER      ///< Something else that's not supported for arithmetic.
+} psDimen;
+
+/** The type of a data type.
+ *
+ * All psLib complex types consist of primitive components. This struct provides the description of those
+ * primitives.
+ *
+ */
+typedef struct
+{
+    psElemType type;    ///< Primitive type.
+    psDimen dimen;      ///< Dimensionality.
+}
+psType;
+
+#endif
