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-2024 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-2024 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 | |||
) |