Index: trunk/psLib/src/dataManip/psStats.h
===================================================================
--- trunk/psLib/src/dataManip/psStats.h	(revision 563)
+++ trunk/psLib/src/dataManip/psStats.h	(revision 642)
@@ -6,4 +6,72 @@
  *  \ingroup MathGroup
  */
+
+/******************************************************************************
+    The following typedefs and functions belong in the psArray.h and psArray.c
+    files.  However, those files are not available at this time, due to the
+    changing definition of the psLib data/functions.  For temporary purposes
+    only, I am including them here so that I can continue coding while our
+    basic data types are still being implemented.
+ *****************************************************************************/
+typedef enum {
+    PS_TYPE_CHAR,
+    PS_TYPE_SHORT,
+    PS_TYPE_INT,
+    PS_TYPE_LONG,
+    PS_TYPE_UCHAR,
+    PS_TYPE_USHORT,
+    PS_TYPE_UINT,
+    PS_TYPE_ULONG,
+    PS_TYPE_FLOAT,
+    PS_TYPE_DOUBLE,
+    PS_TYPE_COMPLEX,
+    PS_TYPE_OTHER,
+} psElemType;
+
+typedef enum {
+    PS_DIMEN_SCALAR,
+    PS_DIMEN_VECTOR,
+    PS_DIMEN_TRANSV,
+    PS_DIMEN_IMAGE,
+    PS_DIMEN_OTHER
+} psDimen;
+
+typedef struct
+{
+    psElemType type;
+    psDimen dimen;
+}
+psType;
+
+typedef struct
+{
+    psType type;                ///< Type of data.
+    int nalloc;                 ///< Total number of elements available.
+    int n;                      ///< Number of elements in use.
+
+    union {
+        int *vecI;
+        float *vecF;
+        double *vecD;
+        //        complex float *vecC;
+        void **vecP;
+    }vec;                       ///< Union with array data.
+}
+psVector;
+
+psVector *psVectorAlloc(int        nalloc,
+                        psElemType type)
+{
+    return(NULL);
+}
+
+psVector *psVectorRealloc(psVector myVector,
+                          int nalloc)
+{
+    return(NULL);
+}
+
+void psVectorFree(psVector *restrict psArr)
+{}
 
 /** statistics which may be calculated */
@@ -65,8 +133,9 @@
 /** Do Statistics on an array.  Returns a status value. \ingroup MathGroup */
 psStats *
-psArrayStats(const psFloatArray *restrict myArray, ///< Array to be analysed
-             const psIntArray *restrict maskArray, ///< Ignore elements where (maskArray & maskVal) != 0
-             ///< May be NULL
-             unsigned int maskVal, ///< Only mask elements with one of these bits set in maskArray
+psArrayStats(const psVector *restrict myVector, ///< Vector to be analysed
+             // must be FLOAT
+             const psVector *restrict maskVector, ///< Ignore elements where (maskVector & maskVal) != 0
+             // must be INT or NULL
+             unsigned int maskVal, ///< Only mask elements with one of these bits set in maskVector
              psStats *stats  ///< stats structure defines stats to be calculated and how
             );
@@ -87,9 +156,11 @@
 typedef struct
 {
-    const psFloatArray *restrict lower; ///< Lower bounds for the bins
-    const psFloatArray *restrict upper; ///< Upper bounds for the bins
-    psIntArray *nums;   ///< Number in each of the bins
-    float minVal, maxVal;  ///< Minimum and maximum values
-    int minNum, maxNum;   ///< Number below the minimum and above the maximum
+    const psVector *restrict lower; ///< Lower bounds for the bins (FLOAT)
+    const psVector *restrict upper; ///< Upper bounds for the bins (FLOAT)
+    psVector *nums;   ///< Number in each of the bins (INT)
+    float minVal;
+    float maxVal;  ///< Minimum and maximum values
+    int minNum;
+    int maxNum;   ///< Number below the minimum and above the maximum
 }
 psHistogram;
@@ -104,6 +175,6 @@
 /** Generic constructor \ingroup MathGroup */
 psHistogram *
-psHistogramAllocGeneric(const psFloatArray *restrict lower, ///< Lower bounds for the bins
-                        const psFloatArray *restrict upper, ///< Upper bounds for the bins
+psHistogramAllocGeneric(const psVector *restrict lower, ///< Lower bounds for the bins
+                        const psVector *restrict upper, ///< Upper bounds for the bins
                         float minVal, ///< Minimum value
                         float maxVal ///< Maximum value
@@ -119,5 +190,5 @@
 psHistogram *
 psGetArrayHistogram(psHistogram *restrict myHist, ///< Histogram data
-                    const psFloatArray *restrict myArray ///< Array to analyse
+                    const psVector *restrict myVector ///< Vector to analyse
                    );
 
