CSIM: preprocessor.h Source File

preprocessor.h

Go to the documentation of this file.
00001 
00005 #ifndef _PREPROCESSOR_H_
00006 #define _PREPROCESSOR_H_
00007 
00008 #include <string>
00009 #include <map>
00010 #include <list>
00011 #include "csimerror.h"
00012 #include "csimclass.h"
00013 #include "advanceable.h"
00014 
00015 using namespace std;
00016 
00018 class Preprocessor : public Advancable {
00019 
00020  public:
00024   Preprocessor(unsigned int in_rows, unsigned int out_rows);
00025 
00026   virtual ~Preprocessor(void) {};
00027 
00031   virtual void setParameter(string name, double value);
00032 
00033 
00035   virtual int advance(void) {
00036     return 1;
00037   }
00038 
00040   virtual int addIncoming(Advancable *Incoming) {
00041     return 0;
00042   }
00043 
00045   virtual int addOutgoing(Advancable *Outgoing) {
00046     return 0;
00047   }
00048 
00049 
00053   virtual double getParameter(string name);
00054 
00057   virtual list<string> validParameters(void);
00058 
00059 
00064   virtual int process(const double* S, double* X) = 0;
00065 
00067   virtual void reset() = 0;
00068 
00073   virtual int importRepresentation(const double* rep, int rep_length) = 0;
00074 
00079   virtual double* exportRepresentation(int *rep_length) = 0;
00080 
00082   int getInputRows() { return nInputRows; }
00083 
00085   int getOutputRows() { return nOutputRows; }
00086 
00088   virtual string getFormatDescription() = 0;
00089 
00091   virtual int updateInternal();
00092 
00093  protected:
00094 
00096   map<string, double *> params;
00097 
00099   int nInputRows;
00101   double dInputRows;
00102 
00104   int nOutputRows;
00106   double dOutputRows;
00107 };
00108 
00109 #endif

 
(C) 2003, Thomas Natschläger last modified 07/10/2006