24 #ifndef __SCIP_DEF_H__ 25 #define __SCIP_DEF_H__ 28 #define __STDC_LIMIT_MACROS 29 #define __STDC_CONSTANT_MACROS 42 #ifndef NO_CONFIG_HEADER 43 #include "scip/config.h" 44 #include "scip/scip_export.h" 52 #define GCC_VERSION (__GNUC__ * 100 \ 53 + __GNUC_MINOR__ * 10 \ 54 + __GNUC_PATCHLEVEL__) 61 #if defined(_MSC_VER) || ( __STDC_VERSION__ >= 199901L ) 62 #define SCIP_HAVE_VARIADIC_MACROS 1 70 #define SCIP_Bool unsigned int 77 #ifndef SCIP_Shortbool 78 #define SCIP_Shortbool uint8_t 84 #if defined(_WIN32) || defined(_WIN64) 86 #define strcasecmp _stricmp 87 #define strncasecmp _strnicmp 88 #define getcwd _getcwd 95 #if defined(_WIN32) || defined(_WIN64) 96 #define SCIP_EXPORT __declspec(dllexport) 103 #define EXTERN SCIP_EXPORT 108 #if defined(_WIN32) || defined(__STDC__) 109 #define INLINE __inline 111 #define INLINE inline 125 #define SCIP_VERSION 602 126 #define SCIP_SUBVERSION 0 127 #define SCIP_APIVERSION 34 128 #define SCIP_COPYRIGHT "Copyright (C) 2002-2019 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)" 135 #define SCIP_VARTYPE_BINARY_CHAR 'B' 136 #define SCIP_VARTYPE_INTEGER_CHAR 'I' 137 #define SCIP_VARTYPE_IMPLINT_CHAR 'M' 138 #define SCIP_VARTYPE_CONTINUOUS_CHAR 'C' 145 #define LLONG_MAX 9223372036854775807LL 146 #define LLONG_MIN (-LLONG_MAX - 1LL) 149 #define SCIP_Longint long long 150 #define SCIP_LONGINT_MAX LLONG_MAX 151 #define SCIP_LONGINT_MIN LLONG_MIN 152 #ifndef SCIP_LONGINT_FORMAT 153 #if defined(_WIN32) || defined(_WIN64) 154 #define SCIP_LONGINT_FORMAT "I64d" 156 #define SCIP_LONGINT_FORMAT "lld" 164 #define SCIP_Real double 165 #define SCIP_REAL_MAX (SCIP_Real)DBL_MAX 166 #define SCIP_REAL_MIN -(SCIP_Real)DBL_MAX 167 #define SCIP_REAL_FORMAT "lf" 169 #define SCIP_DEFAULT_INFINITY 1e+20 170 #define SCIP_DEFAULT_EPSILON 1e-09 171 #define SCIP_DEFAULT_SUMEPSILON 1e-06 172 #define SCIP_DEFAULT_FEASTOL 1e-06 173 #define SCIP_DEFAULT_CHECKFEASTOLFAC 1.0 174 #define SCIP_DEFAULT_LPFEASTOL 1e-06 175 #define SCIP_DEFAULT_DUALFEASTOL 1e-07 176 #define SCIP_DEFAULT_BARRIERCONVTOL 1e-10 177 #define SCIP_DEFAULT_BOUNDSTREPS 0.05 178 #define SCIP_DEFAULT_PSEUDOCOSTEPS 1e-01 179 #define SCIP_DEFAULT_PSEUDOCOSTDELTA 1e-04 180 #define SCIP_DEFAULT_RECOMPFAC 1e+07 181 #define SCIP_DEFAULT_HUGEVAL 1e+15 182 #define SCIP_MAXEPSILON 1e-03 183 #define SCIP_MINEPSILON 1e-20 184 #define SCIP_INVALID (double)1e+99 185 #define SCIP_UNKNOWN (double)1e+98 188 #define REALABS(x) (fabs(x)) 189 #define EPSEQ(x,y,eps) (REALABS((x)-(y)) <= (eps)) 190 #define EPSLT(x,y,eps) ((x)-(y) < -(eps)) 191 #define EPSLE(x,y,eps) ((x)-(y) <= (eps)) 192 #define EPSGT(x,y,eps) ((x)-(y) > (eps)) 193 #define EPSGE(x,y,eps) ((x)-(y) >= -(eps)) 194 #define EPSZ(x,eps) (REALABS(x) <= (eps)) 195 #define EPSP(x,eps) ((x) > (eps)) 196 #define EPSN(x,eps) ((x) < -(eps)) 197 #define EPSFLOOR(x,eps) (floor((x)+(eps))) 198 #define EPSCEIL(x,eps) (ceil((x)-(eps))) 199 #define EPSROUND(x,eps) (ceil((x)-0.5+(eps))) 200 #define EPSFRAC(x,eps) ((x)-EPSFLOOR(x,eps)) 201 #define EPSISINT(x,eps) (EPSFRAC(x,eps) <= (eps)) 205 #define SQR(x) ((x)*(x)) 206 #define SQRT(x) (sqrt(x)) 210 #if defined(_MSC_VER) && (_MSC_VER < 1800) 211 #define LOG2(x) (log(x) / log(2.0)) 213 #define LOG2(x) log2(x) 218 #define ABS(x) ((x) >= 0 ? (x) : -(x)) 222 #define MAX(x,y) ((x) >= (y) ? (x) : (y)) 223 #define MIN(x,y) ((x) <= (y) ? (x) : (y)) 227 #define MAX3(x,y,z) ((x) >= (y) ? MAX(x,z) : MAX(y,z)) 228 #define MIN3(x,y,z) ((x) <= (y) ? MIN(x,z) : MIN(y,z)) 233 #if defined(_WIN32) || defined(_WIN64) 234 #define LOG1P(x) (log(1.0+x)) 236 #define LOG1P(x) (log1p(x)) 241 #if defined(_MSC_VER) && (_MSC_VER < 1800) 242 #define COPYSIGN _copysign 244 #define COPYSIGN copysign 253 #define NULL ((void*)0) 257 #if defined(_MSC_VER) 258 #define RESTRICT __restrict 261 #define RESTRICT __restrict__ 262 #elif __STDC_VERSION__ >= 199901L 263 #define RESTRICT restrict 274 #define SCIP_MAXSTRLEN 1024 281 #define SCIP_MAXMEMSIZE (SIZE_MAX/2) 283 #define SCIP_HASHSIZE_PARAMS 2048 284 #define SCIP_HASHSIZE_NAMES 500 285 #define SCIP_HASHSIZE_CUTPOOLS 500 286 #define SCIP_HASHSIZE_CLIQUES 500 287 #define SCIP_HASHSIZE_NAMES_SMALL 100 288 #define SCIP_HASHSIZE_CUTPOOLS_SMALL 100 289 #define SCIP_HASHSIZE_CLIQUES_SMALL 100 290 #define SCIP_HASHSIZE_VBC 500 292 #define SCIP_DEFAULT_MEM_ARRAYGROWFAC 1.2 293 #define SCIP_DEFAULT_MEM_ARRAYGROWINIT 4 295 #define SCIP_MEM_NOLIMIT (SCIP_Longint)SCIP_LONGINT_MAX/1048576.0 301 #define SCIP_MAXTREEDEPTH 65534 307 #define SCIP_PROBINGSCORE_PENALTYRATIO 2 331 #define SCIPABORT() assert(FALSE) 333 #define SCIP_CALL_ABORT_QUIET(x) do { if( (x) != SCIP_OKAY ) SCIPABORT(); } while( FALSE ) 334 #define SCIP_CALL_QUIET(x) do { SCIP_RETCODE _restat_; if( (_restat_ = (x)) != SCIP_OKAY ) return _restat_; } while( FALSE ) 335 #define SCIP_ALLOC_ABORT_QUIET(x) do { if( NULL == (x) ) SCIPABORT(); } while( FALSE ) 336 #define SCIP_ALLOC_QUIET(x) do { if( NULL == (x) ) return SCIP_NOMEMORY; } while( FALSE ) 338 #define SCIP_CALL_ABORT(x) do \ 340 SCIP_RETCODE _restat_; \ 341 if( (_restat_ = (x)) != SCIP_OKAY ) \ 343 SCIPerrorMessage("Error <%d> in function call\n", _restat_); \ 349 #define SCIP_ALLOC_ABORT(x) do \ 353 SCIPerrorMessage("No memory in function call\n", __FILE__, __LINE__); \ 359 #define SCIP_CALL(x) do \ 361 SCIP_RETCODE _restat_; \ 362 if( (_restat_ = (x)) != SCIP_OKAY ) \ 364 SCIPerrorMessage("Error <%d> in function call\n", _restat_); \ 370 #define SCIP_ALLOC(x) do \ 374 SCIPerrorMessage("No memory in function call\n"); \ 375 return SCIP_NOMEMORY; \ 380 #define SCIP_CALL_TERMINATE(retcode, x, TERM) do \ 382 if( ((retcode) = (x)) != SCIP_OKAY ) \ 384 SCIPerrorMessage("Error <%d> in function call\n", retcode); \ 390 #define SCIP_ALLOC_TERMINATE(retcode, x, TERM) do \ 394 SCIPerrorMessage("No memory in function call\n"); \ 395 retcode = SCIP_NOMEMORY; \ 401 #define SCIP_CALL_FINALLY(x, y) do \ 403 SCIP_RETCODE _restat_; \ 404 if( (_restat_ = (x)) != SCIP_OKAY ) \ 406 SCIPerrorMessage("Error <%d> in function call\n", _restat_); \ 413 #define SCIP_UNUSED(x) ((void) (x)) 419 #ifndef SCIP_DEPRECATED 420 #if defined(_MSC_VER) 421 # define SCIP_DEPRECATED __declspec(deprecated) 422 #elif defined(__GNUC__) 423 # define SCIP_DEPRECATED __attribute__ ((deprecated)) 425 # define SCIP_DEPRECATED type definitions for return codes for SCIP methods
type definitions for message output methods