dlinear  0.0.1
Delta-complete SMT solver for linear programming
Loading...
Searching...
No Matches
LpColBound.h
1
7#pragma once
8
9#include <ostream>
10
11namespace dlinear {
12
21enum class LpColBound {
22 L = 0,
23 SL = 1,
24 B = 2,
25 SU = 3,
26 U = 4,
27 D = 5,
28 F = 6,
29};
30
42char toChar(LpColBound bound);
79inline LpColBound relax(LpColBound bound) { return ~bound; }
92inline LpColBound invert(LpColBound bound, bool delta) { return delta ? -bound : !bound; }
93
94std::ostream &operator<<(std::ostream &os, const LpColBound &bound);
95
96} // namespace dlinear
97
98#ifdef DLINEAR_INCLUDE_FMT
99
100#include "dlinear/util/logging.h"
101
102OSTREAM_FORMATTER(dlinear::LpColBound)
103
104#endif
Global namespace for the dlinear library.
LpColBound parseLpBound(char bound)
Parse the bound from a character.
LpColBound operator~(LpColBound bound)
Relax the bound.
LpColBound invert(LpColBound bound, bool delta)
Invert the bound.
Definition LpColBound.h:92
char toChar(LpColBound bound)
Convert the bound to a character.
LpColBound operator!(LpColBound bound)
Invert the bound with delta == 0.
LpColBound relax(LpColBound bound)
Relax the bound.
Definition LpColBound.h:79
LpColBound
Describe the bound of a linear program variable.
Definition LpColBound.h:21
@ U
Upper bound.
@ SL
Strict lower bound.
@ F
Free variable.
@ B
Both upper and lower bound are equal (fixed)
@ L
Lower bound.
@ D
Variable must be different from the bound.
@ SU
Strict upper bound.
LpColBound operator-(LpColBound bound)
Invert the bound with delta > 0.