Scippy

SoPlex

Sequential object-oriented simPlex

spxdefines.cpp
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the class library */
4 /* SoPlex --- the Sequential object-oriented simPlex. */
5 /* */
6 /* Copyright (C) 1996-2019 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SoPlex is distributed under the terms of the ZIB Academic Licence. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SoPlex; see the file COPYING. If not email to soplex@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file spxdefines.cpp
17  * @brief Debugging, floating point type and parameter definitions.
18  */
19 #include "assert.h"
20 #include "soplex/spxdefines.h"
21 #include "soplex/spxout.h"
22 
23 namespace soplex
24 {
25 
27 
32 
33 bool msginconsistent(const char* name, const char* file, int line)
34 {
35  assert(name != 0);
36  assert(file != 0);
37  assert(line >= 0);
38 
39  MSG_ERROR(std::cerr << file << "(" << line << ") "
40  << "Inconsistency detected in " << name << std::endl;)
41 
42  return 0;
43 }
44 
46 {
47  return s_epsilon;
48 }
49 
51 {
52  s_epsilon = eps;
53 }
54 
56 {
58 }
59 
61 {
63 }
64 
66 {
67  return s_epsilon_update;
68 }
69 
71 {
72  s_epsilon_update = eps;
73 }
74 
76 {
77  return s_epsilon_pivot;
78 }
79 
81 {
82  s_epsilon_pivot = eps;
83 }
84 
85 } // namespace soplex
#define DEFAULT_EPS_FACTOR
Definition: spxdefines.h:233
static void setEpsilon(Real eps)
Definition: spxdefines.cpp:50
THREADLOCAL const Real infinity
Definition: spxdefines.cpp:26
bool msginconsistent(const char *name, const char *file, int line)
Definition: spxdefines.cpp:33
#define DEFAULT_INFINITY
Definition: spxdefines.h:241
#define DEFAULT_EPS_UPDATE
Definition: spxdefines.h:236
Wrapper for different output streams and verbosity levels.
double Real
Definition: spxdefines.h:218
static void setEpsilonPivot(Real eps)
Definition: spxdefines.cpp:80
#define MSG_ERROR(x)
Prints out message x if the verbosity level is at least SPxOut::ERROR.
Definition: spxdefines.h:114
static THREADLOCAL Real s_epsilon_pivot
epsilon for pivot zero tolerance in factorization
Definition: spxdefines.h:267
#define DEFAULT_EPS_ZERO
default allowed additive zero: 1.0 + EPS_ZERO == 1.0
Definition: spxdefines.h:230
#define DEFAULT_EPS_PIVOT
Definition: spxdefines.h:239
static Real epsilonUpdate()
Definition: spxdefines.cpp:65
Debugging, floating point type and parameter definitions.
static Real epsilon()
Definition: spxdefines.cpp:45
static THREADLOCAL Real s_epsilon
default allowed additive zero: 1.0 + EPS_ZERO == 1.0
Definition: spxdefines.h:261
Everything should be within this namespace.
static void setEpsilonUpdate(Real eps)
Definition: spxdefines.cpp:70
static THREADLOCAL Real s_epsilon_update
epsilon for factorization update
Definition: spxdefines.h:265
static Real epsilonPivot()
Definition: spxdefines.cpp:75
static void setEpsilonFactorization(Real eps)
Definition: spxdefines.cpp:60
static Real epsilonFactorization()
Definition: spxdefines.cpp:55
static THREADLOCAL Real s_epsilon_factorization
epsilon for factorization
Definition: spxdefines.h:263
#define THREADLOCAL
SOPLEX_DEBUG.
Definition: spxdefines.h:145