home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / technika / nnmodel / datamat.h < prev    next >
C/C++ Source or Header  |  1996-04-18  |  3KB  |  75 lines

  1. #ifndef __DATAMAT_H__
  2. #define __DATAMAT_H__
  3.  
  4.     struct _datamat {
  5.  
  6.     // Member varibles that hold data for DataMat
  7.         long m_istate;   // state of initialization
  8.         long m_version;   // version
  9.         int m_numcols;  // number of columns
  10.         int m_numrows;  // number of rows
  11.         int m_numtests;  // number of test rows
  12.         int m_ninputs;   // # of inputs to network
  13.         int m_noutputs;  // # of output from network
  14.         int m_rawrows;  // # of records in raw data file
  15.         int m_rawcols;  // # of columns in raw data file
  16.         int m_maxrows;    // # of rows m_array allocated
  17.         int m_maxtests;    // # of test rows m_itarray & m_otarry allocated
  18.         int m_sep;        // field separator
  19.     
  20.         unsigned m_total; // # number of vals stored in ioarray
  21.         char m_title[MAXCSTRING];  // short doc & comments
  22.         char m_desc[MAXCSTRING];  // comments
  23.         char m_rawfname[MAXCSTRING];  // raw ascii data filename
  24.         char m_parfname[MAXCSTRING];  // parent DataMat object filename
  25.         int *m_icrossref;  // cross-ref table from raw file
  26.         int *m_ocrossref;  // cross-ref table from raw file
  27.         char *m_rowdesc ;  // row design mat descriptor
  28.         COL_DESC *m_coldesc ;  // column design mat descriptor
  29.         COL_DESC *m_icoldesc ;  // column neural in descriptor
  30.         COL_DESC *m_ocoldesc ;  // column neural out descriptor
  31.  
  32.         float **m_iarray;  // input training matrix
  33.         float **m_oarray;  // output training matrix
  34.         float **m_itarray;  // input test matrix
  35.         float **m_otarray;  // output test matrix
  36.  
  37.         int m_cols;  // temps used by loadstr
  38.         int maxncols;
  39.         char m_buf[MAXBUF];
  40.     };
  41.  
  42.     typedef struct _datamat DATAMAT;
  43.  
  44.     DATAMAT *DCreateDataMat( );
  45.     void DDeleteDataMat(DATAMAT *pD);
  46.     void DumpDataMat(DATAMAT *pD,FILE *fd);
  47.     int DImportDataMat (DATAMAT *pD, FILE *fd);
  48.     float DRescale( DATAMAT *pD, float f,char C,int ix);
  49.     float DScale( DATAMAT *pD, float f,char C,int ix);
  50.     float DGetOutputVal( DATAMAT *pD, int row, int col );
  51.     void DZeroAll(DATAMAT *pD);
  52.     float DGetInputVal(DATAMAT *pD,  int row, int col );
  53.     float DGetOutputVal(DATAMAT *pD,  int row, int col );
  54.     float DGetInputTVal(DATAMAT *pD,  int row, int col );
  55.     float DGetOutputTVal(DATAMAT *pD,  int row, int col );
  56.     void DSetInputVal(DATAMAT *pD,  int row, int col, float val );
  57.     void DSetInputTVal(DATAMAT *pD,  int row, int col, float val );
  58.     void DSetOutputVal(DATAMAT *pD,  int row, int col, float val );
  59.     void DSetOutputTVal(DATAMAT *pD,  int row, int col, float val );
  60. //    int DCalc(DATAMAT *pD, );
  61. //    int DReCalc(DATAMAT *pD, );
  62.     void DReCalcScalingFactor(COL_DESC *cold, int cols);
  63.     void ZeroColDesc(DATAMAT *pD,int num,COL_DESC* desc);
  64.     char * RescaleFmt(DATAMAT *pD, float f,char C,int ix);
  65.  
  66. /*
  67.     char * GetFmtStr(char C, int ix);
  68.     char * RescaleFmt(float f,int ix);
  69.     char * GetFmtStr(int ix);
  70.  
  71. */
  72.  
  73.  
  74. #endif // __CDATAMAT_H__
  75.