Index: /trunk/psLib/psLib.kdevses
===================================================================
--- /trunk/psLib/psLib.kdevses	(revision 1403)
+++ /trunk/psLib/psLib.kdevses	(revision 1404)
@@ -2,21 +2,5 @@
 <!DOCTYPE KDevPrjSession>
 <KDevPrjSession>
- <DocsAndViews NumberOfDocuments="3" >
-  <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/astronomy/psPhotometry.h" >
-   <View0 line="0" Type="???" >
-    <AdditionalSettings Top="1" Width="1210" Attach="1" Height="700" Left="1" MinMaxMode="0" />
-   </View0>
-  </Doc0>
-  <Doc1 NumberOfViews="1" URL="file:/home/desonia/psLib/src/astronomy/psCoord.h" >
-   <View0 line="197" Type="???" >
-    <AdditionalSettings Top="1" Width="1210" Attach="1" Height="672" Left="1" MinMaxMode="0" />
-   </View0>
-  </Doc1>
-  <Doc2 NumberOfViews="1" URL="file:/home/desonia/psLib/src/astronomy/psCoord.c" >
-   <View0 line="26" Type="???" >
-    <AdditionalSettings Top="1" Width="1210" Attach="1" Height="672" Left="1" MinMaxMode="0" />
-   </View0>
-  </Doc2>
- </DocsAndViews>
+ <DocsAndViews NumberOfDocuments="0" />
  <pluginList>
   <kdevbookmarks>
Index: /trunk/psLib/src/collections/psVector.c
===================================================================
--- /trunk/psLib/src/collections/psVector.c	(revision 1403)
+++ /trunk/psLib/src/collections/psVector.c	(revision 1404)
@@ -8,6 +8,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -117,5 +117,5 @@
 }
 
-psVector *psVectorRecycle( psVector *restrict in, psElemType type, unsigned int nalloc )
+psVector *psVectorRecycle( psVector *restrict in, unsigned int nalloc, psElemType type )
 {
     psElemType elemType;
Index: /trunk/psLib/src/dataManip/psFFT.c
===================================================================
--- /trunk/psLib/src/dataManip/psFFT.c	(revision 1403)
+++ /trunk/psLib/src/dataManip/psFFT.c	(revision 1404)
@@ -5,6 +5,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -484,5 +484,5 @@
     numElements = in->n;
 
-    out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+    out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
     out->n = numElements;
 
@@ -542,5 +542,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Real portion of a non-Complex type called called for. "
                   "Just a vector copy was performed." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, numElements * PSELEMTYPE_SIZEOF( type ) );
@@ -552,5 +552,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -588,5 +588,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Imaginary portion of a non-Complex type called for. "
                   "A zeroed vector was returned." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memset( out->data.V, 0, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -598,5 +598,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -650,5 +650,5 @@
         psF32* imagVec = imag->data.F32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -687,5 +687,5 @@
                   "Vector copy was performed instead." );
 
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -697,5 +697,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -746,5 +746,5 @@
         psF32 inAbs2;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, outNumElements );
+        out = psVectorRecycle( out, outNumElements, PS_TYPE_F32 );
         out->n = outNumElements;
         outVec = out->data.F32;
Index: /trunk/psLib/src/dataManip/psVectorFFT.c
===================================================================
--- /trunk/psLib/src/dataManip/psVectorFFT.c	(revision 1403)
+++ /trunk/psLib/src/dataManip/psVectorFFT.c	(revision 1404)
@@ -5,6 +5,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -484,5 +484,5 @@
     numElements = in->n;
 
-    out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+    out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
     out->n = numElements;
 
@@ -542,5 +542,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Real portion of a non-Complex type called called for. "
                   "Just a vector copy was performed." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, numElements * PSELEMTYPE_SIZEOF( type ) );
@@ -552,5 +552,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -588,5 +588,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Imaginary portion of a non-Complex type called for. "
                   "A zeroed vector was returned." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memset( out->data.V, 0, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -598,5 +598,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -650,5 +650,5 @@
         psF32* imagVec = imag->data.F32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -687,5 +687,5 @@
                   "Vector copy was performed instead." );
 
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -697,5 +697,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -746,5 +746,5 @@
         psF32 inAbs2;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, outNumElements );
+        out = psVectorRecycle( out, outNumElements, PS_TYPE_F32 );
         out->n = outNumElements;
         outVec = out->data.F32;
Index: /trunk/psLib/src/fft/psVectorFFT.c
===================================================================
--- /trunk/psLib/src/fft/psVectorFFT.c	(revision 1403)
+++ /trunk/psLib/src/fft/psVectorFFT.c	(revision 1404)
@@ -5,6 +5,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -484,5 +484,5 @@
     numElements = in->n;
 
-    out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+    out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
     out->n = numElements;
 
@@ -542,5 +542,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Real portion of a non-Complex type called called for. "
                   "Just a vector copy was performed." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, numElements * PSELEMTYPE_SIZEOF( type ) );
@@ -552,5 +552,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -588,5 +588,5 @@
         psLogMsg( __func__, PS_LOG_WARN, "Imaginary portion of a non-Complex type called for. "
                   "A zeroed vector was returned." );
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memset( out->data.V, 0, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -598,5 +598,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_F32 );
         out->n = numElements;
         outVec = out->data.F32;
@@ -650,5 +650,5 @@
         psF32* imagVec = imag->data.F32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -687,5 +687,5 @@
                   "Vector copy was performed instead." );
 
-        out = psVectorRecycle( out, type, numElements );
+        out = psVectorRecycle( out, numElements, type );
         out->n = numElements;
         memcpy( out->data.V, in->data.V, PSELEMTYPE_SIZEOF( type ) * numElements );
@@ -697,5 +697,5 @@
         psC32* inVec = in->data.C32;
 
-        out = psVectorRecycle( out, PS_TYPE_C32, numElements );
+        out = psVectorRecycle( out, numElements, PS_TYPE_C32 );
         out->n = numElements;
         outVec = out->data.C32;
@@ -746,5 +746,5 @@
         psF32 inAbs2;
 
-        out = psVectorRecycle( out, PS_TYPE_F32, outNumElements );
+        out = psVectorRecycle( out, outNumElements, PS_TYPE_F32 );
         out->n = outNumElements;
         outVec = out->data.F32;
Index: /trunk/psLib/src/image/psImageExtraction.c
===================================================================
--- /trunk/psLib/src/image/psImageExtraction.c	(revision 1403)
+++ /trunk/psLib/src/image/psImageExtraction.c	(revision 1404)
@@ -9,6 +9,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -230,4 +230,5 @@
 
 psVector* psImageSlice( psVector* out,
+                        psVector* slicePositions,
                         const psImage* restrict in,
                         const psImage* restrict mask,
@@ -321,8 +322,13 @@
         psVector* maskVec = NULL;
         psMaskType* maskData = NULL;
+        psU32* outPosition = NULL;
 
         // recycle output to make a proper sized/type output structure
         // n.b. type is double as that is the type given for all stats in psStats.
-        out = psVectorRecycle( out, PS_TYPE_F64, numCols );
+        out = psVectorRecycle( out, numCols, PS_TYPE_F64);
+        if (slicePositions != NULL) {
+            slicePositions = psVectorRecycle(slicePositions,numCols,PS_TYPE_U32);
+            outPosition = slicePositions->data.U32;
+        }
         outData = out->data.F64;
         if ( delta < 0 ) {
@@ -355,4 +361,7 @@
                 (void)p_psGetStatValue(myStats,&statVal); \
                 *outData = statVal; \
+                if (outPosition != NULL) { \
+                    *(outPosition++) = col+c; \
+                } \
                 outData += delta; \
             } \
@@ -385,4 +394,5 @@
             psVector* maskVec = NULL;
             int elementSize = PSELEMTYPE_SIZEOF( type );
+            psU32* outPosition = NULL;
 
             // fill in psVectors to fake out the statistics functions.
@@ -398,5 +408,9 @@
             // recycle output to make a proper sized/type output structure
             // n.b. type is double as that is the type given for all stats in psStats.
-            out = psVectorRecycle( out, PS_TYPE_F64, numRows );
+            out = psVectorRecycle( out, numRows, PS_TYPE_F64 );
+            if (slicePositions != NULL) {
+                slicePositions = psVectorRecycle(slicePositions,numRows,PS_TYPE_U32);
+                outPosition = slicePositions->data.U32;
+            }
             outData = out->data.F64;
             if ( delta < 0 ) {
@@ -413,4 +427,7 @@
                 ( void ) p_psGetStatValue( myStats, &statVal ); // we know it works cause we tested it above
                 *outData = statVal;
+                if (outPosition != NULL) {
+                    *(outPosition++) = row+r;
+                }
                 outData += delta;
             }
Index: /trunk/psLib/src/image/psImageExtraction.h
===================================================================
--- /trunk/psLib/src/image/psImageExtraction.h	(revision 1403)
+++ /trunk/psLib/src/image/psImageExtraction.h	(revision 1404)
@@ -9,6 +9,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 00:55:17 $
+*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -68,4 +68,5 @@
 psVector* psImageSlice(
     psVector* out,
+    psVector* slicePositions,
     const psImage* restrict input,
     const psImage* restrict mask,
Index: /trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.c	(revision 1403)
+++ /trunk/psLib/src/mathtypes/psVector.c	(revision 1404)
@@ -8,6 +8,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-04 23:37:39 $
+*  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -117,5 +117,5 @@
 }
 
-psVector *psVectorRecycle( psVector *restrict in, psElemType type, unsigned int nalloc )
+psVector *psVectorRecycle( psVector *restrict in, unsigned int nalloc, psElemType type )
 {
     psElemType elemType;
Index: /trunk/psLib/test/FullUnitTest
===================================================================
--- /trunk/psLib/test/FullUnitTest	(revision 1403)
+++ /trunk/psLib/test/FullUnitTest	(revision 1404)
@@ -19,6 +19,6 @@
 #  RETURN : integer number of tests which failed
 #
-#  $Revision: 1.10 $  $Name: not supported by cvs2svn $
-#  $Date: 2004-07-08 19:34:18 $
+#  $Revision: 1.11 $  $Name: not supported by cvs2svn $
+#  $Date: 2004-08-06 21:50:13 $
 #
 #  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -555,7 +555,9 @@
    chop $hostname;
    while( <OUTFILE> ) {
-       s/\d+:\d+:\d+/ <DATE> /;
-       s/\s+\d+:\d+:\d+\w/ <TIME> /;
-       s/$hostname/<HOST>/;
+       s/\s+\d+:\d+:\d+\w/<TIME>/g;
+       s/\d+:\d+:\d+/<DATE>/g;
+       s/$hostname/<HOST>/g;
+       s/: Line \d+/: Line <LINENO>/g;
+       s/\:\d+/\:<LINENO>/g;
        # Filter lines with *** malloc.  This is an artifact of Mac testing of
        # memory functions
@@ -575,7 +577,9 @@
    # Replace the variable date, time and host information with constants
    while( <OUTFILE> ) {
-       s/\d+:\d+:\d+/ <DATE> /;
-       s/\s+\d+:\d+:\d+\w/ <TIME> /;
-       s/$hostname/<HOST>/;
+       s/\s+\d+:\d+:\d+\w/<TIME>/g;
+       s/\d+:\d+:\d+/<DATE>/g;
+       s/$hostname/<HOST>/g;
+       s/: Line \d+/: Line <LINENO>/g;
+       s/\:\d+/\:<LINENO>/g;
        # Filter lines with *** malloc.  This is an artifact of Mac testing of
        # memory functions
Index: /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stderr
===================================================================
--- /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stderr	(revision 1403)
+++ /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stderr	(revision 1404)
@@ -1,4 +1,3 @@
- <DATE> <TIME> |<HOST>|E|psMetadataFRead|Null FITS file descriptor not allowed
- <DATE> <TIME> |<HOST>|E|psMetadataFRead|Null extName and extNum = 0 not allowed
- <DATE> <TIME> |<HOST>|E|psMetadataFRead|FITS error while locating header 22: tried to move past end of file
- <DATE> <TIME> |<HOST>|E|psMetadataFRead|FITS error while locating header AARGH: illegal HDU number
+<DATE><TIME>|<HOST>|E|psMetadataFRead|Null FITS file descriptor not allowed
+<DATE><TIME>|<HOST>|E|psMetadataFRead|Null extname AND extnum = 0 not allowed
+<DATE><TIME>|<HOST>|E|psMetadataFRead|FITS error while locating header: tried to move past end of file
Index: /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stdout
===================================================================
--- /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stdout	(revision 1403)
+++ /trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stdout	(revision 1404)
@@ -7,8 +7,8 @@
 FITS file open status: OK - no error
 
+Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+Key Name:    NAXIS  Key Type:  2  Key Value:               0  Key Comment: number of data axes
+Key Name:   BITPIX  Key Type:  2  Key Value:               8  Key Comment: number of bits per data pixel
 Key Name:   SIMPLE  Key Type:  1  Key Value:               1  Key Comment: file does conform to FITS standard
-Key Name:   BITPIX  Key Type:  2  Key Value:               8  Key Comment: number of bits per data pixel
-Key Name:    NAXIS  Key Type:  2  Key Value:               0  Key Comment: number of data axes
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
 
 ---> TESTPOINT PASSED (psMetadata{Test A - Read 1st hdr from simple FITS file} | tst_psMetadata_01.c)
@@ -22,16 +22,16 @@
 FITS file open status: OK - no error
 
+Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+Key Name:  EXTNAME  Key Type:  5  Key Value:     'MY_DATA_1'  Key Comment: 
+Key Name:   BITPIX  Key Type:  2  Key Value:             -64  Key Comment: number of bits per data pixel
+Key Name:   GCOUNT  Key Type:  2  Key Value:               1  Key Comment: required keyword; must = 1
+Key Name:   PCOUNT  Key Type:  2  Key Value:               0  Key Comment: required keyword; must = 0
+Key Name:   NAXIS1  Key Type:  2  Key Value:              64  Key Comment: length of data axis 1
+Key Name:    NAXIS  Key Type:  2  Key Value:               1  Key Comment: number of data axes
+Key Name:   BITPIX  Key Type:  2  Key Value:             -64  Key Comment: number of bits per data pixel
 Key Name: XTENSION  Key Type:  5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
-Key Name:   BITPIX  Key Type:  2  Key Value:             -64  Key Comment: number of bits per data pixel
-Key Name:    NAXIS  Key Type:  2  Key Value:               1  Key Comment: number of data axes
-Key Name:   NAXIS1  Key Type:  2  Key Value:              64  Key Comment: length of data axis 1
-Key Name:   PCOUNT  Key Type:  2  Key Value:               0  Key Comment: required keyword; must = 0
-Key Name:   GCOUNT  Key Type:  2  Key Value:               1  Key Comment: required keyword; must = 1
-Key Name:   BITPIX  Key Type:  2  Key Value:             -64  Key Comment: number of bits per data pixel
-Key Name:  EXTNAME  Key Type:  5  Key Value:     'MY_DATA_1'  Key Comment: 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
 
 ---> TESTPOINT PASSED (psMetadata{Test B - Read 2nd hdr from complex FITS file} | tst_psMetadata_01.c)
@@ -45,13 +45,11 @@
 FITS file open status: OK - no error
 
-Key Name: XTENSION  Key Type:  5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+Key Name:  COMMENT  Key Type:  5  Key Value:                  Key Comment:   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
+Key Name:  COMMENT  Key Type:  5  Key Value:                  Key Comment:   FITS (Flexible Image Transport System) format is defined in 'Astronomy
+Key Name:   EXTEND  Key Type:  1  Key Value:               1  Key Comment: FITS dataset may contain extensions
+Key Name:   NAXIS1  Key Type:  2  Key Value:              64  Key Comment: length of data axis 1
+Key Name:    NAXIS  Key Type:  2  Key Value:               1  Key Comment: number of data axes
 Key Name:   BITPIX  Key Type:  2  Key Value:             -64  Key Comment: number of bits per data pixel
-Key Name:    NAXIS  Key Type:  2  Key Value:               1  Key Comment: number of data axes
-Key Name:   NAXIS1  Key Type:  2  Key Value:              64  Key Comment: length of data axis 1
-Key Name:   PCOUNT  Key Type:  2  Key Value:               0  Key Comment: required keyword; must = 0
-Key Name:   GCOUNT  Key Type:  2  Key Value:               1  Key Comment: required keyword; must = 1
-Key Name:  EXTNAME  Key Type:  5  Key Value:     'MY_DATA_2'  Key Comment: 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
-Key Name:  HISTORY  Key Type:  5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T <DATE> 
+Key Name:   SIMPLE  Key Type:  1  Key Value:               1  Key Comment: file does conform to FITS standard
 
 ---> TESTPOINT PASSED (psMetadata{Test C - Read named hdr from complex FITS file} | tst_psMetadata_01.c)
Index: /trunk/psLib/test/astronomy/verified/tst_psMetadata_02.stderr
===================================================================
--- /trunk/psLib/test/astronomy/verified/tst_psMetadata_02.stderr	(revision 1403)
+++ /trunk/psLib/test/astronomy/verified/tst_psMetadata_02.stderr	(revision 1404)
@@ -1,5 +1,5 @@
- <DATE> <TIME> |<HOST>|E|psMetadataItemA|Null value for name not allowed
- <DATE> <TIME> |<HOST>|E|psMetadataItemA|Invalid psMetadataType: 6
- <DATE> <TIME> |<HOST>|E|psMetadataAddIt|Null metadata collection not allowed
- <DATE> <TIME> |<HOST>|E|psMetadataAddIt|Null metadata item not allowed
- <DATE> <TIME> |<HOST>|E|psMetadataAddIt|Metadata already exists in metadata collection. Item not added. Name: myItem2
+<DATE><TIME>|<HOST>|E|psMetadataItemA|Null value for string not allowed
+<DATE><TIME>|<HOST>|E|psMetadataItemA|Invalid psMetadataType: 6
+<DATE><TIME>|<HOST>|E|psMetadataAddIt|Null metadata collection not allowed
+<DATE><TIME>|<HOST>|E|psMetadataAddIt|Null metadata item not allowed
+<DATE><TIME>|<HOST>|E|psMetadataAddIt|Metadata already exists in metadata collection. Item not added. Name: myItem2
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_01.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_01.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_01.stderr	(revision 1404)
@@ -1,6 +1,6 @@
- <DATE> <TIME> |<HOST>|E|   psBitSetTest| : Line 151 - Bit position too small: -4
- <DATE> <TIME> |<HOST>|E|   psBitSetTest| : Line 154 - Bit position too large: 200
- <DATE> <TIME> |<HOST>|E|   psBitSetTest| : Line 148 - Null psBitSet for inBitSet argument
- <DATE> <TIME> |<HOST>|E|    psBitSetSet| : Line 129 - Bit position too small: -4
- <DATE> <TIME> |<HOST>|E|    psBitSetSet| : Line 132 - Bit position too large: 200
- <DATE> <TIME> |<HOST>|E|    psBitSetSet| : Line 126 - Null psBitSet for inBitSet argument
+<DATE><TIME>|<HOST>|E|   psBitSetTest| : Line <LINENO> - Bit position too small: -4
+<DATE><TIME>|<HOST>|E|   psBitSetTest| : Line <LINENO> - Bit position too large: 200
+<DATE><TIME>|<HOST>|E|   psBitSetTest| : Line <LINENO> - Null psBitSet for inBitSet argument
+<DATE><TIME>|<HOST>|E|    psBitSetSet| : Line <LINENO> - Bit position too small: -4
+<DATE><TIME>|<HOST>|E|    psBitSetSet| : Line <LINENO> - Bit position too large: 200
+<DATE><TIME>|<HOST>|E|    psBitSetSet| : Line <LINENO> - Null psBitSet for inBitSet argument
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_05.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_05.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_05.stderr	(revision 1404)
@@ -1,1 +1,1 @@
- <DATE> <TIME> |<HOST>|E|     psBitSetOp| : Line 197 - psBitSet sizes not the same
+<DATE><TIME>|<HOST>|E|     psBitSetOp| : Line <LINENO> - psBitSet sizes not the same
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_06.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_06.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_06.stderr	(revision 1404)
@@ -1,2 +1,2 @@
- <DATE> <TIME> |<HOST>|E|     psBitSetOp| : Line 224 - Invalid psBitMask binary operation: ZZXOR
- <DATE> <TIME> |<HOST>|E|  psBitSetAlloc| : Line 88 - Allocation size must be > 0: size = -4
+<DATE><TIME>|<HOST>|E|     psBitSetOp| : Line <LINENO> - Invalid psBitMask binary operation: ZZXOR
+<DATE><TIME>|<HOST>|E|  psBitSetAlloc| : Line <LINENO> - Allocation size must be > 0: size = -4
Index: /trunk/psLib/test/collections/verified/tst_psBitSet_08.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psBitSet_08.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psBitSet_08.stderr	(revision 1404)
@@ -1,1 +1,1 @@
- <DATE> <TIME> |<HOST>|E|    psBitSetNot| : Line 238 - Null psBitSet for inBitSet argument
+<DATE><TIME>|<HOST>|E|    psBitSetNot| : Line <LINENO> - Null psBitSet for inBitSet argument
Index: /trunk/psLib/test/collections/verified/tst_psList.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psList.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psList.stderr	(revision 1404)
@@ -5,5 +5,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|  testListAlloc|psListAlloc shall create a psList with either 0 or 1 element.
+<DATE><TIME>|<HOST>|I|  testListAlloc|psListAlloc shall create a psList with either 0 or 1 element.
 
 ---> TESTPOINT PASSED (psList{psListAlloc} | tst_psList.c)
@@ -15,9 +15,9 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|    testListAdd|psListAdd shall add an element to list
- <DATE> <TIME> |<HOST>|I|    testListAdd|Following should error with invalid insert location
- <DATE> <TIME> |<HOST>|W|      psListAdd|The given insert location (-10) for psListAdd is invalid.
- <DATE> <TIME> |<HOST>|I|    testListAdd|Following should be a warning.
- <DATE> <TIME> |<HOST>|W|      psListAdd|Invalid index 9 (only 6 elements in psList); assuming tail.
+<DATE><TIME>|<HOST>|I|    testListAdd|psListAdd shall add an element to list
+<DATE><TIME>|<HOST>|I|    testListAdd|Following should error with invalid insert location
+<DATE><TIME>|<HOST>|W|      psListAdd|The given insert location (-10) for psListAdd is invalid.
+<DATE><TIME>|<HOST>|I|    testListAdd|Following should be a warning.
+<DATE><TIME>|<HOST>|W|      psListAdd|Invalid index 9 (only 6 elements in psList); assuming tail.
 
 ---> TESTPOINT PASSED (psList{psListAdd} | tst_psList.c)
@@ -29,6 +29,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|    testListGet|Following should be an error
- <DATE> <TIME> |<HOST>|E|listSetIterator|Unexpected null pointer for psList parameter (psList.c:259).
+<DATE><TIME>|<HOST>|I|    testListGet|Following should be an error
+<DATE><TIME>|<HOST>|E|listSetIterator|Unexpected null pointer for psList parameter (psList.c:<LINENO>).
 
 ---> TESTPOINT PASSED (psList{psListGet} | tst_psList.c)
@@ -40,14 +40,14 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I| testListRemove|Following should be an error
- <DATE> <TIME> |<HOST>|E|   psListRemove|list parameter found to be NULL in psListRemove
- <DATE> <TIME> |<HOST>|I| testListRemove|Next message should be an error
- <DATE> <TIME> |<HOST>|E|   psListRemove|Couldn't position to given index (-4) to remove element from list.
- <DATE> <TIME> |<HOST>|I| testListRemove|Next message should be an error
- <DATE> <TIME> |<HOST>|E|   psListRemove|Couldn't position to given index (-2) to remove element from list.
- <DATE> <TIME> |<HOST>|I| testListRemove|Next message should be an error
- <DATE> <TIME> |<HOST>|E|   psListRemove|Failed to find item in given psList.
- <DATE> <TIME> |<HOST>|I| testListRemove|Next message should be an error
- <DATE> <TIME> |<HOST>|E|   psListRemove|Failed to find item in given psList.
+<DATE><TIME>|<HOST>|I| testListRemove|Following should be an error
+<DATE><TIME>|<HOST>|E|   psListRemove|list parameter found to be NULL in psListRemove
+<DATE><TIME>|<HOST>|I| testListRemove|Next message should be an error
+<DATE><TIME>|<HOST>|E|   psListRemove|Couldn't position to given index (-4) to remove element from list.
+<DATE><TIME>|<HOST>|I| testListRemove|Next message should be an error
+<DATE><TIME>|<HOST>|E|   psListRemove|Couldn't position to given index (-2) to remove element from list.
+<DATE><TIME>|<HOST>|I| testListRemove|Next message should be an error
+<DATE><TIME>|<HOST>|E|   psListRemove|Failed to find item in given psList.
+<DATE><TIME>|<HOST>|I| testListRemove|Next message should be an error
+<DATE><TIME>|<HOST>|E|   psListRemove|Failed to find item in given psList.
 
 ---> TESTPOINT PASSED (psList{psListRemove} | tst_psList.c)
@@ -68,9 +68,9 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testListIterato| psListSetIterator/psListGetNext/psListGetPrev shall move the list cursor to the specified location
- <DATE> <TIME> |<HOST>|I|testListIterato|Following should error with 'Unexpected null pointer'
- <DATE> <TIME> |<HOST>|E|listSetIterator|Unexpected null pointer for psList parameter (psList.c:259).
- <DATE> <TIME> |<HOST>|I|testListIterato|Following should error with 'Can't move to an unknown position.'
- <DATE> <TIME> |<HOST>|E|listSetIterator|Can't move to an unknown position.  Not moving the iterator position.
+<DATE><TIME>|<HOST>|I|testListIterato| psListSetIterator/psListGetNext/psListGetPrev shall move the list cursor to the specified location
+<DATE><TIME>|<HOST>|I|testListIterato|Following should error with 'Unexpected null pointer'
+<DATE><TIME>|<HOST>|E|listSetIterator|Unexpected null pointer for psList parameter (psList.c:<LINENO>).
+<DATE><TIME>|<HOST>|I|testListIterato|Following should error with 'Can't move to an unknown position.'
+<DATE><TIME>|<HOST>|E|listSetIterator|Can't move to an unknown position.  Not moving the iterator position.
 
 ---> TESTPOINT PASSED (psList{psListIterator} | tst_psList.c)
Index: /trunk/psLib/test/collections/verified/tst_psVector.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psVector.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psVector.stderr	(revision 1404)
@@ -1,4 +1,4 @@
- <DATE> <TIME> |<HOST>|I|           main|Following should be an error message.
- <DATE> <TIME> |<HOST>|E|  psVectorAlloc|Invalid value for nalloc. nalloc: 0
- <DATE> <TIME> |<HOST>|I|           main|Following should be an error message.
- <DATE> <TIME> |<HOST>|E|psVectorRealloc|Null input vector
+<DATE><TIME>|<HOST>|I|           main|Following should be an error message.
+<DATE><TIME>|<HOST>|E|  psVectorAlloc|Invalid value for nalloc. nalloc: 0
+<DATE><TIME>|<HOST>|I|           main|Following should be an error message.
+<DATE><TIME>|<HOST>|E|psVectorRealloc|Null input vector
Index: /trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr	(revision 1404)
@@ -1,2 +1,2 @@
- <DATE> <TIME> |<HOST>|E|   psVectorSort| : Line 178 - Input and output vector sizes are not equal: in=5 out=6
- <DATE> <TIME> |<HOST>|E|   psVectorSort| : Line 184 - Input and output vectors are not same type: in=1028 out=1032
+<DATE><TIME>|<HOST>|E|   psVectorSort| : Line <LINENO> - Input and output vector sizes are not equal: in=5 out=6
+<DATE><TIME>|<HOST>|E|   psVectorSort| : Line <LINENO> - Input and output vectors are not same type: in=1028 out=1032
Index: /trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr
===================================================================
--- /trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr	(revision 1403)
+++ /trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr	(revision 1404)
@@ -1,1 +1,1 @@
- <DATE> <TIME> |<HOST>|E|   psVectorSort| : Line 160 - Null input vector
+<DATE><TIME>|<HOST>|E|   psVectorSort| : Line <LINENO> - Null input vector
Index: /trunk/psLib/test/dataManip/tst_psVectorFFT.c
===================================================================
--- /trunk/psLib/test/dataManip/tst_psVectorFFT.c	(revision 1403)
+++ /trunk/psLib/test/dataManip/tst_psVectorFFT.c	(revision 1404)
@@ -6,6 +6,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-02 19:43:23 $
+*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:13 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -21,10 +21,10 @@
 img = psImageAlloc(c,r,PS_TYPE_##TYP); \
 for (unsigned int row=0;row<r;row++) { \
-        ps##TYP* imgRow = img->data.TYP[row]; \
-        for (unsigned int col=0;col<c;col++) { \
-                imgRow[col] = (ps##TYP)(valueFcn); \
-            } \
-    }
-    
+    ps##TYP* imgRow = img->data.TYP[row]; \
+    for (unsigned int col=0;col<c;col++) { \
+        imgRow[col] = (ps##TYP)(valueFcn); \
+    } \
+}
+
 static int testVectorFFT( void );
 static int testVectorRealImaginary( void );
@@ -53,9 +53,9 @@
                               }
                           };
-                          
+
 int main( int argc, char* argv[] )
 {
     psLogSetLevel( PS_LOG_INFO );
-    
+
     return ( ! runTestSuite( stderr, "psFFT", tests, argc, argv ) );
 }
@@ -66,5 +66,5 @@
     psVector* vec2 = NULL;
     psVector* vec3 = NULL;
-    
+
     /*
     1. assign a vector to a sinisoid
@@ -74,55 +74,55 @@
     5. compare to original (should be equal to within a reasonable error)
     */
-    
+
     // 1. assign a vector to a sinisoid
     vec = psVectorAlloc( 100, PS_TYPE_F32 );
     vec->n = vec->nalloc;
     for ( unsigned int n = 0; n < 100; n++ ) {
-            vec->data.F32[ n ] = sinf( ( psF32 ) n / 50.0f * M_PI );
-        }
-        
+        vec->data.F32[ n ] = sinf( ( psF32 ) n / 50.0f * M_PI );
+    }
+
     // 2. perform a forward transform
     vec2 = psVectorFFT( NULL, vec, PS_FFT_FORWARD );
     if ( vec2->type.type != PS_TYPE_C32 ) {
-            psError( __func__, "FFT didn't produce complex values?" );
-            return 1;
+        psError( __func__, "FFT didn't produce complex values?" );
+        return 1;
+    }
+
+
+    // 3. verify that the only significant component cooresponds to the freqency of the input in step 1.
+    for ( unsigned int n = 0; n < 100; n++ ) {
+        if ( n == 1 || n == 99 ) {
+            if ( fabsf( cabsf( vec2->data.C32[ n ] ) - 50.0f ) > 0.1f ) {
+                psError( __func__, "FFT didn't work for vector (n=%d)", n );
+                return 2;
+            }
+        } else {
+            if ( fabsf( cabsf( vec2->data.C32[ n ] ) ) > 0.1f ) {
+                psError( __func__, "FFT didn't work for vector (n=%d)", n );
+                return 3;
+            }
         }
-        
-        
-    // 3. verify that the only significant component cooresponds to the freqency of the input in step 1.
-    for ( unsigned int n = 0; n < 100; n++ ) {
-            if ( n == 1 || n == 99 ) {
-                    if ( fabsf( cabsf( vec2->data.C32[ n ] ) - 50.0f ) > 0.1f ) {
-                            psError( __func__, "FFT didn't work for vector (n=%d)", n );
-                            return 2;
-                        }
-                } else {
-                    if ( fabsf( cabsf( vec2->data.C32[ n ] ) ) > 0.1f ) {
-                            psError( __func__, "FFT didn't work for vector (n=%d)", n );
-                            return 3;
-                        }
-                }
-        }
-        
+    }
+
     // 4. perform a reverse transform
     vec3 = psVectorFFT( NULL, vec2, PS_FFT_REVERSE );
     if ( vec3->type.type != PS_TYPE_C32 ) {
-            psError( __func__, "FFT didn't produce complex values?" );
-            return 4;
+        psError( __func__, "FFT didn't produce complex values?" );
+        return 4;
+    }
+    for ( unsigned int n = 0; n < 100; n++ ) {
+        psF32 val = sinf( ( psF32 ) n / 50.0f * M_PI );
+        psF32 vecVal = crealf( vec3->data.C32[ n ] ) / 100;
+        if ( fabsf( vecVal - val ) > 0.1f ) {
+            psError( __func__, "Reverse FFT didn't give me the original vector back (n=%d) (%.2f vs %.2f)",
+                     n, vecVal, val );
+            return 5;
         }
-    for ( unsigned int n = 0; n < 100; n++ ) {
-            psF32 val = sinf( ( psF32 ) n / 50.0f * M_PI );
-            psF32 vecVal = crealf( vec3->data.C32[ n ] ) / 100;
-            if ( fabsf( vecVal - val ) > 0.1f ) {
-                    psError( __func__, "Reverse FFT didn't give me the original vector back (n=%d) (%.2f vs %.2f)",
-                             n, vecVal, val );
-                    return 5;
-                }
-        }
-        
+    }
+
     psFree( vec );
     psFree( vec2 );
     psFree( vec3 );
-    
+
     return 0;
 }
@@ -133,5 +133,5 @@
     psVector* vec2 = NULL;
     psVector* vec3 = NULL;
-    
+
     /*
     1. create a C32 complex vector with distinctly different real and imaginary parts.
@@ -139,55 +139,55 @@
     3. compare results to the real/imaginary components of input
     */
-    
+
     // 1. create a C32 complex vector with distinctly different real and imaginary parts.
     vec = psVectorAlloc( 100, PS_TYPE_C32 );
     vec->n = vec->nalloc;
     for ( unsigned int n = 0; n < 100; n++ ) {
-            vec->data.C32[ n ] = n + I * ( n * 2 );
-        }
-        
+        vec->data.C32[ n ] = n + I * ( n * 2 );
+    }
+
     // 2. call psVectorReal and psVectorImaginary
     vec2 = psVectorReal( vec2, vec );
     if ( vec2 == NULL ) {
-            psError( __func__, "psVectorReal returned a NULL?" );
-            return 1;
-        }
+        psError( __func__, "psVectorReal returned a NULL?" );
+        return 1;
+    }
     if ( vec2->type.type != PS_TYPE_F32 ) {
-            psError( __func__, "psVectorReal returned a wrong type (%d)?",
-                     vec2->type.type );
-            return 2;
-        }
-        
+        psError( __func__, "psVectorReal returned a wrong type (%d)?",
+                 vec2->type.type );
+        return 2;
+    }
+
     vec3 = psVectorImaginary( vec3, vec );
     if ( vec3 == NULL ) {
-            psError( __func__, "psVectorImaginary returned a NULL?" );
-            return 3;
+        psError( __func__, "psVectorImaginary returned a NULL?" );
+        return 3;
+    }
+    if ( vec3->type.type != PS_TYPE_F32 ) {
+        psError( __func__, "psVectorImaginary returned a wrong type (%d)?",
+                 vec3->type.type );
+        return 4;
+    }
+
+    // 3. compare results to the real/imaginary components of input
+    for ( unsigned int n = 0; n < 100; n++ ) {
+        psF32 r = n;
+        psF32 i = ( n * 2 );
+        if ( fabsf( vec2->data.F32[ n ] - r ) > FLT_EPSILON ) {
+            psError( __func__, "psVectorReal didn't return the real portion at n=%d",
+                     n );
+            return 5;
         }
-    if ( vec3->type.type != PS_TYPE_F32 ) {
-            psError( __func__, "psVectorImaginary returned a wrong type (%d)?",
-                     vec3->type.type );
-            return 4;
+        if ( fabsf( vec3->data.F32[ n ] - i ) > FLT_EPSILON ) {
+            psError( __func__, "psVectorImaginary didn't return the real portion at n=%d",
+                     n );
+            return 6;
         }
-        
-    // 3. compare results to the real/imaginary components of input
-    for ( unsigned int n = 0; n < 100; n++ ) {
-            psF32 r = n;
-            psF32 i = ( n * 2 );
-            if ( fabsf( vec2->data.F32[ n ] - r ) > FLT_EPSILON ) {
-                    psError( __func__, "psVectorReal didn't return the real portion at n=%d",
-                             n );
-                    return 5;
-                }
-            if ( fabsf( vec3->data.F32[ n ] - i ) > FLT_EPSILON ) {
-                    psError( __func__, "psVectorImaginary didn't return the real portion at n=%d",
-                             n );
-                    return 6;
-                }
-        }
-        
+    }
+
     psFree( vec );
     psFree( vec2 );
     psFree( vec3 );
-    
+
     return 0;
 }
@@ -198,5 +198,5 @@
     psVector* vec2 = NULL;
     psVector* vec3 = NULL;
-    
+
     /*
     1. create two unique psF32 vectors of the same size
@@ -205,14 +205,14 @@
     4. call psVectorReal and psVectorImaginary on step 2 results
     5. compare step 4 results to input.
-    
+
     6. create a psF32 and a psF64 vector of the same size
     7. call psVectorComplex
     8. verify that an appropriate error occurred.
-    
+
     9. create two psf32 vectors of different sizes
     10. call psVectorComplex
     11. verify thet an appropriate error occurred.
     */
-    
+
     // 1. create two unique psF32 vectors of the same size
     vec = psVectorAlloc( 100, PS_TYPE_F32 );
@@ -221,33 +221,33 @@
     vec2->n = vec2->nalloc;
     for ( unsigned int n = 0; n < 100; n++ ) {
-            vec->data.F32[ n ] = n;
-            vec2->data.F32[ n ] = ( n * 2 );
-        }
-        
+        vec->data.F32[ n ] = n;
+        vec2->data.F32[ n ] = ( n * 2 );
+    }
+
     // 2. call psVectorComplex
     vec3 = psVectorComplex( vec3, vec, vec2 );
-    
+
     // 3. verify that the result is a psC32
     if ( vec3->type.type != PS_TYPE_C32 ) {
-            psError( __func__, "Vector Type from psVectorComplex is not complex? (%d)",
-                     vec3->type.type );
-            return 1;
-        }
-        
+        psError( __func__, "Vector Type from psVectorComplex is not complex? (%d)",
+                 vec3->type.type );
+        return 1;
+    }
+
     // 4. call psVectorReal and psVectorImaginary on step 2 results (not needed, just use crealf/cimagf)
     // 5. compare step 4 results to input.
     for ( unsigned int n = 0; n < 100; n++ ) {
-            if ( fabsf( crealf( vec3->data.C32[ n ] ) - n ) > FLT_EPSILON ||
-                    fabsf( cimagf( vec3->data.C32[ n ] ) - ( n * 2 ) ) > FLT_EPSILON ) {
-                    psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",
-                             n, crealf( vec3->data.C32[ n ] ), cimagf( vec3->data.C32[ n ] ) );
-                    return 2;
-                };
-        }
-        
-        
+        if ( fabsf( crealf( vec3->data.C32[ n ] ) - n ) > FLT_EPSILON ||
+                fabsf( cimagf( vec3->data.C32[ n ] ) - ( n * 2 ) ) > FLT_EPSILON ) {
+            psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",
+                     n, crealf( vec3->data.C32[ n ] ), cimagf( vec3->data.C32[ n ] ) );
+            return 2;
+        };
+    }
+
+
     // 6. create a psF32 and a psF64 vector of the same size
-    vec2 = psVectorRecycle( vec2, PS_TYPE_F64, 100 );
-    
+    vec2 = psVectorRecycle( vec2, 100, PS_TYPE_F64 );
+
     // 7. call psVectorComplex
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error (type mismatch)." );
@@ -255,24 +255,24 @@
     // 8. verify that an appropriate error occurred. (this partially has to be done via inspection)
     if ( vec3 != NULL ) {
-            psError( __func__, "psVectorComplex returned a vector though input types mismatched." );
-            return 3;
-        }
-        
+        psError( __func__, "psVectorComplex returned a vector though input types mismatched." );
+        return 3;
+    }
+
     // 9. create two psf32 vectors of different sizes
-    vec2 = psVectorRecycle( vec2, PS_TYPE_F32, 200 );
-    
+    vec2 = psVectorRecycle( vec2, 200, PS_TYPE_F32 );
+
     // 10. call psVectorComplex
     vec3 = psVectorComplex( vec3, vec, vec2 );
-    
+
     // 11. verify thet an appropriate error occurred. (actually, it isn't an error...)
     if ( vec3->n != 100 ) {
-            psError( __func__, "psVectorComplex returned a larger vector than the input supported (%d).", vec3->n );
-            return 4;
-        }
-        
+        psError( __func__, "psVectorComplex returned a larger vector than the input supported (%d).", vec3->n );
+        return 4;
+    }
+
     psFree( vec );
     psFree( vec2 );
     psFree( vec3 );
-    
+
     return 0;
 }
@@ -282,5 +282,5 @@
     psVector * vec = NULL;
     psVector* vec2 = NULL;
-    
+
     /*
     1. create a psC32 with unique real and imaginary values.
@@ -289,34 +289,34 @@
     4. verify each value is conjugate of input (a+bi -> a-bi)
     */
-    
+
     // 1. create a psC32 with unique real and imaginary values.
     vec = psVectorAlloc( 100, PS_TYPE_C32 );
     vec->n = vec->nalloc;
     for ( unsigned int n = 0; n < 100; n++ ) {
-            vec->data.C32[ n ] = n + I * ( n * 2 );
-        }
-        
+        vec->data.C32[ n ] = n + I * ( n * 2 );
+    }
+
     // 2. call psVectorConjugate
     vec2 = psVectorConjugate( vec2, vec );
-    
+
     // 3. verify result is psC32
     if ( vec2->type.type != PS_TYPE_C32 ) {
-            psError( __func__, "the psVectorConjugate didn't return a C32 vector" );
-            return 1;
-        }
-        
+        psError( __func__, "the psVectorConjugate didn't return a C32 vector" );
+        return 1;
+    }
+
     // 4. verify each value is conjugate of input (a+bi -> a-bi)
     for ( unsigned int n = 0; n < 100; n++ ) {
-            if ( fabsf( crealf( vec->data.C32[ n ] ) - crealf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ||
-                    fabsf( cimagf( vec->data.C32[ n ] ) + cimagf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ) {
-                    psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",
-                             n, crealf( vec2->data.C32[ n ] ), cimagf( vec2->data.C32[ n ] ) );
-                    return 2;
-                };
-        }
-        
-    psFree( vec );
-    psFree( vec2 );
-    
+        if ( fabsf( crealf( vec->data.C32[ n ] ) - crealf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ||
+                fabsf( cimagf( vec->data.C32[ n ] ) + cimagf( vec2->data.C32[ n ] ) ) > FLT_EPSILON ) {
+            psError( __func__, "psVectorComplex result is invalid (n=%d, %.2f+%.2fi)",
+                     n, crealf( vec2->data.C32[ n ] ), cimagf( vec2->data.C32[ n ] ) );
+            return 2;
+        };
+    }
+
+    psFree( vec );
+    psFree( vec2 );
+
     return 0;
 }
@@ -327,5 +327,5 @@
     psVector* vec2 = NULL;
     psF32 val;
-    
+
     /*
     1. create a psC32 vector with unique real and imaginary components
@@ -334,21 +334,21 @@
     4. verify the values are the square of the absolute values of the original
     */
-    
+
     // 1. create a psC32 vector with unique real and imaginary components
     vec = psVectorAlloc( 100, PS_TYPE_C32 );
     vec->n = vec->nalloc;
     for ( unsigned int n = 0; n < 100; n++ ) {
-            vec->data.C32[ n ] = n + I * sinf( ( ( psF32 ) n ) / 50.f * M_PI );
-        }
-        
+        vec->data.C32[ n ] = n + I * sinf( ( ( psF32 ) n ) / 50.f * M_PI );
+    }
+
     // 2. call psVectorPowerSpectrum
     vec2 = psVectorPowerSpectrum( vec2, vec );
-    
+
     // 3. verify result is psF32
     if ( vec2->type.type != PS_TYPE_F32 ) {
-            psError( __func__, "the type was not PS_TYPE_F32." );
-            return 1;
-        }
-        
+        psError( __func__, "the type was not PS_TYPE_F32." );
+        return 1;
+    }
+
     // 4. verify the values are the square of the absolute values of the original
     //   (ADD specifies something else)
@@ -357,33 +357,33 @@
     //   P_N/2 = |C_N/2|^2/N^2
     //  where j = 1,2,...,(N/2-1)
-    
+
     val = cabsf( vec->data.C32[ 0 ] ) * cabsf( vec->data.C32[ 0 ] ) / 100 / 100;
     if ( fabsf( vec2->data.F32[ 0 ] - val ) > FLT_EPSILON ) {
-            psError( __func__, "psVectorPowerSpectrum result is invalid (n=0, %.2f %.2f)",
-                     vec2->data.F32[ 0 ], val );
+        psError( __func__, "psVectorPowerSpectrum result is invalid (n=0, %.2f %.2f)",
+                 vec2->data.F32[ 0 ], val );
+        return 2;
+    };
+
+    for ( unsigned int n = 1; n < 50; n++ ) {
+        val = ( cabsf( vec->data.C32[ n ] ) * cabsf( vec->data.C32[ n ] ) +
+                cabsf( vec->data.C32[ 100 - n ] ) * cabsf( vec->data.C32[ 100 - n ] ) ) / 100 / 100;
+
+        if ( fabsf( val - vec2->data.F32[ n ] ) > FLT_EPSILON ) {
+            psError( __func__, "psVectorPowerSpectrum result is invalid (n=%d, %.2f %.2f)",
+                     n, vec2->data.F32[ n ], val );
             return 2;
         };
-        
-    for ( unsigned int n = 1; n < 50; n++ ) {
-            val = ( cabsf( vec->data.C32[ n ] ) * cabsf( vec->data.C32[ n ] ) +
-                    cabsf( vec->data.C32[ 100 - n ] ) * cabsf( vec->data.C32[ 100 - n ] ) ) / 100 / 100;
-                    
-            if ( fabsf( val - vec2->data.F32[ n ] ) > FLT_EPSILON ) {
-                    psError( __func__, "psVectorPowerSpectrum result is invalid (n=%d, %.2f %.2f)",
-                             n, vec2->data.F32[ n ], val );
-                    return 2;
-                };
-        }
-        
+    }
+
     val = cabsf( vec->data.C32[ 50 ] ) * cabsf( vec->data.C32[ 50 ] ) / 100 / 100;
     if ( fabsf( vec2->data.F32[ 50 ] - val ) > FLT_EPSILON ) {
-            psError( __func__, "psVectorPowerSpectrum result is invalid (n=50, %.2f %.2f)",
-                     vec2->data.F32[ 0 ], val );
-            return 2;
-        };
-        
-    psFree( vec );
-    psFree( vec2 );
-    
-    return 0;
-}
+        psError( __func__, "psVectorPowerSpectrum result is invalid (n=50, %.2f %.2f)",
+                 vec2->data.F32[ 0 ], val );
+        return 2;
+    };
+
+    psFree( vec );
+    psFree( vec2 );
+
+    return 0;
+}
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrix02.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrix02.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrix02.stderr	(revision 1404)
@@ -1,6 +1,6 @@
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: Pointer to inImage is same as outImage.
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: inImage or its data is NULL.
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: inImage not PS_TYPE_F64.
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: inImage not square array.
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: outImage not PS_TYPE_F64.
- <DATE> <TIME> |<HOST>|E|psMatrixTranspo|Invalid operation: outImage not square array.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: Pointer to inImage is same as outImage.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage or its data is NULL.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not PS_TYPE_F64.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: inImage not square array.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not PS_TYPE_F64.
+<DATE><TIME>|<HOST>|E|psMatrixTranspo|Invalid operation: outImage not square array.
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrix03.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrix03.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrix03.stderr	(revision 1404)
@@ -1,3 +1,3 @@
- <DATE> <TIME> |<HOST>|E|    psMatrixLUD|Invalid operation: inImage or its data is NULL.
- <DATE> <TIME> |<HOST>|E|psMatrixLUSolve|Invalid operation: inVector or its data is NULL.
- <DATE> <TIME> |<HOST>|E|psMatrixLUSolve|Invalid operation: inImage or its data is NULL.
+<DATE><TIME>|<HOST>|E|    psMatrixLUD|Invalid operation: inImage or its data is NULL.
+<DATE><TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inVector or its data is NULL.
+<DATE><TIME>|<HOST>|E|psMatrixLUSolve|Invalid operation: inImage or its data is NULL.
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrix04.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrix04.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrix04.stderr	(revision 1404)
@@ -1,2 +1,2 @@
- <DATE> <TIME> |<HOST>|E| psMatrixInvert|Invalid operation: inImage or its data is NULL.
- <DATE> <TIME> |<HOST>|E| psMatrixInvert|Invalid operation: determinant argument is NULL.
+<DATE><TIME>|<HOST>|E| psMatrixInvert|Invalid operation: inImage or its data is NULL.
+<DATE><TIME>|<HOST>|E| psMatrixInvert|Invalid operation: determinant argument is NULL.
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrix07.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrix07.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrix07.stderr	(revision 1404)
@@ -1,3 +1,3 @@
- <DATE> <TIME> |<HOST>|E|psMatrixToVecto|Invalid operation: inImage or its data is NULL.
- <DATE> <TIME> |<HOST>|E|psMatrixToVecto|Image does not have dim with 1 col or 1 row: (2 x 2).
- <DATE> <TIME> |<HOST>|E|psVectorToMatri|Invalid operation: inVector or its data is NULL.
+<DATE><TIME>|<HOST>|E|psMatrixToVecto|Invalid operation: inImage or its data is NULL.
+<DATE><TIME>|<HOST>|E|psMatrixToVecto|Image does not have dim with 1 col or 1 row: (2 x 2).
+<DATE><TIME>|<HOST>|E|psVectorToMatri|Invalid operation: inVector or its data is NULL.
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic02.stdout
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic02.stdout	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic02.stdout	(revision 1404)
@@ -664,7 +664,7 @@
 
 Output:
-2.51+0.00i 2.51+0.00i 
-2.51+0.00i 2.51+0.00i 
-2.51+0.00i 2.51+0.00i 
+2.51-0.00i 2.51-0.00i 
+2.51-0.00i 2.51-0.00i 
+2.51-0.00i 2.51-0.00i 
 
 
@@ -1168,7 +1168,7 @@
 
 Output:
-89 89 
-89 89 
-89 89 
+90 90 
+90 90 
+90 90 
 
 
@@ -1360,7 +1360,7 @@
 
 Output:
-89 89 
-89 89 
-89 89 
+90 90 
+90 90 
+90 90 
 
 
@@ -2296,7 +2296,7 @@
 
 Output:
-2.51+0.00i
-2.51+0.00i
-2.51+0.00i
+2.51-0.00i
+2.51-0.00i
+2.51-0.00i
 
 
@@ -2800,7 +2800,7 @@
 
 Output:
-89
-89
-89
+90
+90
+90
 
 
@@ -2992,7 +2992,7 @@
 
 Output:
-89
-89
-89
+90
+90
+90
 
 
Index: /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic03.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic03.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psMatrixVectorArithmetic03.stderr	(revision 1404)
@@ -1,27 +1,27 @@
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Line 403 - Null out argument
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Line 409 - Null in1 argument
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Line 415 - Null in2 argument
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Line 420 - Null op argument
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Line 718 - Null out argument
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Line 724 - Null in argument
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Line 729 - Null op argument
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Line 432 - Element types for arguments inconsistent: (1028, 1032, 1032)
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Line 739 - Element types for arguments inconsistent: (1028, 1032)
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Inconsistent element count: 2 vs 3
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Inconsistent element count: 2 vs 3
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Line 745 - Dimensionality for arguments inconsistent: (1, 3)
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|       psNanDiv|: Divide by zero
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Minimum operation not supported for complex numbers
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Maximum operation not supported for complex numbers
- <DATE> <TIME> |<HOST>|E|     psBinaryOp|: Invalid operation: yarg
- <DATE> <TIME> |<HOST>|E|      psUnaryOp|: Invalid operation: yarg
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Line <LINENO> - Null out argument
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Line <LINENO> - Null in1 argument
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Line <LINENO> - Null in2 argument
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Line <LINENO> - Null op argument
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Line <LINENO> - Null out argument
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Line <LINENO> - Null in argument
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Line <LINENO> - Null op argument
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Line <LINENO> - Element types for arguments inconsistent: (1028, 1032, 1032)
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Line <LINENO> - Element types for arguments inconsistent: (1028, 1032)
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Inconsistent element count: numRows: 2 vs 3 numCols: 2 vs 3
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Inconsistent element count: 2 vs 3
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Inconsistent element count: 2 vs 3
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Line <LINENO> - Dimensionality for arguments inconsistent: (1, 3)
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|       psNanDiv|: Divide by zero
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Minimum operation not supported for complex numbers
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Maximum operation not supported for complex numbers
+<DATE><TIME>|<HOST>|E|     psBinaryOp|: Invalid operation: yarg
+<DATE><TIME>|<HOST>|E|      psUnaryOp|: Invalid operation: yarg
Index: /trunk/psLib/test/dataManip/verified/tst_psVectorFFT.stderr
===================================================================
--- /trunk/psLib/test/dataManip/verified/tst_psVectorFFT.stderr	(revision 1403)
+++ /trunk/psLib/test/dataManip/verified/tst_psVectorFFT.stderr	(revision 1404)
@@ -23,6 +23,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testVectorCompl|Following should be an error (type mismatch).
- <DATE> <TIME> |<HOST>|E|psVectorComplex|The inputs to psVectorComplex must be the same type.
+<DATE><TIME>|<HOST>|I|testVectorCompl|Following should be an error (type mismatch).
+<DATE><TIME>|<HOST>|E|psVectorComplex|The inputs to psVectorComplex must be the same type.
 
 ---> TESTPOINT PASSED (psFFT{psVectorComplex} | tst_psVectorFFT.c)
Index: /trunk/psLib/test/image/tst_psImageExtraction.c
===================================================================
--- /trunk/psLib/test/image/tst_psImageExtraction.c	(revision 1403)
+++ /trunk/psLib/test/image/tst_psImageExtraction.c	(revision 1404)
@@ -6,6 +6,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-08-02 18:30:10 $
+*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-08-06 21:50:14 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -27,5 +27,5 @@
                               }
                           };
-                          
+
 int main( int argc, char* argv[] )
 {
@@ -41,11 +41,12 @@
     psVector* out = NULL;
     psImage* image = psImageAlloc( c, r, PS_TYPE_F32 );
+    psVector* positions = psVectorAlloc( r, PS_TYPE_U32 );
     psImage* mask = psImageAlloc( c, r, PS_TYPE_MASK );
     psStats* stat = psStatsAlloc( PS_STAT_SAMPLE_MEDIAN );
-    
+
     /*
         This function shall extract pixels from a specified region of a psImage
         structure into a vector using a specified statistical method.
-    
+
         Verify the returned psVector structure contains expected data, if the 
         input psImage input has known data and the psStats structure specifies 
@@ -57,33 +58,50 @@
      
      */
-    
+
     for ( int row = 0;row < r;row++ ) {
-            psF32* imageRow = image->data.F32[ row ];
-            psMaskType* maskRow = image->data.V[ row ];
-            psF32 rowOffset = ( psF32 ) row / ( psF32 ) r;
-            for ( int col = 0;col < c;col++ ) {
-                    imageRow[ col ] = ( psF32 ) col + rowOffset;
-                    maskRow[ col ] = 0;
-                }
+        psF32* imageRow = image->data.F32[ row ];
+        psMaskType* maskRow = image->data.V[ row ];
+        psF32 rowOffset = ( psF32 ) row / ( psF32 ) r;
+        for ( int col = 0;col < c;col++ ) {
+            imageRow[ col ] = ( psF32 ) col + rowOffset;
+            maskRow[ col ] = 0;
         }
-        
+    }
+
     // test MxN case
-    
+
     #define PSIMAGESLICE_TEST1(M,N,DIRECTION,TRUTH_SIZE,TRUTHPIX_X,TRUTHPIX_Y,TESTNUM) \
-    out = psImageSlice(out,image,mask,1,c/10,r/10,M,N,DIRECTION,stat); \
+    out = psImageSlice(out,positions,image,mask,1,c/10,r/10,M,N,DIRECTION,stat); \
     \
     if (out->n != TRUTH_SIZE) { \
-            psError(__func__,"Number of results is wrong (%d, not %d)", \
-                    out->n,n); \
-            return TESTNUM*2+1; \
-        } \
+        psError(__func__,"Number of results is wrong (%d, not %d)", \
+                out->n,n); \
+        return TESTNUM*4+1; \
+    } \
+    \
+    if (positions->n != TRUTH_SIZE) { \
+        psError(__func__,"Number of results for positions vector is wrong (%d, not %d)", \
+                out->n,n); \
+        return TESTNUM*4+2; \
+    } \
     \
     for (int i=0;i<out->n;i++) { \
-            if (abs(out->data.F64[i]-image->data.F32[r/10+TRUTHPIX_Y][c/10+TRUTHPIX_X]) > 1.0/(psF32)r) { \
-                    psError(__func__,"Improper result at position %d.",i); \
-                    return TESTNUM*2+2; \
-                } \
-        }
-        
+        if (abs(out->data.F64[i]-image->data.F32[r/10+TRUTHPIX_Y][c/10+TRUTHPIX_X]) > 1.0/(psF32)r) { \
+            psError(__func__,"Improper result at position %d.",i); \
+            return TESTNUM*4+3; \
+        } \
+        if (DIRECTION == PS_CUT_X_POS || DIRECTION == PS_CUT_X_NEG) { \
+            if (positions->data.U32[i] != c/10+TRUTHPIX_X) { \
+                psError(__func__,"Improper postions result @ %d.",i); \
+                return TESTNUM*4+4; \
+            } \
+        } else { \
+            if (positions->data.U32[i] != r/10+TRUTHPIX_Y) { \
+                psError(__func__,"Improper postions result @ %d.",i); \
+                return TESTNUM*4+4; \
+            } \
+        } \
+    }
+
     // test MxN case
     PSIMAGESLICE_TEST1( m, n, PS_CUT_X_POS, m, i, n / 2, 0 );
@@ -91,5 +109,5 @@
     PSIMAGESLICE_TEST1( m, n, PS_CUT_Y_POS, n, m / 2, i, 2 );
     PSIMAGESLICE_TEST1( m, n, PS_CUT_Y_NEG, n, m / 2, n - 1 - i, 3 );
-    
+
     // test Mx1 case
     PSIMAGESLICE_TEST1( m, 1, PS_CUT_X_POS, m, i, 0, 4 );
@@ -97,5 +115,5 @@
     PSIMAGESLICE_TEST1( m, 1, PS_CUT_Y_POS, 1, m / 2, 0, 6 );
     PSIMAGESLICE_TEST1( m, 1, PS_CUT_Y_NEG, 1, m / 2, 0, 7 );
-    
+
     // test 1xN case
     PSIMAGESLICE_TEST1( 1, n, PS_CUT_X_POS, 1, 0, n / 2, 8 );
@@ -103,5 +121,5 @@
     PSIMAGESLICE_TEST1( 1, n, PS_CUT_Y_POS, n, 0, n - 1 - i, 10 );
     PSIMAGESLICE_TEST1( 1, n, PS_CUT_Y_NEG, n, 0, n - 1 - i, 11 );
-    
+
     // test 1x1 case
     PSIMAGESLICE_TEST1( 1, 1, PS_CUT_X_POS, 1, 0, 0, 12 );
@@ -109,18 +127,18 @@
     PSIMAGESLICE_TEST1( 1, 1, PS_CUT_Y_POS, 1, 0, 0, 14 );
     PSIMAGESLICE_TEST1( 1, 1, PS_CUT_Y_NEG, 1, 0, 0, 15 );
-    
+
     /*
        Verify the returned psVector structure pointer is null and program 
        execution doesn't stop, if input psImage input is null.
-    
-    */
-    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, NULL, NULL, 0, c / 10, r / 10, 1, 1, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving a NULL image, psImageSlice didn't return NULL as expected" );
-            return 41;
-        }
-        
-        
+
+    */
+    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
+    out = psImageSlice( out, NULL, NULL, NULL, 0, c / 10, r / 10, 1, 1, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving a NULL image, psImageSlice didn't return NULL as expected" );
+        return 101;
+    }
+
+
     /*
        Verify the returned psVector structure pointer is null and program 
@@ -128,12 +146,12 @@
     */
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, 1, 1, PS_CUT_X_POS, NULL );
-    if ( out != NULL ) {
-            psError( __func__, "Giving a NULL stat struct, psImageSlice didn't return NULL as expected" );
-            return 42;
-        }
-        
-    /*
-    
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, 1, 1, PS_CUT_X_POS, NULL );
+    if ( out != NULL ) {
+        psError( __func__, "Giving a NULL stat struct, psImageSlice didn't return NULL as expected" );
+        return 102;
+    }
+
+    /*
+
        Verify the returned psVector structure pointer is null and program 
        executions doesn't stop, if the input direction is not set to one of 
@@ -141,10 +159,10 @@
     */
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, 1, 1, 5, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving a bogus direction flag, psImageSlice didn't return NULL as expected" );
-            return 43;
-        }
-        
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, 1, 1, 5, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving a bogus direction flag, psImageSlice didn't return NULL as expected" );
+        return 103;
+    }
+
     /*
        Verify the returned psVector structure pointer is null and program 
@@ -152,10 +170,10 @@
     */
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, 0, 0, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving a 0x0 region, psImageSlice didn't return NULL as expected" );
-            return 44;
-        }
-        
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, 0, 0, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving a 0x0 region, psImageSlice didn't return NULL as expected" );
+        return 104;
+    }
+
     /*
        Verify the returned psVector structure pointer is null and program 
@@ -164,31 +182,31 @@
     */
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c + 1, r / 10, 1, 1, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving an invalid x position, psImageSlice didn't return NULL as expected" );
-            return 45;
-        }
-        
-    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r + 1, 1, 1, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving an invalid y position, psImageSlice didn't return NULL as expected" );
-            return 46;
-        }
-        
-    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, c, 1, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving an invalid numCols, psImageSlice didn't return NULL as expected" );
-            return 47;
-        }
-        
-    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, 1, r, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving an invalid numRows, psImageSlice didn't return NULL as expected" );
-            return 48;
-        }
-        
+    out = psImageSlice( out, NULL, image, mask, 1, c + 1, r / 10, 1, 1, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving an invalid x position, psImageSlice didn't return NULL as expected" );
+        return 105;
+    }
+
+    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r + 1, 1, 1, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving an invalid y position, psImageSlice didn't return NULL as expected" );
+        return 106;
+    }
+
+    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, c, 1, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving an invalid numCols, psImageSlice didn't return NULL as expected" );
+        return 107;
+    }
+
+    psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, 1, r, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving an invalid numRows, psImageSlice didn't return NULL as expected" );
+        return 108;
+    }
+
     /*
        Verify the returned psVector structure pointer is null and program 
@@ -198,24 +216,18 @@
     psLogMsg( __func__, PS_LOG_INFO, "Following should be an error." );
     stat->options = 0;
-    out = psImageSlice( out, image, mask, 1, c / 10, r / 10, 1, 1, PS_CUT_X_POS, stat );
-    if ( out != NULL ) {
-            psError( __func__, "Giving an invalid numRows, psImageSlice didn't return NULL as expected" );
-            return 49;
-        }
-        
+    out = psImageSlice( out, NULL, image, mask, 1, c / 10, r / 10, 1, 1, PS_CUT_X_POS, stat );
+    if ( out != NULL ) {
+        psError( __func__, "Giving an invalid numRows, psImageSlice didn't return NULL as expected" );
+        return 109;
+    }
+
     psFree( image );
+    psFree( positions );
     psFree( mask );
     psFree( out );
     psFree( stat );
-    
+
     return 0;
-    
+
 }
 
-
-
-
-
-
-
-
Index: /trunk/psLib/test/image/verified/tst_psImage.stderr
===================================================================
--- /trunk/psLib/test/image/verified/tst_psImage.stderr	(revision 1403)
+++ /trunk/psLib/test/image/verified/tst_psImage.stderr	(revision 1404)
@@ -5,29 +5,29 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I| testImageAlloc|#546 - psImageAlloc shall allocate memory for a psImage structure
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 101h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 102h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 104h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 108h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 301h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 302h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 304h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 308h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 404h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 408h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 808h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
- <DATE> <TIME> |<HOST>|I| testImageAlloc|Testing psImage with type 810h
- <DATE> <TIME> |<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|#546 - psImageAlloc shall allocate memory for a psImage structure
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 101h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 102h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 104h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 108h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 301h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 302h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 304h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 308h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 404h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 408h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 808h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
+<DATE><TIME>|<HOST>|I| testImageAlloc|Testing psImage with type 810h
+<DATE><TIME>|<HOST>|E|   psImageAlloc|Invalid value for number of rows or columns (numRows=0, numCols=0).
 
 ---> TESTPOINT PASSED (psImage{psImageAlloc} | tst_psImage.c)
@@ -39,43 +39,43 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageSubset|memcpy(&preSubsetStruct,original,sizeof(psImage));
- <DATE> <TIME> |<HOST>|I|testImageSubset|subset1 = psImageAlloc(c/4,r/4,PS_TYPE_U8);
- <DATE> <TIME> |<HOST>|I|testImageSubset|subset2 = psImageSubset(subset1,original,c/2,r/2,c/4,r/4);
- <DATE> <TIME> |<HOST>|I|testImageSubset|subset3 = psImageSubset(NULL,original,c/2,r/2,0,0);
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure is equal to the input psImage structure parameter out, if input parameter out is specified.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify a new psImage structure is created, if input parameter out is set to null.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure contains expected values in the row member, if the input psImage structure image contains known values.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure members nrow and ncol are equal to the input parameter nrow and ncol respectively.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure member type is equal to the input psImage structure member type.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure members row0 and col0 are equal to the input parameters row0 and col0 respectively.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure member parent is equal to the input psImage structure pointer image.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure member Nchildren is equal to zero.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure member children is null.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the input psImage structure image only has the following members changed: 1) Nchildren is increased by one. 2) parent contains pointer psImage structure out at parent[Nchildren-1].
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop, if the input parameter image is null. Also verified the input psImage structure is not modified.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because input image or its pixel buffer is NULL.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program  execution doesn't stop, if the input parameters nrow and/or ncol are zero. Also verify input psImage structure is not modified.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because number of rows or columns are zero (64x0).
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because number of rows or columns are zero (0x128).
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop, if the input parameters row0 and col0 are not within the range of values of psImage structure image.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (128,0) is not a valid pixel location.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (0,256) is not a valid pixel location.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (-1,0) is not a valid pixel location.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (0,-1) is not a valid pixel location.
- <DATE> <TIME> |<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop if the input parameters nrow, ncol, row0 and col0 specify a range of data not within the input psImage structure image.  Also verify the input psImage structure is not modified.
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[64:128,0:128]).
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[0:64,128:256]).
- <DATE> <TIME> |<HOST>|I|testImageSubset|An error should follow...
- <DATE> <TIME> |<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[64:128,128:256]).
- <DATE> <TIME> |<HOST>|I|testImageSubset|psImageFreeChildren shall deallocate any children images of a psImage structure
+<DATE><TIME>|<HOST>|I|testImageSubset|memcpy(&preSubsetStruct,original,sizeof(psImage));
+<DATE><TIME>|<HOST>|I|testImageSubset|subset1 = psImageAlloc(c/4,r/4,PS_TYPE_U8);
+<DATE><TIME>|<HOST>|I|testImageSubset|subset2 = psImageSubset(subset1,original,c/2,r/2,c/4,r/4);
+<DATE><TIME>|<HOST>|I|testImageSubset|subset3 = psImageSubset(NULL,original,c/2,r/2,0,0);
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure is equal to the input psImage structure parameter out, if input parameter out is specified.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify a new psImage structure is created, if input parameter out is set to null.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure contains expected values in the row member, if the input psImage structure image contains known values.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure members nrow and ncol are equal to the input parameter nrow and ncol respectively.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure member type is equal to the input psImage structure member type.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure members row0 and col0 are equal to the input parameters row0 and col0 respectively.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure member parent is equal to the input psImage structure pointer image.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure member Nchildren is equal to zero.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure member children is null.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the input psImage structure image only has the following members changed: 1) Nchildren is increased by one. 2) parent contains pointer psImage structure out at parent[Nchildren-1].
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop, if the input parameter image is null. Also verified the input psImage structure is not modified.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because input image or its pixel buffer is NULL.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program  execution doesn't stop, if the input parameters nrow and/or ncol are zero. Also verify input psImage structure is not modified.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because number of rows or columns are zero (64x0).
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because number of rows or columns are zero (0x128).
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop, if the input parameters row0 and col0 are not within the range of values of psImage structure image.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (128,0) is not a valid pixel location.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (0,256) is not a valid pixel location.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (-1,0) is not a valid pixel location.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image because col0,row0 (0,-1) is not a valid pixel location.
+<DATE><TIME>|<HOST>|I|testImageSubset|Verify the returned psImage structure pointer is null and program execution doesn't stop if the input parameters nrow, ncol, row0 and col0 specify a range of data not within the input psImage structure image.  Also verify the input psImage structure is not modified.
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[64:<LINENO>,0:<LINENO>]).
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[0:<LINENO>,128:<LINENO>]).
+<DATE><TIME>|<HOST>|I|testImageSubset|An error should follow...
+<DATE><TIME>|<HOST>|E|  psImageSubset|Can not subset image outside of image boundaries (size=128x256, subset=[64:<LINENO>,128:<LINENO>]).
+<DATE><TIME>|<HOST>|I|testImageSubset|psImageFreeChildren shall deallocate any children images of a psImage structure
 
 ---> TESTPOINT PASSED (psImage{psImageSubset} | tst_psImage.c)
@@ -87,14 +87,14 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psU8
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psU16
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psU32
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psS8
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psS16
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psS32
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psF32
- <DATE> <TIME> |<HOST>|I|  testImageCopy|Image Copy Test for psF64
- <DATE> <TIME> |<HOST>|I|  testImageCopy|An error should follow...
- <DATE> <TIME> |<HOST>|E|    psImageCopy|Can not copy image because input image or its pixel buffer is NULL.
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psU8
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psU16
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psU32
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psS8
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psS16
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psS32
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psF32
+<DATE><TIME>|<HOST>|I|  testImageCopy|Image Copy Test for psF64
+<DATE><TIME>|<HOST>|I|  testImageCopy|An error should follow...
+<DATE><TIME>|<HOST>|E|    psImageCopy|Can not copy image because input image or its pixel buffer is NULL.
 
 ---> TESTPOINT PASSED (psImage{psImageCopy} | tst_psImage.c)
Index: /trunk/psLib/test/image/verified/tst_psImageFFT.stderr
===================================================================
--- /trunk/psLib/test/image/verified/tst_psImageFFT.stderr	(revision 1403)
+++ /trunk/psLib/test/image/verified/tst_psImageFFT.stderr	(revision 1404)
@@ -23,8 +23,8 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageComple|Following should be an error (type mismatch).
- <DATE> <TIME> |<HOST>|E| psImageComplex|The inputs to psImageComplex must be the same type.
- <DATE> <TIME> |<HOST>|I|testImageComple|Following should be an error (size mismatch).
- <DATE> <TIME> |<HOST>|E| psImageComplex|The inputs to psImageComplex must be the same dimensions.
+<DATE><TIME>|<HOST>|I|testImageComple|Following should be an error (type mismatch).
+<DATE><TIME>|<HOST>|E| psImageComplex|The inputs to psImageComplex must be the same type.
+<DATE><TIME>|<HOST>|I|testImageComple|Following should be an error (size mismatch).
+<DATE><TIME>|<HOST>|E| psImageComplex|The inputs to psImageComplex must be the same dimensions.
 
 ---> TESTPOINT PASSED (psFFT{psImageComplex} | tst_psImageFFT.c)
Index: /trunk/psLib/test/image/verified/tst_psImageManip.stderr
===================================================================
--- /trunk/psLib/test/image/verified/tst_psImageManip.stderr	(revision 1403)
+++ /trunk/psLib/test/image/verified/tst_psImageManip.stderr	(revision 1404)
@@ -5,17 +5,17 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|  testImageClip|psImageClip shall limit the minimum and maximum data value within a psImage structure
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of F64 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of F32 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of S32 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of S16 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of S8 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of U32 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of U16 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of U8 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of C32 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Testing clipping of C64 imagery
- <DATE> <TIME> |<HOST>|I|  testImageClip|Following should be an error (max<min)
- <DATE> <TIME> |<HOST>|E|    psImageClip|psImageClip can not be invoked with max < min.
+<DATE><TIME>|<HOST>|I|  testImageClip|psImageClip shall limit the minimum and maximum data value within a psImage structure
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of F64 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of F32 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of S32 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of S16 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of S8 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of U32 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of U16 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of U8 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of C32 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Testing clipping of C64 imagery
+<DATE><TIME>|<HOST>|I|  testImageClip|Following should be an error (max<min)
+<DATE><TIME>|<HOST>|E|    psImageClip|psImageClip can not be invoked with max < min.
 
 ---> TESTPOINT PASSED (psImage{psImageClip} | tst_psImageManip.c)
@@ -27,5 +27,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageClipNA|psImageClipNaN shall modified pixel values of NaN with a specified value
+<DATE><TIME>|<HOST>|I|testImageClipNA|psImageClipNaN shall modified pixel values of NaN with a specified value
 
 ---> TESTPOINT PASSED (psImage{psImageClipNAN} | tst_psImageManip.c)
@@ -37,31 +37,31 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageClipCo|psImageClipNaN shall modified pixel values of NaN with a specified value
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Testing clipping at 409.6+256i to 682.667+512i for psC32
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Testing clipping at 409.6+256i to 682.667+512i for psC64
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Can not perform clip on NULL image
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the real image space.
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the imaginary image space.
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the real image space.
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmin (-6.80565e+38+0i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmin (6.80565e+38+0i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmin (-0-6.80565e+38i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmin (0+6.80565e+38i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmax (-6.80565e+38+0i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmax (6.80565e+38+0i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmax (-0-6.80565e+38i) is outside of image's psC32 pixel range
- <DATE> <TIME> |<HOST>|I|testImageClipCo|Following should be an error:
- <DATE> <TIME> |<HOST>|E|psImageClipComp|Specified vmax (0+6.80565e+38i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|psImageClipNaN shall modified pixel values of NaN with a specified value
+<DATE><TIME>|<HOST>|I|testImageClipCo|Testing clipping at 409.6+256i to 682.667+512i for psC32
+<DATE><TIME>|<HOST>|I|testImageClipCo|Testing clipping at 409.6+256i to 682.667+512i for psC64
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Can not perform clip on NULL image
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the real image space.
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the imaginary image space.
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|psImageClipComplexRegion can not be invoked with max < min in the real image space.
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmin (-6.80565e+38+0i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmin (6.80565e+38+0i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmin (-0-6.80565e+38i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmin (0+6.80565e+38i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmax (-6.80565e+38+0i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmax (6.80565e+38+0i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmax (-0-6.80565e+38i) is outside of image's psC32 pixel range
+<DATE><TIME>|<HOST>|I|testImageClipCo|Following should be an error:
+<DATE><TIME>|<HOST>|E|psImageClipComp|Specified vmax (0+6.80565e+38i) is outside of image's psC32 pixel range
 
 ---> TESTPOINT PASSED (psImage{psImageClipComplexRegion} | tst_psImageManip.c)
@@ -73,10 +73,10 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageOverla|Following should error as overlay isn't within image boundaries
- <DATE> <TIME> |<HOST>|E|psImageOverlayS|Overlay image (32,64 -> 159,319) is partially outside of the input image (128 x 256).
- <DATE> <TIME> |<HOST>|I|testImageOverla|Following should error as overlay is NULL
- <DATE> <TIME> |<HOST>|E|psImageOverlayS|one of the input images was NULL.
- <DATE> <TIME> |<HOST>|I|testImageOverla|Following should error as image input is NULL
- <DATE> <TIME> |<HOST>|E|psImageOverlayS|one of the input images was NULL.
+<DATE><TIME>|<HOST>|I|testImageOverla|Following should error as overlay isn't within image boundaries
+<DATE><TIME>|<HOST>|E|psImageOverlayS|Overlay image (32,64 -> 159,319) is partially outside of the input image (128 x 256).
+<DATE><TIME>|<HOST>|I|testImageOverla|Following should error as overlay is NULL
+<DATE><TIME>|<HOST>|E|psImageOverlayS|one of the input images was NULL.
+<DATE><TIME>|<HOST>|I|testImageOverla|Following should error as image input is NULL
+<DATE><TIME>|<HOST>|E|psImageOverlayS|one of the input images was NULL.
 
 ---> TESTPOINT PASSED (psImage{psImageOverlay} | tst_psImageManip.c)
@@ -88,15 +88,15 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|E|   psImageRebin|Input image is NULL.
- <DATE> <TIME> |<HOST>|I| testImageRebin|Following should be an error.
- <DATE> <TIME> |<HOST>|E|   psImageRebin|The scale must be positive.
- <DATE> <TIME> |<HOST>|I| testImageRebin|Following should be an error.
- <DATE> <TIME> |<HOST>|E|   psImageRebin|The stats input can not be NULL.
- <DATE> <TIME> |<HOST>|I| testImageRebin|Following should be an error.
- <DATE> <TIME> |<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
- <DATE> <TIME> |<HOST>|I| testImageRebin|Following should be an error.
- <DATE> <TIME> |<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
- <DATE> <TIME> |<HOST>|I| testImageRebin|Following should be an error.
- <DATE> <TIME> |<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
+<DATE><TIME>|<HOST>|E|   psImageRebin|Input image is NULL.
+<DATE><TIME>|<HOST>|I| testImageRebin|Following should be an error.
+<DATE><TIME>|<HOST>|E|   psImageRebin|The scale must be positive.
+<DATE><TIME>|<HOST>|I| testImageRebin|Following should be an error.
+<DATE><TIME>|<HOST>|E|   psImageRebin|The stats input can not be NULL.
+<DATE><TIME>|<HOST>|I| testImageRebin|Following should be an error.
+<DATE><TIME>|<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
+<DATE><TIME>|<HOST>|I| testImageRebin|Following should be an error.
+<DATE><TIME>|<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
+<DATE><TIME>|<HOST>|I| testImageRebin|Following should be an error.
+<DATE><TIME>|<HOST>|E|   psImageRebin|The stat options didn't specify a single supported statistic type.
 
 ---> TESTPOINT PASSED (psImage{psImageRebin} | tst_psImageManip.c)
@@ -108,6 +108,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|  testImageRoll|Following should generate an error.
- <DATE> <TIME> |<HOST>|E|    psImageRoll|Input image can not be NULL.
+<DATE><TIME>|<HOST>|I|  testImageRoll|Following should generate an error.
+<DATE><TIME>|<HOST>|E|    psImageRoll|Input image can not be NULL.
 
 ---> TESTPOINT PASSED (psImage{psImageRoll} | tst_psImageManip.c)
@@ -119,6 +119,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|testImageRotate|Following should be an error
- <DATE> <TIME> |<HOST>|E|  psImageRotate|The input image was NULL.
+<DATE><TIME>|<HOST>|I|testImageRotate|Following should be an error
+<DATE><TIME>|<HOST>|E|  psImageRotate|The input image was NULL.
 
 ---> TESTPOINT PASSED (psImage{psImageRotate} | tst_psImageManip.c)
Index: /trunk/psLib/test/image/verified/tst_psImageStats01.stderr
===================================================================
--- /trunk/psLib/test/image/verified/tst_psImageStats01.stderr	(revision 1403)
+++ /trunk/psLib/test/image/verified/tst_psImageStats01.stderr	(revision 1404)
@@ -1,3 +1,3 @@
- <DATE> <TIME> |<HOST>|E|   psImageStats|The input image can not be NULL.
- <DATE> <TIME> |<HOST>|E|   psImageStats|The input psStats struct can not be NULL.
- <DATE> <TIME> |<HOST>|E|   psImageStats|No statistic option/operation was specified.
+<DATE><TIME>|<HOST>|E|   psImageStats|The input image can not be NULL.
+<DATE><TIME>|<HOST>|E|   psImageStats|The input psStats struct can not be NULL.
+<DATE><TIME>|<HOST>|E|   psImageStats|No statistic option/operation was specified.
Index: /trunk/psLib/test/runTest
===================================================================
--- /trunk/psLib/test/runTest	(revision 1403)
+++ /trunk/psLib/test/runTest	(revision 1404)
@@ -30,5 +30,5 @@
 #
 #  $Revison:  $  $Name: not supported by cvs2svn $
-#  $Date: 2004-07-13 01:37:58 $
+#  $Date: 2004-08-06 21:50:13 $
 #
 #  Copyright 2004 Maui High Performance Computering Center, University of Hawaii
@@ -133,7 +133,9 @@
             chop $hostname;
             while( <OUTFILE> ) {
-                s/\d+:\d+:\d+/ <DATE> /;
-                s/\s+\d+:\d+:\d+\w/ <TIME> /;
-                s/$hostname/<HOST>/;
+                s/\s+\d+:\d+:\d+\w/<TIME>/g;
+                s/\d+:\d+:\d+/<DATE>/g;
+                s/$hostname/<HOST>/g;
+                s/: Line \d+/: Line <LINENO>/g;
+                s/\:\d+/\:<LINENO>/g;
                 # Filter lines with malloc.  This is an artifact of memory testing
                 # with the Mac testbed
@@ -156,7 +158,9 @@
             # Replace the variable date, time and host information with constants
             while( <OUTFILE> ) {
-                s/\d+:\d+:\d+/ <DATE> /;
-                s/\s+\d+:\d+:\d+\w/ <TIME> /;
-                s/$hostname/<HOST>/;
+                s/\s+\d+:\d+:\d+\w/<TIME>/g;
+                s/\d+:\d+:\d+/<DATE>/g;
+                s/$hostname/<HOST>/g;
+                s/: Line \d+/: Line <LINENO>/g;
+                s/\:\d+/\:<LINENO>/g;
                 # Filter lines with malloc.  This is an artifact of memory testing
                 # with the Mac testbed
Index: /trunk/psLib/test/sysUtils/tst_psTrace01.c
===================================================================
--- /trunk/psLib/test/sysUtils/tst_psTrace01.c	(revision 1403)
+++ /trunk/psLib/test/sysUtils/tst_psTrace01.c	(revision 1404)
@@ -21,5 +21,5 @@
 
         lev = psTraceGetLevel(".");
-        if (lev != DEFAULT_TRACE_LEVEL) {
+        if (lev != PS_DEFAULT_TRACE_LEVEL) {
             printf("ERROR: expected trace level was %d, actual was %d\n",
                    i, lev);
@@ -40,8 +40,8 @@
 
     psTraceReset();
-    if ((DEFAULT_TRACE_LEVEL != psTraceGetLevel(".")) ||
-            (DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a")) ||
-            (DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a.b")) ||
-            (DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a.b.c"))) {
+    if ((PS_DEFAULT_TRACE_LEVEL != psTraceGetLevel(".")) ||
+            (PS_DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a")) ||
+            (PS_DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a.b")) ||
+            (PS_DEFAULT_TRACE_LEVEL != psTraceGetLevel(".a.b.c"))) {
         printf("ERROR: trace levels were not reset properly\n");
         successFlag = false;
Index: /trunk/psLib/test/sysUtils/verified/atst_psAbort_01.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/atst_psAbort_01.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/atst_psAbort_01.stderr	(revision 1404)
@@ -5,3 +5,3 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|A|           main|ALL TYPES intval = 1 longval = 2 floatval = 3.010000 charval = E strval = E R R O R
+<DATE><TIME>|<HOST>|A|           main|ALL TYPES intval = 1 longval = 2 floatval = 3.010000 charval = E strval = E R R O R
Index: /trunk/psLib/test/sysUtils/verified/atst_psAbort_02.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/atst_psAbort_02.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/atst_psAbort_02.stderr	(revision 1404)
@@ -5,3 +5,3 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|A|       __LINE__|NO_VALUES
+<DATE><TIME>|<HOST>|A|       __LINE__|NO_VALUES
Index: /trunk/psLib/test/sysUtils/verified/atst_psAbort_03.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/atst_psAbort_03.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/atst_psAbort_03.stderr	(revision 1404)
@@ -5,3 +5,3 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|A|               |
+<DATE><TIME>|<HOST>|A|               |
Index: /trunk/psLib/test/sysUtils/verified/tst_psError.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psError.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psError.stderr	(revision 1404)
@@ -5,5 +5,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|E|           main|ALL TYPES intval = 1 longval = 2 floatval = 3.010000 charval = E strval = E R R O R
+<DATE><TIME>|<HOST>|E|           main|ALL TYPES intval = 1 longval = 2 floatval = 3.010000 charval = E strval = E R R O R
 
 ---> TESTPOINT PASSED (psError{Multiple type values in error message} | tst_psError.c)
@@ -15,5 +15,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|E|       __LINE__|NO VALUES
+<DATE><TIME>|<HOST>|E|       __LINE__|NO VALUES
 
 ---> TESTPOINT PASSED (psError{String values in error message} | tst_psError.c)
@@ -25,5 +25,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|E|               |
+<DATE><TIME>|<HOST>|E|               |
 
 ---> TESTPOINT PASSED (psError{Empty strings in error message} | tst_psError.c)
Index: /trunk/psLib/test/sysUtils/verified/tst_psLogMsg00.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psLogMsg00.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psLogMsg00.stderr	(revision 1404)
@@ -1,8 +1,8 @@
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0 0.000000 beep beep
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1 1.000000 beep beep
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2 2.000000 beep beep
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3 3.000000 beep beep
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0 0.000000 beep beep
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1 1.000000 beep beep
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2 2.000000 beep beep
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3 3.000000 beep beep
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0 0.000000 beep beep
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1 1.000000 beep beep
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2 2.000000 beep beep
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3 3.000000 beep beep
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0 0.000000 beep beep
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1 1.000000 beep beep
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2 2.000000 beep beep
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3 3.000000 beep beep
Index: /trunk/psLib/test/sysUtils/verified/tst_psLogMsg01.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psLogMsg01.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psLogMsg01.stderr	(revision 1404)
@@ -1,11 +1,11 @@
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
- <DATE> <TIME> |<HOST>|4|           main|Hello World!  My level is 4
- <DATE> <TIME> |<HOST>|5|           main|Hello World!  My level is 5
- <DATE> <TIME> |<HOST>|6|           main|Hello World!  My level is 6
- <DATE> <TIME> |<HOST>|7|           main|Hello World!  My level is 7
- <DATE> <TIME> |<HOST>|8|           main|Hello World!  My level is 8
- <DATE> <TIME> |<HOST>|9|           main|Hello World!  My level is 9
- <DATE> <TIME> |<HOST>|4|           main|This should  be displayed (level 4)
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|4|           main|Hello World!  My level is 4
+<DATE><TIME>|<HOST>|5|           main|Hello World!  My level is 5
+<DATE><TIME>|<HOST>|6|           main|Hello World!  My level is 6
+<DATE><TIME>|<HOST>|7|           main|Hello World!  My level is 7
+<DATE><TIME>|<HOST>|8|           main|Hello World!  My level is 8
+<DATE><TIME>|<HOST>|9|           main|Hello World!  My level is 9
+<DATE><TIME>|<HOST>|4|           main|This should  be displayed (level 4)
Index: /trunk/psLib/test/sysUtils/verified/tst_psLogMsg02.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psLogMsg02.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psLogMsg02.stderr	(revision 1404)
@@ -1,13 +1,13 @@
 ------------- psLogSetFormat() -------------
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
 ------------- psLogSetFormat(NULL) -------------
 ------------- psLogSetFormat(T) -------------
- <DATE> <TIME> |
- <DATE> <TIME> |
- <DATE> <TIME> |
- <DATE> <TIME> |
+<DATE><TIME>|
+<DATE><TIME>|
+<DATE><TIME>|
+<DATE><TIME>|
 ------------- psLogSetFormat(H) -------------
 <HOST>|
@@ -31,12 +31,12 @@
 Hello World!  My level is 3
 ------------- psLogSetFormat(THLNM) -------------
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
- <DATE> <TIME> |<HOST>|A| Under 15 chars|Hello World!
- <DATE> <TIME> |<HOST>|A|This string is |Hello World!
- <DATE> <TIME> |<HOST>|A|           main|Line #1
- <DATE> <TIME> |<HOST>|A|           main|Line #2
- <DATE> <TIME> |<HOST>|A|           main|Line #3
- <DATE> <TIME> |<HOST>|A|           main|Line #4
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|A| Under 15 chars|Hello World!
+<DATE><TIME>|<HOST>|A|This string is |Hello World!
+<DATE><TIME>|<HOST>|A|           main|Line #1
+<DATE><TIME>|<HOST>|A|           main|Line #2
+<DATE><TIME>|<HOST>|A|           main|Line #3
+<DATE><TIME>|<HOST>|A|           main|Line #4
Index: /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stderr	(revision 1404)
@@ -1,4 +1,4 @@
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
Index: /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stdout
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stdout	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psLogMsg03.stdout	(revision 1404)
@@ -8,14 +8,14 @@
 ------------- psLogSetDestination(PS_LOG_TO_STDERR) -------------
 ------------- psLogSetDestination(PS_LOG_TO_STDOUT) -------------
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
 --------------- psLogSetDestination(file:log.txt) ---------------
 --------------------- The Contents of log.txt -------------------
- <DATE> <TIME> |<HOST>|A|           main|Hello World!  My level is 0
- <DATE> <TIME> |<HOST>|E|           main|Hello World!  My level is 1
- <DATE> <TIME> |<HOST>|W|           main|Hello World!  My level is 2
- <DATE> <TIME> |<HOST>|I|           main|Hello World!  My level is 3
+<DATE><TIME>|<HOST>|A|           main|Hello World!  My level is 0
+<DATE><TIME>|<HOST>|E|           main|Hello World!  My level is 1
+<DATE><TIME>|<HOST>|W|           main|Hello World!  My level is 2
+<DATE><TIME>|<HOST>|I|           main|Hello World!  My level is 3
 --------------- psLogSetDestination(file:/eva/log.txt) ----------
 
Index: /trunk/psLib/test/sysUtils/verified/tst_psMemory.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psMemory.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psMemory.stderr	(revision 1404)
@@ -5,5 +5,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|TPCheckBufferPo|psAlloc shall allocate memory blocks writeable by caller.
+<DATE><TIME>|<HOST>|I|TPCheckBufferPo|psAlloc shall allocate memory blocks writeable by caller.
 
 ---> TESTPOINT PASSED (psMemory{checkBufferPositive} | tst_psMemory.c)
@@ -15,7 +15,7 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|  TPOutOfMemory|Upon requesting more memory than is available, psalloc shall call the psMemExhaustedCallback.
- <DATE> <TIME> |<HOST>|I|TPOutOfMemoryEx|Custom MemExhaustedCallback was invoked.
- <DATE> <TIME> |<HOST>|A|      p_psAlloc|Failed to allocate 4294966295 bytes at tst_psMemory.c:228
+<DATE><TIME>|<HOST>|I|  TPOutOfMemory|Upon requesting more memory than is available, psalloc shall call the psMemExhaustedCallback.
+<DATE><TIME>|<HOST>|I|TPOutOfMemoryEx|Custom MemExhaustedCallback was invoked.
+<DATE><TIME>|<HOST>|A|      p_psAlloc|Failed to allocate 4294966295 bytes at tst_psMemory.c:<LINENO>
 
 ---> TESTPOINT PASSED (psMemory{outOfMemory} | tst_psMemory.c)
@@ -27,6 +27,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|TPReallocOutOfM|Upon requesting more memory than is available, psRealloc shall call the psMemExhaustedCallback.
- <DATE> <TIME> |<HOST>|A|    p_psRealloc|Failed to reallocate -1001 bytes at tst_psMemory.c:193
+<DATE><TIME>|<HOST>|I|TPReallocOutOfM|Upon requesting more memory than is available, psRealloc shall call the psMemExhaustedCallback.
+<DATE><TIME>|<HOST>|A|    p_psRealloc|Failed to reallocate -1001 bytes at tst_psMemory.c:<LINENO>
 
 ---> TESTPOINT PASSED (psMemory{reallocOutOfMemory} | tst_psMemory.c)
@@ -38,7 +38,7 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|      TPrealloc|psRealloc shall increase/decrease memory buffer while preserving contents
- <DATE> <TIME> |<HOST>|I|      TPrealloc|Expanding memory buffer.
- <DATE> <TIME> |<HOST>|I|      TPrealloc|Shrinking memory buffer.
+<DATE><TIME>|<HOST>|I|      TPrealloc|psRealloc shall increase/decrease memory buffer while preserving contents
+<DATE><TIME>|<HOST>|I|      TPrealloc|Expanding memory buffer.
+<DATE><TIME>|<HOST>|I|      TPrealloc|Shrinking memory buffer.
 
 ---> TESTPOINT PASSED (psMemory{psRealloc} | tst_psMemory.c)
@@ -50,12 +50,12 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|TPallocCallback|call to psAlloc/psRealloc shall generate a callback if specified memory ID is allocated.
- <DATE> <TIME> |<HOST>|I|memAllocateCall|block 2 was (re)allocated
- <DATE> <TIME> |<HOST>|I|memAllocateCall|block 3 was (re)allocated
- <DATE> <TIME> |<HOST>|I|memFreeCallback|block 2 was freed
- <DATE> <TIME> |<HOST>|I|memFreeCallback|block 3 was freed
- <DATE> <TIME> |<HOST>|I|memAllocateCall|block 4 was (re)allocated
- <DATE> <TIME> |<HOST>|I|memAllocateCall|block 4 was (re)allocated
- <DATE> <TIME> |<HOST>|I|memFreeCallback|block 4 was freed
+<DATE><TIME>|<HOST>|I|TPallocCallback|call to psAlloc/psRealloc shall generate a callback if specified memory ID is allocated.
+<DATE><TIME>|<HOST>|I|memAllocateCall|block 2 was (re)allocated
+<DATE><TIME>|<HOST>|I|memAllocateCall|block 3 was (re)allocated
+<DATE><TIME>|<HOST>|I|memFreeCallback|block 2 was freed
+<DATE><TIME>|<HOST>|I|memFreeCallback|block 3 was freed
+<DATE><TIME>|<HOST>|I|memAllocateCall|block 4 was (re)allocated
+<DATE><TIME>|<HOST>|I|memAllocateCall|block 4 was (re)allocated
+<DATE><TIME>|<HOST>|I|memFreeCallback|block 4 was freed
 
 ---> TESTPOINT PASSED (psMemory{allocCallback} | tst_psMemory.c)
@@ -67,17 +67,17 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|psMemCheckLeaks shall return the number of blocks above an ID that are still allocated
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce one instance.
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|psMemCheckLeaks shall return the number of blocks above an ID that are still allocated
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce one instance.
                    file:line ID
-         tst_psMemory.c:378  1
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|Testing psMemCheckLeaks again with a different leak location
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce one error.
+         tst_psMemory.c:<LINENO>  1
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|Testing psMemCheckLeaks again with a different leak location
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce one error.
                    file:line ID
-         tst_psMemory.c:408  11
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|Testing psMemCheckLeaks again with multiple leak locations.
- <DATE> <TIME> |<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce two errors.
+         tst_psMemory.c:<LINENO>  11
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|Testing psMemCheckLeaks again with multiple leak locations.
+<DATE><TIME>|<HOST>|I|   TPcheckLeaks|following psMemCheckLeaks call should produce two errors.
                    file:line ID
-         tst_psMemory.c:436  16
-         tst_psMemory.c:436  14
+         tst_psMemory.c:<LINENO>  16
+         tst_psMemory.c:<LINENO>  14
 
 ---> TESTPOINT PASSED (psMemory{checkLeaks} | tst_psMemory.c)
@@ -89,8 +89,8 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|TPmemCorruption|psMemCheckCorruption shall detect memory corruptions
- <DATE> <TIME> |<HOST>|I|TPmemCorruption|psMemCheckCorruption should output an error message and memProblemCallback callback should be called.
- <DATE> <TIME> |<HOST>|E|psMemCheckCorru|Memory Corruption: memory block 1 is corrupted (buffer underflow)
- <DATE> <TIME> |<HOST>|I|memProblemCallb|memory callback called for id 1 (psMemCheckCorruption:260).
+<DATE><TIME>|<HOST>|I|TPmemCorruption|psMemCheckCorruption shall detect memory corruptions
+<DATE><TIME>|<HOST>|I|TPmemCorruption|psMemCheckCorruption should output an error message and memProblemCallback callback should be called.
+<DATE><TIME>|<HOST>|E|psMemCheckCorru|Memory Corruption: memory block 1 is corrupted (buffer underflow)
+<DATE><TIME>|<HOST>|I|memProblemCallb|memory callback called for id 1 (psMemCheckCorruption:<LINENO>).
 
 ---> TESTPOINT PASSED (psMemory{psMemCorruption} | tst_psMemory.c)
@@ -102,6 +102,6 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I|TPFreeReference|memory reference count shall be incrementable/decrementable
- <DATE> <TIME> |<HOST>|I|TPFreeReference|psFree shall be just decrement a multiple refererenced pointer.
+<DATE><TIME>|<HOST>|I|TPFreeReference|memory reference count shall be incrementable/decrementable
+<DATE><TIME>|<HOST>|I|TPFreeReference|psFree shall be just decrement a multiple refererenced pointer.
 
 ---> TESTPOINT PASSED (psMemory{freeReferencedMemory} | tst_psMemory.c)
@@ -113,8 +113,8 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|I| TPmultipleFree|Next should be an error about multiple freeing.
- <DATE> <TIME> |<HOST>|E|  checkMemBlock|Memory Corruption: memory block 1 was freed but still used.
- <DATE> <TIME> |<HOST>|E|memProblemCallb|Block 1 allocated at tst_psMemory.c:548 freed more than once at tst_psMemory.c:553
- <DATE> <TIME> |<HOST>|A|memProblemCallb|Detected a problem in the memory system at tst_psMemory.c:553
+<DATE><TIME>|<HOST>|I| TPmultipleFree|Next should be an error about multiple freeing.
+<DATE><TIME>|<HOST>|E|  checkMemBlock|Memory Corruption: memory block 1 was freed but still used.
+<DATE><TIME>|<HOST>|E|memProblemCallb|Block 1 allocated at tst_psMemory.c:<LINENO> freed more than once at tst_psMemory.c:<LINENO>
+<DATE><TIME>|<HOST>|A|memProblemCallb|Detected a problem in the memory system at tst_psMemory.c:<LINENO>
 
 ---> TESTPOINT PASSED (psMemory{multipleFree} | tst_psMemory.c)
Index: /trunk/psLib/test/sysUtils/verified/tst_psStringCopy.stderr
===================================================================
--- /trunk/psLib/test/sysUtils/verified/tst_psStringCopy.stderr	(revision 1403)
+++ /trunk/psLib/test/sysUtils/verified/tst_psStringCopy.stderr	(revision 1404)
@@ -50,5 +50,5 @@
 \**********************************************************************************/
 
- <DATE> <TIME> |<HOST>|E|     psString.c|psStringNCopy with negative count specified -5
+<DATE><TIME>|<HOST>|E|     psString.c|psStringNCopy with negative count specified -5
 
 ---> TESTPOINT PASSED (psStringNCopy{Copy string with negative size} | tst_psStringCopy.c)
