44 #ifndef __GECODE_MINIMODEL_HH__
45 #define __GECODE_MINIMODEL_HH__
49 #ifdef GECODE_HAS_SET_VARS
52 #ifdef GECODE_HAS_FLOAT_VARS
65 #if !defined(GECODE_STATIC_LIBS) && \
66 (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
68 #ifdef GECODE_BUILD_MINIMODEL
69 #define GECODE_MINIMODEL_EXPORT __declspec( dllexport )
71 #define GECODE_MINIMODEL_EXPORT __declspec( dllimport )
76 #ifdef GECODE_GCC_HAS_CLASS_VISIBILITY
78 #define GECODE_MINIMODEL_EXPORT __attribute__ ((visibility("default")))
82 #define GECODE_MINIMODEL_EXPORT
88 #ifndef GECODE_BUILD_MINIMODEL
89 #define GECODE_LIBRARY_NAME "MiniModel"
96 namespace MiniModel {}
99 #ifdef GECODE_HAS_SET_VARS
102 #ifdef GECODE_HAS_FLOAT_VARS
140 #ifdef GECODE_HAS_SET_VARS
143 #ifdef GECODE_HAS_FLOAT_VARS
680 #ifdef GECODE_HAS_FLOAT_VARS
1064 #ifdef GECODE_HAS_SET_VARS
1256 static void*
operator new(
size_t size);
1258 static void operator delete(
void*
p,
size_t size);
1284 #ifdef GECODE_HAS_FLOAT_VARS
1289 #ifdef GECODE_HAS_SET_VARS
1361 #ifdef GECODE_HAS_FLOAT_VARS
1366 #ifdef GECODE_HAS_SET_VARS
1389 namespace MiniModel {
1423 const REG& operator =(
const REG&
r);
1428 REG& operator +=(
const REG&
r);
1432 REG& operator |=(
const REG&
r);
1438 REG operator ()(
unsigned int n,
unsigned int m);
1440 REG operator ()(
unsigned int n);
1442 template<
class Char,
class Traits>
1443 std::basic_ostream<Char,Traits>&
1444 print(std::basic_ostream<Char,Traits>& os)
const;
1454 template<
class Char,
class Traits>
1455 std::basic_ostream<Char,Traits>&
1456 operator <<(std::basic_ostream<Char,Traits>& os,
const REG&
r);
1480 #ifdef GECODE_HAS_FLOAT_VARS
1523 #ifdef GECODE_HAS_FLOAT_VARS
1559 #ifdef GECODE_HAS_MPFR
1624 #ifdef GECODE_HAS_FLOAT_VARS
1629 std::ceil(f.
min())));
1631 std::floor(f.
max())));
1637 #ifdef GECODE_HAS_SET_VARS
1851 rel(home,x,r,y,icl);
1858 rel(home,x,r,y,icl);
1871 #ifdef GECODE_HAS_SET_VARS
1951 operator const ArgsType(
void)
const;
2036 int width(
void)
const;
2077 template<
class Char,
class Traits,
class A>
2078 std::basic_ostream<Char,Traits>&
2079 operator <<(std::basic_ostream<Char,Traits>& os,
const Matrix<A>& m);
2084 template<
class Char,
class Traits,
class A>
2085 std::basic_ostream<Char,Traits>&
2086 operator <<(std::basic_ostream<Char,Traits>& os,
const Slice<A>& s);
2120 #ifdef GECODE_HAS_SET_VARS
2182 namespace MiniModel {
2185 template<IntRelType irt>