Index: /trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.c	(revision 11697)
+++ /trunk/psLib/src/mathtypes/psVector.c	(revision 11698)
@@ -10,6 +10,6 @@
 *  @author Joshua Hoblitt, University of Hawaii
 *
-*  @version $Revision: 1.93 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2007-02-08 02:42:46 $
+*  @version $Revision: 1.94 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2007-02-08 02:59:36 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -153,12 +153,15 @@
 }
 
-psVector* psVectorRecycle(psVector* vector,
-                          long nalloc,
-                          psElemType type)
+psVector* p_psVectorRecycle(const char *file,
+                            unsigned int lineno,
+                            const char *func,
+                            psVector* vector,
+                            long nalloc,
+                            psElemType type)
 {
     psS32 byteSize;
 
     if (vector == NULL) {
-        return psVectorAlloc(nalloc, type);
+        return p_psVectorAlloc(file, lineno, func, nalloc, type);
     }
 
@@ -224,5 +227,8 @@
 }
 
-psVector* psVectorCopy(psVector* output,
+psVector* p_psVectorCopy(const char *file,
+                       unsigned int lineno,
+                       const char *func,
+                       psVector* output,
                        const psVector* input,
                        psElemType type)
@@ -237,5 +243,5 @@
     psS32 nElements = input->n;
 
-    output = psVectorRecycle(output, nElements, type);
+    output = p_psVectorRecycle(file, lineno, func, output, nElements, type);
     if (nElements == 0) {
         //        psWarning("Warning: psVector was copied with 0 elements!\n");
@@ -854,9 +860,9 @@
 
 #define FUNC_MACRO_VECTOR_CREATE(TYPE) \
-static psVector *vectorCreate##TYPE(psVector *input, double lower, double upper, double delta) \
+static psVector *vectorCreate##TYPE(const char *file, unsigned int lineno, const char *func, psVector *input, double lower, double upper, double delta) \
 { \
     \
     int nBin = (upper - lower) / delta; \
-    psVector *vec = psVectorRecycle(input, nBin, PS_TYPE_##TYPE); \
+    psVector *vec = p_psVectorRecycle(file, lineno, func, input, nBin, PS_TYPE_##TYPE); \
     vec->n = nBin; \
     for (int i = 0; i < nBin; i++) \
@@ -878,41 +884,44 @@
 FUNC_MACRO_VECTOR_CREATE(F64)
 
-psVector *psVectorCreate (psVector *input,
-                          double lower,
-                          double upper,
-                          double delta,
-                          psElemType type)
+psVector *p_psVectorCreate(const char *file,
+                           unsigned int lineno,
+                           const char *func,
+                           psVector *input,
+                           double lower,
+                           double upper,
+                           double delta,
+                           psElemType type)
 {
     psVector *out = NULL;
     switch (type) {
     case PS_TYPE_S8:
-        out = vectorCreateS8(input, lower,  upper, delta);
+        out = vectorCreateS8(file, lineno, func, input, lower,  upper, delta);
         break;
     case PS_TYPE_S16:
-        out = vectorCreateS16(input, lower, upper, delta);
+        out = vectorCreateS16(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_S32:
-        out = vectorCreateS32(input, lower, upper, delta);
+        out = vectorCreateS32(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_S64:
-        out = vectorCreateS64(input, lower, upper, delta);
+        out = vectorCreateS64(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_U8:
-        out = vectorCreateU8(input, lower, upper, delta);
+        out = vectorCreateU8(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_U16:
-        out = vectorCreateU16(input, lower, upper, delta);
+        out = vectorCreateU16(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_U32:
-        out = vectorCreateU32(input, lower, upper, delta);
+        out = vectorCreateU32(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_U64:
-        out = vectorCreateU64(input, lower, upper, delta);
+        out = vectorCreateU64(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_F32:
-        out = vectorCreateF32(input, lower, upper, delta);
+        out = vectorCreateF32(file, lineno, func, input, lower, upper, delta);
         break;
     case PS_TYPE_F64:
-        out = vectorCreateF64(input, lower, upper, delta);
+        out = vectorCreateF64(file, lineno, func, input, lower, upper, delta);
         break;
     default:
Index: /trunk/psLib/src/mathtypes/psVector.h
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.h	(revision 11697)
+++ /trunk/psLib/src/mathtypes/psVector.h	(revision 11698)
@@ -10,6 +10,6 @@
  * @author Joshua Hoblitt, University of Hawaii
  *
- * @version $Revision: 1.64 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-02-08 02:42:46 $
+ * @version $Revision: 1.65 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-02-08 02:59:36 $
  * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
  */
@@ -54,20 +54,22 @@
 #define P_PSVECTOR_SET_NALLOC(vec,n) *(long*)&(vec->nalloc) = n
 
-        /*****************************************************************************/
-
-        /* FUNCTION PROTOTYPES                                                       */
-
-        /*****************************************************************************/
-
-        /** Checks the type of a particular pointer.
-         *
-         *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
-         *
-         *  @return bool:       True if the pointer matches a psVector structure, false otherwise.
-         */
-        bool psMemCheckVector(
-            psPtr ptr                          ///< the pointer whose type to check
-        )
-        ;
+/*****************************************************************************/
+
+/* FUNCTION PROTOTYPES                                                       */
+
+/*****************************************************************************/
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr
+ *  datatype.
+ *
+ *  @return bool:       True if the pointer matches a psVector structure, false
+ *  otherwise.
+ */
+bool psMemCheckVector(
+    psPtr ptr                          ///< the pointer whose type to check
+)
+;
 
 /** Allocate a vector, with length set to number allocated
@@ -169,4 +171,5 @@
  *
  */
+#ifdef DOXYGEN
 psVector* psVectorRecycle(
     psVector* vector,
@@ -174,7 +177,22 @@
     ///< taken to preserve the values.
 
-    long nalloc,                       ///< Total number of elements to make available.
-    psElemType type                    ///< the datatype of the returned vector
-);
+    long nalloc,                        ///< Total number of elements to make available.
+    psElemType type                     ///< the datatype of the returned vector
+);
+#else // ifdef DOXYGEN
+psVector* p_psVectorRecycle(
+    const char *file,                   ///< File of caller
+    unsigned int lineno,                ///< Line number of caller
+    const char *func,                   ///< Function name of caller 
+    psVector* vector,
+    ///< Vector to recycle.  If NULL, a new vector is created.  No effort
+    ///< taken to preserve the values.
+
+    long nalloc,                        ///< Total number of elements to make available.
+    psElemType type                     ///< the datatype of the returned vector
+);
+#define psVectorRecycle(vector, nalloc, type) \
+      p_psVectorRecycle(__FILE__, __LINE__, __func__, vector, nalloc, type)
+#endif // ifdef DOXYGEN
 
 
@@ -187,4 +205,5 @@
  *
  */
+#ifdef DOXYGEN
 psVector* psVectorCopy(
     psVector* output,                  ///< if non-NULL, a psVector to recycle
@@ -192,4 +211,16 @@
     psElemType type                    ///< the data type of the resulting psVector
 );
+#else // ifdef DOXYGEN
+psVector* p_psVectorCopy(
+    const char *file,                   ///< File of caller
+    unsigned int lineno,                ///< Line number of caller
+    const char *func,                   ///< Function name of caller 
+    psVector* output,                  ///< if non-NULL, a psVector to recycle
+    const psVector* input,             ///< the vector to copy.
+    psElemType type                    ///< the data type of the resulting psVector
+);
+#define psVectorCopy(output, input, type) \
+      p_psVectorCopy(__FILE__, __LINE__, __func__, output, input, type) 
+#endif // ifdef DOXYGEN
 
 
@@ -244,5 +275,5 @@
  *  @return bool          TRUE is successful, otherwise FALSE.
  */
-bool p_psVectorPrint (
+bool p_psVectorPrint(
     int fd,                            ///< output file descriptor
     const psVector *a,                       ///< vector to print
@@ -272,5 +303,6 @@
  *  @return psVector*:       the newly created psVector
  */
-psVector *psVectorCreate (
+#ifdef DOXYGEN
+psVector *psVectorCreate(
     psVector *input,                   ///< Input vector
     double lower,                      ///< lower bound
@@ -279,4 +311,18 @@
     psElemType type                    ///< type of vector to create
 );
+#else // ifdef DOXYGEN
+psVector *p_psVectorCreate(
+    const char *file,                   ///< File of caller
+    unsigned int lineno,                ///< Line number of caller
+    const char *func,                   ///< Function name of caller 
+    psVector *input,                   ///< Input vector
+    double lower,                      ///< lower bound
+    double upper,                      ///< upper bound
+    double delta,                      ///< size of increment
+    psElemType type                    ///< type of vector to create
+);
+#define psVectorCreate(input, lower, upper, delta, type) \
+      p_psVectorCreate(__FILE__, __LINE__, __func__, input, lower, upper, delta, type)
+#endif // ifdef DOXYGEN
 
 
