Detailed Description
common defines and data types used in all packages of SCIP
Definition in file def.h.
#include <stdio.h>#include <stdint.h>#include <math.h>#include <limits.h>#include <float.h>#include <assert.h>#include "scip/config.h"#include "scip/scip_export.h"Go to the source code of this file.
Macros | |
| #define | SCIP_VARARGS_FIRST_(firstarg, ...) firstarg |
| #define | SCIP_VARARGS_FIRST(args) SCIP_VARARGS_FIRST_ args |
| #define | SCIP_VARARGS_REST(firstarg, ...) __VA_ARGS__ |
| #define | SCIP_Bool unsigned int |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | SCIP_Shortbool uint8_t |
| #define | INLINE inline |
| #define | SCIP_VERSION (100*SCIP_VERSION_MAJOR + 10*SCIP_VERSION_MINOR + SCIP_VERSION_PATCH) |
| #define | SCIP_SUBVERSION SCIP_VERSION_SUB |
| #define | SCIP_APIVERSION SCIP_VERSION_API |
| #define | SCIP_COPYRIGHT "Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB)" |
| #define | SCIP_VARTYPE_BINARY_CHAR 'B' |
| #define | SCIP_VARTYPE_INTEGER_CHAR 'I' |
| #define | SCIP_VARTYPE_IMPLINT_CHAR 'M' |
| #define | SCIP_VARTYPE_CONTINUOUS_CHAR 'C' |
| #define | LLONG_MAX 9223372036854775807LL |
| #define | LLONG_MIN (-LLONG_MAX - 1LL) |
| #define | SCIP_Longint long long |
| #define | SCIP_LONGINT_MAX LLONG_MAX |
| #define | SCIP_LONGINT_MIN LLONG_MIN |
| #define | SCIP_LONGINT_FORMAT "lld" |
| #define | SCIP_Real double |
| #define | SCIP_REAL_MAX (SCIP_Real)DBL_MAX |
| #define | SCIP_REAL_MIN -(SCIP_Real)DBL_MAX |
| #define | SCIP_REAL_FORMAT "lf" |
| #define | SCIP_DEFAULT_INFINITY 1e+20 |
| #define | SCIP_DEFAULT_EPSILON 1e-09 |
| #define | SCIP_DEFAULT_SUMEPSILON 1e-06 |
| #define | SCIP_DEFAULT_FEASTOL 1e-06 |
| #define | SCIP_DEFAULT_CHECKFEASTOLFAC 1.0 |
| #define | SCIP_DEFAULT_LPFEASTOLFACTOR 1.0 |
| #define | SCIP_DEFAULT_DUALFEASTOL 1e-07 |
| #define | SCIP_DEFAULT_BARRIERCONVTOL 1e-10 |
| #define | SCIP_DEFAULT_BOUNDSTREPS 0.05 |
| #define | SCIP_DEFAULT_PSEUDOCOSTEPS 1e-01 |
| #define | SCIP_DEFAULT_PSEUDOCOSTDELTA 1e-04 |
| #define | SCIP_DEFAULT_RECOMPFAC 1e+06 |
| #define | SCIP_DEFAULT_HUGEVAL 1e+15 |
| #define | SCIP_MAXEPSILON 1e-03 |
| #define | SCIP_MINEPSILON 1e-20 |
| #define | SCIP_INVALID (double)1e+99 |
| #define | SCIP_UNKNOWN (double)1e+98 |
| #define | SCIP_INTERVAL_INFINITY (double)1e+300 |
| #define | REALABS(x) (fabs(x)) |
| #define | EPSEQ(x, y, eps) (REALABS((x)-(y)) <= (eps)) |
| #define | EPSLT(x, y, eps) ((x)-(y) < -(eps)) |
| #define | EPSLE(x, y, eps) ((x)-(y) <= (eps)) |
| #define | EPSGT(x, y, eps) ((x)-(y) > (eps)) |
| #define | EPSGE(x, y, eps) ((x)-(y) >= -(eps)) |
| #define | EPSZ(x, eps) (REALABS(x) <= (eps)) |
| #define | EPSP(x, eps) ((x) > (eps)) |
| #define | EPSN(x, eps) ((x) < -(eps)) |
| #define | EPSFLOOR(x, eps) (floor((x)+(eps))) |
| #define | EPSCEIL(x, eps) (ceil((x)-(eps))) |
| #define | EPSROUND(x, eps) (ceil((x)-0.5+(eps))) |
| #define | EPSFRAC(x, eps) ((x)-EPSFLOOR(x,eps)) |
| #define | EPSISINT(x, eps) (EPSFRAC(x,eps) <= (eps)) |
| #define | SQR(x) ((x)*(x)) |
| #define | LOG1P(x) (log1p(x)) |
| #define | LOG2(x) log2(x) |
| #define | ABS(x) ((x) >= 0 ? (x) : -(x)) |
| #define | MAX(x, y) ((x) >= (y) ? (x) : (y)) |
| #define | MIN(x, y) ((x) <= (y) ? (x) : (y)) |
| #define | MAX3(x, y, z) ((x) >= (y) ? MAX(x, z) : MAX(y, z)) |
| #define | MIN3(x, y, z) ((x) <= (y) ? MIN(x, z) : MIN(y, z)) |
| #define | COPYSIGN copysign |
| #define | NULL ((void*)0) |
| #define | RESTRICT |
| #define | SCIP_MAXSTRLEN 1024 |
| #define | SCIP_SPACECONTROL " tnvfr" |
| #define | SCIP_MAXMEMSIZE (SIZE_MAX/2) |
| #define | SCIP_HASHSIZE_PARAMS 2048 |
| #define | SCIP_HASHSIZE_NAMES 500 |
| #define | SCIP_HASHSIZE_CUTPOOLS 500 |
| #define | SCIP_HASHSIZE_CLIQUES 500 |
| #define | SCIP_HASHSIZE_NAMES_SMALL 100 |
| #define | SCIP_HASHSIZE_CUTPOOLS_SMALL 100 |
| #define | SCIP_HASHSIZE_CLIQUES_SMALL 100 |
| #define | SCIP_HASHSIZE_VBC 500 |
| #define | SCIP_DEFAULT_MEM_ARRAYGROWFAC 1.2 |
| #define | SCIP_DEFAULT_MEM_ARRAYGROWINIT 4 |
| #define | SCIP_MEM_NOLIMIT (SCIP_Longint)(SCIP_LONGINT_MAX >> 20) |
| #define | SCIP_MAXTREEDEPTH 1073741822 |
| #define | SCIP_PROBINGSCORE_PENALTYRATIO 2 |
| #define | SCIPABORT() assert(FALSE) /*lint --e{527} */ |
| #define | SCIP_CALL_ABORT_QUIET(x) do { if( (x) != SCIP_OKAY ) SCIPABORT(); } while( FALSE ) |
| #define | SCIP_CALL_QUIET(x) do { SCIP_RETCODE _restat_; if( (_restat_ = (x)) != SCIP_OKAY ) return _restat_; } while( FALSE ) |
| #define | SCIP_ALLOC_ABORT_QUIET(x) do { if( NULL == (x) ) SCIPABORT(); } while( FALSE ) |
| #define | SCIP_ALLOC_QUIET(x) do { if( NULL == (x) ) return SCIP_NOMEMORY; } while( FALSE ) |
| #define | SCIP_CALL_ABORT(x) |
| #define | SCIP_ALLOC_ABORT(x) |
| #define | SCIP_CALL(x) |
| #define | SCIP_ALLOC(x) |
| #define | SCIP_CALL_TERMINATE(retcode, x, TERM) |
| #define | SCIP_ALLOC_TERMINATE(retcode, x, TERM) |
| #define | SCIP_CALL_FINALLY(x, y) |
| #define | SCIP_UNUSED(x) ((void) (x)) |
| #define | SCIP_DEPRECATED |
Macro Definition Documentation
◆ SCIP_VARARGS_FIRST_
| #define SCIP_VARARGS_FIRST_ | ( | firstarg, | |
| ... | |||
| ) | firstarg |
get the first parameter and all-but-the-first arguments from variadic arguments
normally, SCIP_VARARGS_FIRST_ should be sufficient the SCIP_VARARGS_FIRST_/SCIP_VARARGS_FIRST kludge is to work around a bug in MSVC (https://stackoverflow.com/questions/4750688/how-to-single-out-the-first-parameter-sent-to-a-macro-taking-only-a-variadic-par)
◆ SCIP_VARARGS_FIRST
| #define SCIP_VARARGS_FIRST | ( | args | ) | SCIP_VARARGS_FIRST_ args |
◆ SCIP_VARARGS_REST
| #define SCIP_VARARGS_REST | ( | firstarg, | |
| ... | |||
| ) | __VA_ARGS__ |
◆ SCIP_Bool
◆ TRUE
◆ FALSE
◆ SCIP_Shortbool
| #define SCIP_Shortbool uint8_t |
◆ INLINE
◆ SCIP_VERSION
| #define SCIP_VERSION (100*SCIP_VERSION_MAJOR + 10*SCIP_VERSION_MINOR + SCIP_VERSION_PATCH) |
◆ SCIP_SUBVERSION
| #define SCIP_SUBVERSION SCIP_VERSION_SUB |
◆ SCIP_APIVERSION
| #define SCIP_APIVERSION SCIP_VERSION_API |
◆ SCIP_COPYRIGHT
| #define SCIP_COPYRIGHT "Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB)" |
◆ SCIP_VARTYPE_BINARY_CHAR
◆ SCIP_VARTYPE_INTEGER_CHAR
◆ SCIP_VARTYPE_IMPLINT_CHAR
◆ SCIP_VARTYPE_CONTINUOUS_CHAR
◆ LLONG_MAX
◆ LLONG_MIN
◆ SCIP_Longint
| #define SCIP_Longint long long |
◆ SCIP_LONGINT_MAX
◆ SCIP_LONGINT_MIN
◆ SCIP_LONGINT_FORMAT
◆ SCIP_Real
◆ SCIP_REAL_MAX
◆ SCIP_REAL_MIN
◆ SCIP_REAL_FORMAT
◆ SCIP_DEFAULT_INFINITY
| #define SCIP_DEFAULT_INFINITY 1e+20 |
◆ SCIP_DEFAULT_EPSILON
| #define SCIP_DEFAULT_EPSILON 1e-09 |
◆ SCIP_DEFAULT_SUMEPSILON
| #define SCIP_DEFAULT_SUMEPSILON 1e-06 |
◆ SCIP_DEFAULT_FEASTOL
| #define SCIP_DEFAULT_FEASTOL 1e-06 |
◆ SCIP_DEFAULT_CHECKFEASTOLFAC
| #define SCIP_DEFAULT_CHECKFEASTOLFAC 1.0 |
◆ SCIP_DEFAULT_LPFEASTOLFACTOR
| #define SCIP_DEFAULT_LPFEASTOLFACTOR 1.0 |
◆ SCIP_DEFAULT_DUALFEASTOL
| #define SCIP_DEFAULT_DUALFEASTOL 1e-07 |
◆ SCIP_DEFAULT_BARRIERCONVTOL
| #define SCIP_DEFAULT_BARRIERCONVTOL 1e-10 |
◆ SCIP_DEFAULT_BOUNDSTREPS
| #define SCIP_DEFAULT_BOUNDSTREPS 0.05 |
◆ SCIP_DEFAULT_PSEUDOCOSTEPS
| #define SCIP_DEFAULT_PSEUDOCOSTEPS 1e-01 |
◆ SCIP_DEFAULT_PSEUDOCOSTDELTA
| #define SCIP_DEFAULT_PSEUDOCOSTDELTA 1e-04 |
◆ SCIP_DEFAULT_RECOMPFAC
| #define SCIP_DEFAULT_RECOMPFAC 1e+06 |
◆ SCIP_DEFAULT_HUGEVAL
| #define SCIP_DEFAULT_HUGEVAL 1e+15 |
◆ SCIP_MAXEPSILON
| #define SCIP_MAXEPSILON 1e-03 |
◆ SCIP_MINEPSILON
| #define SCIP_MINEPSILON 1e-20 |
◆ SCIP_INVALID
| #define SCIP_INVALID (double)1e+99 |
◆ SCIP_UNKNOWN
| #define SCIP_UNKNOWN (double)1e+98 |
◆ SCIP_INTERVAL_INFINITY
| #define SCIP_INTERVAL_INFINITY (double)1e+300 |
◆ REALABS
◆ EPSEQ
◆ EPSLT
◆ EPSLE
◆ EPSGT
◆ EPSGE
◆ EPSZ
◆ EPSP
◆ EPSN
◆ EPSFLOOR
◆ EPSCEIL
◆ EPSROUND
◆ EPSFRAC
◆ EPSISINT
◆ SQR
◆ LOG1P
◆ LOG2
◆ ABS
◆ MAX
◆ MIN
◆ MAX3
◆ MIN3
◆ COPYSIGN
◆ NULL
◆ RESTRICT
◆ SCIP_MAXSTRLEN
◆ SCIP_SPACECONTROL
| #define SCIP_SPACECONTROL " tnvfr" |
◆ SCIP_MAXMEMSIZE
| #define SCIP_MAXMEMSIZE (SIZE_MAX/2) |
◆ SCIP_HASHSIZE_PARAMS
| #define SCIP_HASHSIZE_PARAMS 2048 |
◆ SCIP_HASHSIZE_NAMES
| #define SCIP_HASHSIZE_NAMES 500 |
◆ SCIP_HASHSIZE_CUTPOOLS
| #define SCIP_HASHSIZE_CUTPOOLS 500 |
◆ SCIP_HASHSIZE_CLIQUES
| #define SCIP_HASHSIZE_CLIQUES 500 |
◆ SCIP_HASHSIZE_NAMES_SMALL
| #define SCIP_HASHSIZE_NAMES_SMALL 100 |
◆ SCIP_HASHSIZE_CUTPOOLS_SMALL
| #define SCIP_HASHSIZE_CUTPOOLS_SMALL 100 |
◆ SCIP_HASHSIZE_CLIQUES_SMALL
| #define SCIP_HASHSIZE_CLIQUES_SMALL 100 |
◆ SCIP_HASHSIZE_VBC
| #define SCIP_HASHSIZE_VBC 500 |
◆ SCIP_DEFAULT_MEM_ARRAYGROWFAC
| #define SCIP_DEFAULT_MEM_ARRAYGROWFAC 1.2 |
◆ SCIP_DEFAULT_MEM_ARRAYGROWINIT
| #define SCIP_DEFAULT_MEM_ARRAYGROWINIT 4 |
◆ SCIP_MEM_NOLIMIT
| #define SCIP_MEM_NOLIMIT (SCIP_Longint)(SCIP_LONGINT_MAX >> 20) |
◆ SCIP_MAXTREEDEPTH
| #define SCIP_MAXTREEDEPTH 1073741822 |
◆ SCIP_PROBINGSCORE_PENALTYRATIO
| #define SCIP_PROBINGSCORE_PENALTYRATIO 2 |
ratio for penalizing too small fractionalities in diving heuristics. if the fractional part of a variable is smaller than a given threshold the corresponding score gets penalized. due to numerical troubles we will flip a coin whenever SCIPisEQ(scip, fractionality, threshold) evaluates to true. this parameter defines the chance that this results in penalizing the score, i.e., there is 1:2 chance for penalizing.
◆ SCIPABORT
| #define SCIPABORT | ( | ) | assert(FALSE) /*lint --e{527} */ |
◆ SCIP_CALL_ABORT_QUIET
◆ SCIP_CALL_QUIET
| #define SCIP_CALL_QUIET | ( | x | ) | do { SCIP_RETCODE _restat_; if( (_restat_ = (x)) != SCIP_OKAY ) return _restat_; } while( FALSE ) |
◆ SCIP_ALLOC_ABORT_QUIET
◆ SCIP_ALLOC_QUIET
| #define SCIP_ALLOC_QUIET | ( | x | ) | do { if( NULL == (x) ) return SCIP_NOMEMORY; } while( FALSE ) |
◆ SCIP_CALL_ABORT
| #define SCIP_CALL_ABORT | ( | x | ) |
◆ SCIP_ALLOC_ABORT
| #define SCIP_ALLOC_ABORT | ( | x | ) |
◆ SCIP_CALL
| #define SCIP_CALL | ( | x | ) |
◆ SCIP_ALLOC
| #define SCIP_ALLOC | ( | x | ) |
◆ SCIP_CALL_TERMINATE
| #define SCIP_CALL_TERMINATE | ( | retcode, | |
| x, | |||
| TERM | |||
| ) |
◆ SCIP_ALLOC_TERMINATE
| #define SCIP_ALLOC_TERMINATE | ( | retcode, | |
| x, | |||
| TERM | |||
| ) |