Index: trunk/psLib/src/astro/psTime.h
===================================================================
--- trunk/psLib/src/astro/psTime.h	(revision 5083)
+++ trunk/psLib/src/astro/psTime.h	(revision 5087)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-09-21 02:11:16 $
+ *  @version $Revision: 1.41 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-21 21:37:20 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -375,24 +375,45 @@
 char* p_psGetConfigFileName();
 
+/**
+ *
+ *
+ *
+ */
 psF64 p_psTimeSearchTables(
-    psF64 index,
-    psU64 column,
-    char *metadataTableNames[],
-    psU32 nTables,
-    psLookupStatusType* status
-);
-
+    psF64 index,                       ///<
+    psU64 column,                      ///<
+    char *metadataTableNames[],        ///<
+    psU32 nTables,                     ///<
+    psLookupStatusType* status         ///<
+);
+
+/** Stores the current time in a psHash of timers, under the supplied name.
+ *
+ *  @return bool:       True if successful, otherwise false.
+ */
 bool psTimerStart(
-    char *name
-);
-
+    char *name                         ///< timer name to start
+);
+
+/** Resets the named timer.
+ *
+ *  @return psF64:      The time elapsed since start.
+ */
 psF64 psTimerClear(
-    char *name
-);
-
+    char *name                         ///< timer name to clear
+);
+
+/** Returns the elapsed time, in seconds, for the timer specified by name.
+ *
+ *  @return psF64:      The elapsed time in seconds since timer start.
+ */
 psF64 psTimerMark(
-    char *name
-);
-
+    char *name                        ///< timer name to mark
+);
+
+/** Frees all memory associated with all timers and returns the expended time.
+ *
+ *  @return psF64:      The maximum time expended.
+ */
 psF64 psTimerStop(void);
 
Index: trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- trunk/psLib/src/mathtypes/psVector.c	(revision 5083)
+++ trunk/psLib/src/mathtypes/psVector.c	(revision 5087)
@@ -9,6 +9,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-16 23:56:51 $
+*  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-09-21 21:37:21 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -745,3 +745,74 @@
 }
 
-
+#define FUNC_MACRO_VECTOR_CREATE(TYPE) \
+static psVector *vectorCreate##TYPE(double lower, double upper, double delta) \
+{ \
+    \
+    int nBin = (upper - lower) / delta; \
+    psVector *vec = psVectorAlloc(nBin, PS_TYPE_##TYPE); \
+    for (int i = 0; i < nBin; i++) \
+    { \
+        vec->data.TYPE[i] = lower + (i * delta); \
+    } \
+    return vec; \
+} \
+
+FUNC_MACRO_VECTOR_CREATE(S8)
+FUNC_MACRO_VECTOR_CREATE(S16)
+FUNC_MACRO_VECTOR_CREATE(S32)
+FUNC_MACRO_VECTOR_CREATE(S64)
+FUNC_MACRO_VECTOR_CREATE(U8)
+FUNC_MACRO_VECTOR_CREATE(U16)
+FUNC_MACRO_VECTOR_CREATE(U32)
+FUNC_MACRO_VECTOR_CREATE(U64)
+FUNC_MACRO_VECTOR_CREATE(F32)
+FUNC_MACRO_VECTOR_CREATE(F64)
+
+psVector *psVectorCreate (double lower,
+                          double upper,
+                          double delta,
+                          psElemType type)
+{
+    psVector *out;
+    switch (type) {
+    case PS_TYPE_S8:
+        out = vectorCreateS8( lower,  upper, delta);
+        break;
+    case PS_TYPE_S16:
+        out = vectorCreateS16(lower, upper, delta);
+        break;
+    case PS_TYPE_S32:
+        out = vectorCreateS32(lower, upper, delta);
+        break;
+    case PS_TYPE_S64:
+        out = vectorCreateS64(lower, upper, delta);
+        break;
+    case PS_TYPE_U8:
+        out = vectorCreateU8(lower, upper, delta);
+        break;
+    case PS_TYPE_U16:
+        out = vectorCreateU16(lower, upper, delta);
+        break;
+    case PS_TYPE_U32:
+        out = vectorCreateU32(lower, upper, delta);
+        break;
+    case PS_TYPE_U64:
+        out = vectorCreateU64(lower, upper, delta);
+        break;
+    case PS_TYPE_F32:
+        out = vectorCreateF32(lower, upper, delta);
+        break;
+    case PS_TYPE_F64:
+        out = vectorCreateF64(lower, upper, delta);
+        break;
+    default:
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psType for Vector Create\n");
+    }
+    /*
+      for (int i = 0; i < nBin; i++) {
+        out->data.F64[i] = lower + i * delta;
+      }
+    */
+    return (out);
+}
+
Index: trunk/psLib/src/mathtypes/psVector.h
===================================================================
--- trunk/psLib/src/mathtypes/psVector.h	(revision 5083)
+++ trunk/psLib/src/mathtypes/psVector.h	(revision 5087)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.45 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-09-16 23:56:51 $
+ *  @version $Revision: 1.46 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-21 21:37:21 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -208,4 +208,19 @@
 );
 
+/** Creates a new vector, or reallocates the provided vector if input is not NULL.
+ *
+ *  The created vector consists of the data range starting at lower, running to upper,
+ *  in steps of delta.  The upper-end value is exclusive; the sequence is equivalent to
+ *  for (x = lower; x <= upper - 1; x += delta).
+ *
+ *  @return psVector*:       the newly created psVector
+ */
+psVector *psVectorCreate (
+    double lower,                      ///< lower bound
+    double upper,                      ///< upper bound
+    double delta,                      ///< size of increment
+    psElemType type                    ///< type of vector to create
+);
+
 /// @}
 
