00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef GAMSHANDLER_HPP_
00010 #define GAMSHANDLER_HPP_
00011
00012 #include "GAMSlinksConfig.h"
00013
00018 class GamsHandler {
00019
00020 public:
00023 enum PrintMask {
00024 LogMask = 0x1,
00025 StatusMask = 0x2,
00026 AllMask = LogMask|StatusMask,
00027 LastPrintMask
00028 };
00029
00030
00031 public:
00034 GamsHandler() { }
00035
00038 virtual ~GamsHandler() { }
00039
00042 virtual void print(PrintMask mask, const char* msg) const=0;
00043
00046 virtual void println(PrintMask mask, const char* msg) const=0;
00047
00050 virtual void flush(PrintMask mask=AllMask) const=0;
00051
00055 virtual void translateToGamsSpaceX(const double* x_, double objval_, double* x) const=0;
00058 virtual void translateToGamsSpaceLB(const double* lb_, double* lb) const=0;
00061 virtual void translateToGamsSpaceUB(const double* ub_, double* ub) const=0;
00064 virtual void translateFromGamsSpaceX(const double* x_, double* x) const=0;
00065
00073 virtual bool translateFromGamsSpaceCol(const int* indices_, int* indices, int nr) const=0;
00077 virtual int translateToGamsSpaceCol(int colindex) const=0;
00081 virtual int translateToGamsSpaceRow(int rowindex) const=0;
00082
00083
00086 virtual double getMInfinity() const=0;
00089 virtual double getPInfinity() const=0;
00090
00093 virtual int getObjSense() const=0;
00094
00097 virtual int getColCount() const=0;
00100 virtual int getColCountGams() const=0;
00103 virtual int getObjVariable() const=0;
00107 virtual int getObjRow() const=0;
00108
00111 virtual const char* getSystemDir() const=0;
00112
00116 virtual bool isDictionaryWritten() const=0;
00120 virtual const char* dictionaryFile() const=0;
00124 virtual int dictionaryVersion() const=0;
00125 };
00126
00127
00128 #endif