00001
00002
00003 #ifndef OsiOpbdpSolve_H
00004 #define OsiOpbdpSolve_H
00005
00006 #include <string>
00007
00008 #include "OsiSolverInterface.hpp"
00009
00014 int solveOpbdp(OsiSolverInterface * model);
00035 unsigned int ** solveOpbdp(const OsiSolverInterface * model,int & numberFound);
00036
00037 inline bool atOne(int i,unsigned int * array) {
00038 return ((array[i>>5]>>(i&31))&1)!=0;
00039 }
00040 inline void setAtOne(int i,unsigned int * array,bool trueFalse) {
00041 unsigned int & value = array[i>>5];
00042 int bit = i&31;
00043 if (trueFalse)
00044 value |= (1<<bit);
00045 else
00046 value &= ~(1<<bit);
00047 }
00048 #endif