Index: trunk/psLib/src/dataIO/psLookupTable.h
===================================================================
--- trunk/psLib/src/dataIO/psLookupTable.h	(revision 3684)
+++ trunk/psLib/src/dataIO/psLookupTable.h	(revision 4050)
@@ -7,6 +7,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-04-08 17:58:57 $
+*  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-05-31 21:46:56 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -28,11 +28,11 @@
 typedef struct
 {
-    const char *fileName;              ///< Name of file with table
-    psU64 numRows;                     ///< Number of table rows
-    psU64 numCols;                     ///< Number of table columns
+    const char *filename;              ///< Name of file with table
+    const char *format;                ///< scanf-like format string for file
+    unsigned int indexCol;             ///< Column of the index vector (starting at zero)
+    psVector *index;                   ///< Vector of independent index values
+    psArray *values;                   ///< Array of dependent table values corresponding to index values
     psF64 validFrom;                   ///< Lower bound for rable read
     psF64 validTo;                     ///< Upper bound for table read
-    psVector *index;                   ///< Vector of independent index values
-    psArray *values;                   ///< Array of dependent table values corresponding to index values
 }
 psLookupTable;
@@ -69,6 +69,29 @@
 psLookupTable* psLookupTableAlloc(
     const char *fileName,           ///< Name of file to read
-    psF64 validFrom,                ///< Lower bound for rable read
-    psF64 validTo                   ///< Upper bound for table read
+    const char *format,             ///< scanf-like format string
+    int indexCol                    ///< Column of the index vector (starting at zero)
+);
+
+/** Read vectors from file
+ *
+ *  Read numeric vectors from ASCII text file
+ *
+ *  @return psArray*  New array of psVectors corresponding to the columns of the table
+ */
+psArray *psVectorsReadFromFile(
+    const char* filename,            ///< File to be read
+    const char* format               ///< scanf-like format string
+);
+
+/** Import arrays of vectors into a table
+ *
+ *  Import array of vectors read from text file into a table structure
+ *
+ *  @return psLookupTable*  Lookup table structure with array vector data
+ */
+psLookupTable *psLookupTableImport(
+    psLookupTable *table,            ///< Lookup table into which to import
+    const psArray *vectors,          ///< Array of vectors
+    int indexCol                     ///< Index of the index vector in the array of vectors
 );
 
@@ -77,7 +100,7 @@
  *  Reads a lookup table and fills corresponding psLookupTable struct.
  *
- *  @return psLookupTable*     New psLookupTable struct.
+ *  @return psS32     Number of valid lines read
  */
-psLookupTable* psLookupTableRead(
+psS32 psLookupTableRead(
     psLookupTable *table            ///< Table to read
 );
@@ -91,8 +114,7 @@
  */
 psF64 psLookupTableInterpolate(
-    psLookupTable *table,           ///< Table with data
+    const psLookupTable *table,     ///< Table with data
     psF64 index,                    ///< Value to be interpolated
-    psU64 column,                   ///< Column in table to be interpolated
-    psLookupStatusType *status      ///< Status of lookup
+    psS32 column                    ///< Column in table to be interpolated
 );
 
@@ -106,6 +128,5 @@
 psVector* psLookupTableInterpolateAll(
     psLookupTable *table,           ///< Table with data
-    psF64 index,                    ///< Value to be interpolated
-    psVector *stats                 ///< Vector of status for each lookup
+    psF64 index                     ///< Value to be interpolated
 );
 
