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
683 #ifdef GECODE_HAS_FLOAT_VARS
1067 #ifdef GECODE_HAS_SET_VARS
1259 static void*
operator new(
size_t size);
1261 static void operator delete(
void*
p,
size_t size);
1287 #ifdef GECODE_HAS_FLOAT_VARS
1292 #ifdef GECODE_HAS_SET_VARS
1364 #ifdef GECODE_HAS_FLOAT_VARS
1369 #ifdef GECODE_HAS_SET_VARS
1392 namespace MiniModel {
1426 const REG& operator =(
const REG&
r);
1431 REG& operator +=(
const REG&
r);
1435 REG& operator |=(
const REG&
r);
1441 REG operator ()(
unsigned int n,
unsigned int m);
1443 REG operator ()(
unsigned int n);
1445 template<
class Char,
class Traits>
1446 std::basic_ostream<Char,Traits>&
1447 print(std::basic_ostream<Char,Traits>& os)
const;
1457 template<
class Char,
class Traits>
1458 std::basic_ostream<Char,Traits>&
1459 operator <<(std::basic_ostream<Char,Traits>& os,
const REG&
r);
1483 #ifdef GECODE_HAS_FLOAT_VARS
1529 #ifdef GECODE_HAS_FLOAT_VARS
1565 #ifdef GECODE_HAS_MPFR
1630 #ifdef GECODE_HAS_FLOAT_VARS
1635 std::ceil(f.
min())));
1637 std::floor(f.
max())));
1643 #ifdef GECODE_HAS_SET_VARS
1857 rel(home,x,r,y,icl);
1864 rel(home,x,r,y,icl);
1877 #ifdef GECODE_HAS_SET_VARS
1957 operator const ArgsType(
void)
const;
2042 int width(
void)
const;
2083 template<
class Char,
class Traits,
class A>
2084 std::basic_ostream<Char,Traits>&
2085 operator <<(std::basic_ostream<Char,Traits>& os,
const Matrix<A>& m);
2090 template<
class Char,
class Traits,
class A>
2091 std::basic_ostream<Char,Traits>&
2092 operator <<(std::basic_ostream<Char,Traits>& os,
const Slice<A>& s);
2126 #ifdef GECODE_HAS_SET_VARS
2184 sum(
const Slice<IntArgs>& slice);
2187 sum(
const Matrix<IntArgs>& matrix);
2202 namespace MiniModel {
2205 template<IntRelType irt>
2218 #ifdef GECODE_HAS_FLOAT_VARS
2221 template<FloatRelType frt>
2247 #ifdef GECODE_HAS_FLOAT_VARS