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
1526 #ifdef GECODE_HAS_FLOAT_VARS
1562 #ifdef GECODE_HAS_MPFR
1627 #ifdef GECODE_HAS_FLOAT_VARS
1632 std::ceil(f.
min())));
1634 std::floor(f.
max())));
1640 #ifdef GECODE_HAS_SET_VARS
1854 rel(home,x,r,y,icl);
1861 rel(home,x,r,y,icl);
1874 #ifdef GECODE_HAS_SET_VARS
1954 operator const ArgsType(
void)
const;
2039 int width(
void)
const;
2080 template<
class Char,
class Traits,
class A>
2081 std::basic_ostream<Char,Traits>&
2082 operator <<(std::basic_ostream<Char,Traits>& os,
const Matrix<A>& m);
2087 template<
class Char,
class Traits,
class A>
2088 std::basic_ostream<Char,Traits>&
2089 operator <<(std::basic_ostream<Char,Traits>& os,
const Slice<A>& s);
2123 #ifdef GECODE_HAS_SET_VARS
2185 namespace MiniModel {
2188 template<IntRelType irt>
2201 #ifdef GECODE_HAS_FLOAT_VARS
2204 template<FloatRelType frt>
2230 #ifdef GECODE_HAS_FLOAT_VARS