Index: /trunk/psLib/pslib.kdevelop
===================================================================
--- /trunk/psLib/pslib.kdevelop	(revision 5086)
+++ /trunk/psLib/pslib.kdevelop	(revision 5087)
@@ -0,0 +1,194 @@
+<?xml version = '1.0'?>
+<kdevelop>
+  <general>
+    <author>Robert Daniel DeSonia</author>
+    <email>robert.desonia@mhpcc.hpc.mil</email>
+    <version>1.6</version>
+    <projectmanagement>KDevAutoProject</projectmanagement>
+    <primarylanguage>C</primarylanguage>
+    <keywords>
+      <keyword>C</keyword>
+      <keyword>Code</keyword>
+    </keywords>
+    <ignoreparts/>
+    <projectdirectory>.</projectdirectory>
+    <absoluteprojectpath>false</absoluteprojectpath>
+    <description/>
+    <secondaryLanguages/>
+  </general>
+  <kdevautoproject>
+    <general>
+      <activetarget>src/pslib</activetarget>
+      <useconfiguration>default</useconfiguration>
+    </general>
+    <run>
+      <mainprogram>src/pslib</mainprogram>
+      <terminal>true</terminal>
+      <directoryradio>executable</directoryradio>
+    </run>
+    <configurations>
+      <optimized>
+        <builddir>optimized</builddir>
+        <ccompiler>kdevgccoptions</ccompiler>
+        <cxxcompiler>kdevgppoptions</cxxcompiler>
+        <f77compiler>kdevg77options</f77compiler>
+        <cflags>-O2 -g0 </cflags>
+      </optimized>
+      <debug>
+        <configargs>--enable-debug=full</configargs>
+        <builddir>debug</builddir>
+        <ccompiler>kdevgccoptions</ccompiler>
+        <cxxcompiler>kdevgppoptions</cxxcompiler>
+        <f77compiler>kdevg77options</f77compiler>
+        <cflags>-O0 -g3 </cflags>
+      </debug>
+    </configurations>
+    <make>
+      <envvars>
+        <envvar value="1" name="WANT_AUTOCONF_2_5" />
+        <envvar value="1" name="WANT_AUTOMAKE_1_6" />
+      </envvars>
+    </make>
+  </kdevautoproject>
+  <kdevdoctreeview>
+    <ignoretocs>
+      <toc>ada</toc>
+      <toc>ada_bugs_gcc</toc>
+      <toc>bash</toc>
+      <toc>bash_bugs</toc>
+      <toc>clanlib</toc>
+      <toc>w3c-dom-level2-html</toc>
+      <toc>fortran_bugs_gcc</toc>
+      <toc>gnome1</toc>
+      <toc>gnustep</toc>
+      <toc>gtk</toc>
+      <toc>gtk_bugs</toc>
+      <toc>haskell</toc>
+      <toc>haskell_bugs_ghc</toc>
+      <toc>java_bugs_gcc</toc>
+      <toc>java_bugs_sun</toc>
+      <toc>kde2book</toc>
+      <toc>libstdc++</toc>
+      <toc>opengl</toc>
+      <toc>pascal_bugs_fp</toc>
+      <toc>php</toc>
+      <toc>php_bugs</toc>
+      <toc>perl</toc>
+      <toc>perl_bugs</toc>
+      <toc>python</toc>
+      <toc>python_bugs</toc>
+      <toc>qt-kdev3</toc>
+      <toc>ruby</toc>
+      <toc>ruby_bugs</toc>
+      <toc>sdl</toc>
+      <toc>stl</toc>
+      <toc>w3c-svg</toc>
+      <toc>sw</toc>
+      <toc>w3c-uaag10</toc>
+      <toc>wxwidgets_bugs</toc>
+    </ignoretocs>
+    <ignoreqt_xml>
+      <toc>Guide to the Qt Translation Tools</toc>
+      <toc>Qt Assistant Manual</toc>
+      <toc>Qt Designer Manual</toc>
+      <toc>Qt Reference Documentation</toc>
+      <toc>qmake User Guide</toc>
+    </ignoreqt_xml>
+    <ignoredoxygen>
+      <toc>KDE Libraries (Doxygen)</toc>
+    </ignoredoxygen>
+  </kdevdoctreeview>
+  <kdevfilecreate>
+    <useglobaltypes>
+      <type ext="c" />
+      <type ext="h" />
+    </useglobaltypes>
+  </kdevfilecreate>
+  <kdevfileview>
+    <groups>
+      <group pattern="*.h" name="Header files" />
+      <group pattern="*.c" name="Source files" />
+      <hidenonprojectfiles>false</hidenonprojectfiles>
+      <hidenonlocation>false</hidenonlocation>
+    </groups>
+    <tree>
+      <hidepatterns>*.o,*.lo,CVS</hidepatterns>
+      <hidenonprojectfiles>false</hidenonprojectfiles>
+      <showvcsfields>false</showvcsfields>
+    </tree>
+  </kdevfileview>
+  <kdevdocumentation>
+    <projectdoc>
+      <docsystem>Doxygen Documentation Collection</docsystem>
+      <docurl>${APPNAMELC}.tag</docurl>
+    </projectdoc>
+  </kdevdocumentation>
+  <substmap>
+    <APPNAME>psLib</APPNAME>
+    <APPNAMELC>pslib</APPNAMELC>
+    <APPNAMEUC>PSLIB</APPNAMEUC>
+    <AUTHOR>Robert Daniel DeSonia</AUTHOR>
+    <CFLAGS/>
+    <EMAIL>robert.desonia@mhpcc.hpc.mil</EMAIL>
+    <LICENSE>GPL</LICENSE>
+    <LICENSEFILE>COPYING</LICENSEFILE>
+    <OPT_INCS>-I/usr/include</OPT_INCS>
+    <OPT_LIBS>-lm</OPT_LIBS>
+    <VERSION>1.5</VERSION>
+    <dest>/home/desonia/pslib</dest>
+  </substmap>
+  <kdevcppsupport>
+    <references/>
+    <codecompletion>
+      <includeGlobalFunctions>true</includeGlobalFunctions>
+      <includeTypes>true</includeTypes>
+      <includeEnums>true</includeEnums>
+      <includeTypedefs>false</includeTypedefs>
+      <automaticCodeCompletion>true</automaticCodeCompletion>
+      <automaticArgumentsHint>true</automaticArgumentsHint>
+      <automaticHeaderCompletion>true</automaticHeaderCompletion>
+      <codeCompletionDelay>250</codeCompletionDelay>
+      <argumentsHintDelay>400</argumentsHintDelay>
+      <headerCompletionDelay>250</headerCompletionDelay>
+    </codecompletion>
+    <creategettersetter>
+      <prefixGet/>
+      <prefixSet>set</prefixSet>
+      <prefixVariable>m_,_</prefixVariable>
+      <parameterName>theValue</parameterName>
+      <inlineGet>true</inlineGet>
+      <inlineSet>true</inlineSet>
+    </creategettersetter>
+  </kdevcppsupport>
+  <cppsupportpart>
+    <filetemplates>
+      <interfacesuffix>.h</interfacesuffix>
+      <implementationsuffix>.cpp</implementationsuffix>
+    </filetemplates>
+  </cppsupportpart>
+  <kdevdebugger>
+    <general>
+      <programargs/>
+      <gdbpath/>
+      <dbgshell>libtool</dbgshell>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
+      <breakonloadinglibs>true</breakonloadinglibs>
+      <separatetty>false</separatetty>
+      <floatingtoolbar>false</floatingtoolbar>
+    </general>
+    <display>
+      <staticmembers>false</staticmembers>
+      <demanglenames>true</demanglenames>
+      <outputradix>10</outputradix>
+    </display>
+  </kdevdebugger>
+  <kdevcvsservice>
+    <recursivewhenupdate>true</recursivewhenupdate>
+    <prunedirswhenupdate>true</prunedirswhenupdate>
+    <createdirswhenupdate>true</createdirswhenupdate>
+    <recursivewhencommitremove>true</recursivewhencommitremove>
+    <revertoptions>-C</revertoptions>
+  </kdevcvsservice>
+</kdevelop>
Index: /trunk/psLib/src/astro/psTime.h
===================================================================
--- /trunk/psLib/src/astro/psTime.h	(revision 5086)
+++ /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 5086)
+++ /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 5086)
+++ /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
+);
+
 /// @}
 
Index: /trunk/psLib/test/mathtypes/tst_psVector.c
===================================================================
--- /trunk/psLib/test/mathtypes/tst_psVector.c	(revision 5086)
+++ /trunk/psLib/test/mathtypes/tst_psVector.c	(revision 5087)
@@ -14,6 +14,6 @@
  *  @author  Ross Harman, MHPCC
  *
- *  @version $Revision: 1.2 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2005-08-26 23:01:17 $
+ *  @version $Revision: 1.3 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2005-09-21 21:37:21 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -28,4 +28,5 @@
 static psS32 testVectorExtend(void);
 static psS32 testVectorInit(void);
+static psS32 testVectorCreate(void);
 
 testDescription tests[] = {
@@ -34,4 +35,5 @@
                               {testVectorExtend,-3,"psVectorExtend",0,false},
                               {testVectorInit,-4,"psVectorInit",0,false},
+                              {testVectorCreate,-5,"psVectorCreate",0,false},
                               {NULL}
                           };
@@ -357,2 +359,26 @@
     return 0;
 }
+
+psS32 testVectorCreate(void)
+{
+    psVector *test = NULL;
+    psVector *test2 = NULL;
+
+    test = psVectorCreate(0.0, 10.0, 1.0, PS_TYPE_S32);
+    test2 = psVectorCreate(0.0, 5.0, 0.5, PS_TYPE_F32);
+
+    for (int i = 0; i < 10; i++) {
+        if (test->data.S32[i] != i) {
+            fprintf(stderr, "Vector data does not match. i = %d, data=%d\n", i, test->data.S32[i]);
+            return 1;
+        }
+        if (test2->data.F32[i] != i*0.5) {
+            fprintf(stderr, "Vector data does not match. i = %d, data=%f\n", i, test->data.F32[i]);
+            return 1;
+        }
+    }
+    psFree(test);
+    psFree(test2);
+    return 0;
+}
+
Index: /trunk/psLib/test/mathtypes/verified/tst_psVector.stderr
===================================================================
--- /trunk/psLib/test/mathtypes/verified/tst_psVector.stderr	(revision 5086)
+++ /trunk/psLib/test/mathtypes/verified/tst_psVector.stderr	(revision 5087)
@@ -49,2 +49,11 @@
 ---> TESTPOINT PASSED (psVector{psVectorInit} | tst_psVector.c)
 
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psVector.c                                             *
+*            TestPoint: psVector{psVectorCreate}                                   *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psVector{psVectorCreate} | tst_psVector.c)
+
