- Gecode
- Float
Floating point numbers. More...
Namespaces | |
Arithmetic | |
Arithmetic propagators | |
Bool | |
Boolean propagators. | |
Branch | |
Float branchers. | |
Channel | |
Channel propagators | |
Limits | |
Numerical limits for floating point variables. | |
Linear | |
Linear propagators | |
Rel | |
Simple relation propagators. | |
Transcendental | |
Transcendental propagators | |
Trigonometric | |
Trigonometric propagators | |
Classes | |
class | OutOfLimits |
Exception: Value out of limits More... | |
class | ValueMixedSign |
Exception: Value with mixed sign More... | |
class | VariableEmptyDomain |
Exception: Variable created with empty domain More... | |
class | TooFewArguments |
Exception: Too few arguments available in argument array More... | |
class | ArgumentSizeMismatch |
Exception: Arguments are of different size More... | |
class | ArgumentSame |
Exception: Arguments contain same variable multiply More... | |
class | UnknownRelation |
Exception: Unknown relation passed as argument More... | |
class | UnknownOperation |
Exception: Unknown operation passed as argument More... | |
class | IllegalOperation |
Exception: Illegal operation passed as argument More... | |
class | UnknownBranching |
Exception: Unknown value or variable selection passed as argument More... | |
class | ValOfUnassignedVar |
Exception: Attempt to access value of unassigned variable More... | |
class | Relax |
Class for posting equalities for non-relaxed variables. More... | |
class | FloatTraceView |
Float trace view. More... | |
class | FloatDelta |
Float delta information for advisors. More... | |
class | FloatVarImp |
Float variable implementation. More... | |
class | FloatView |
Float view for float variables. More... | |
class | MinusView |
Minus float view. More... | |
class | OffsetView |
OffsetView float view. More... | |
class | ScaleView |
Scale float view. More... | |
class | Rounding |
Floating point rounding policy. More... | |
class | FloatVarImpBase |
Base-class for Float-variable implementations. More... | |
class | FloatVarImpConf |
Configuration for Float-variable implementations. More... | |
Typedefs | |
typedef int | mpfr_func(mpfr_t, const __mpfr_struct *, mp_rnd_t) |
Type signatur of mpfr function. More... | |
typedef boost::numeric::interval_lib::rounded_arith_opp< FloatNum > | RoundingBase |
Rounding Base class (optimized version) More... | |
Enumerations | |
enum | RelTest { RT_FALSE = 0 , RT_MAYBE = 1 , RT_TRUE = 2 } |
Result of testing relation. More... | |
Functions | |
double | invoke_mpfr (FloatNum x, mpfr_func f, mp_rnd_t r) |
Routine to call mpfr function with proper rounding. More... | |
bool | subset (const FloatVal &x, const FloatVal &y) |
bool | proper_subset (const FloatVal &x, const FloatVal &y) |
bool | overlap (const FloatVal &x, const FloatVal &y) |
FloatVal | intersect (const FloatVal &x, const FloatVal &y) |
FloatVal | hull (const FloatVal &x, const FloatVal &y) |
FloatVal | hull (const FloatVal &x, const FloatNum &y) |
FloatVal | hull (const FloatNum &x, const FloatVal &y) |
FloatVal | hull (const FloatNum &x, const FloatNum &y) |
bool | operator== (const MinusView &x, const MinusView &y) |
bool | operator!= (const MinusView &x, const MinusView &y) |
bool | operator== (const OffsetView &x, const OffsetView &y) |
bool | operator!= (const OffsetView &x, const OffsetView &y) |
template<class Char , class Traits , class View > | |
std::basic_ostream< Char, Traits > & | print_view (std::basic_ostream< Char, Traits > &os, const View &x) |
template<class View > | |
RelTest | rtest_eq (View x, View y) |
Test whether views x and y are equal. More... | |
template<class View > | |
RelTest | rtest_eq (View x, FloatVal n) |
Test whether view x and Float n are equal. More... | |
template<class View > | |
RelTest | rtest_lq (View x, View y) |
Test whether view x is less or equal than view y. More... | |
template<class View > | |
RelTest | rtest_lq (View x, FloatVal n) |
Test whether view x is less or equal than float n. More... | |
template<class View > | |
RelTest | rtest_le (View x, View y) |
Test whether view x is less than view y. More... | |
template<class View > | |
RelTest | rtest_le (View x, FloatVal n) |
Test whether view x is less or equal than float n. More... | |
bool | operator== (const ScaleView &x, const ScaleView &y) |
bool | operator!= (const ScaleView &x, const ScaleView &y) |
Variables | |
const Gecode::ModEvent | ME_FLOAT_FAILED = Gecode::ME_GEN_FAILED |
Domain operation has resulted in failure. More... | |
const Gecode::ModEvent | ME_FLOAT_NONE = Gecode::ME_GEN_NONE |
Domain operation has not changed domain. More... | |
const Gecode::ModEvent | ME_FLOAT_VAL = Gecode::ME_GEN_ASSIGNED |
Domain operation has resulted in a value (assigned variable) More... | |
const Gecode::ModEvent | ME_FLOAT_BND = Gecode::ME_GEN_ASSIGNED + 1 |
Domain operation has changed the minimum or maximum of the domain. More... | |
const Gecode::PropCond | PC_FLOAT_NONE = Gecode::PC_GEN_NONE |
Propagation condition to be ignored (convenience) More... | |
const Gecode::PropCond | PC_FLOAT_VAL = Gecode::PC_GEN_ASSIGNED |
Propagate when a view becomes assigned (single value) More... | |
const Gecode::PropCond | PC_FLOAT_BND = Gecode::PC_GEN_ASSIGNED + 1 |
Propagate when minimum or maximum of a view changes. More... | |
Floating point numbers.
The Gecode::Float namespace contains all functionality required to program propagators and branchers for floating point numbers. In addition, all propagators and branchers for floating point numbers provided by Gecode are contained as nested namespaces.
typedef int Gecode::Float::mpfr_func(mpfr_t, const __mpfr_struct *, mp_rnd_t) |
Type signatur of mpfr function.
Definition at line 48 of file rounding.cpp.
typedef boost::numeric::interval_lib::rounded_arith_opp<FloatNum> Gecode::Float::RoundingBase |
Routine to call mpfr function with proper rounding.
Definition at line 52 of file rounding.cpp.
|
related |
Definition at line 195 of file offset.hpp.
|
related |
Definition at line 199 of file offset.hpp.
std::basic_ostream<Char,Traits>& Gecode::Float::print_view | ( | std::basic_ostream< Char, Traits > & | os, |
const View & | x | ||
) |
|
inline |
Test whether views x and y are equal.
Definition at line 40 of file rel-test.hpp.
Test whether view x and Float n are equal.
Definition at line 47 of file rel-test.hpp.
|
inline |
Test whether view x is less or equal than view y.
Definition at line 54 of file rel-test.hpp.
Test whether view x is less or equal than float n.
Definition at line 62 of file rel-test.hpp.
|
inline |
Test whether view x is less than view y.
Definition at line 70 of file rel-test.hpp.
Test whether view x is less or equal than float n.
Definition at line 78 of file rel-test.hpp.
const Gecode::ModEvent Gecode::Float::ME_FLOAT_FAILED = Gecode::ME_GEN_FAILED |
Domain operation has resulted in failure.
Definition at line 260 of file var-type.hpp.
const Gecode::ModEvent Gecode::Float::ME_FLOAT_NONE = Gecode::ME_GEN_NONE |
Domain operation has not changed domain.
Definition at line 262 of file var-type.hpp.
const Gecode::ModEvent Gecode::Float::ME_FLOAT_VAL = Gecode::ME_GEN_ASSIGNED |
Domain operation has resulted in a value (assigned variable)
Definition at line 264 of file var-type.hpp.
const Gecode::ModEvent Gecode::Float::ME_FLOAT_BND = Gecode::ME_GEN_ASSIGNED + 1 |
Domain operation has changed the minimum or maximum of the domain.
Note that this implies that the domain has not resulted in a value.
If a propagator subscribes to this variable, it will be processed assuming a ME_FLOAT_BND modification event.
Definition at line 273 of file var-type.hpp.
const Gecode::PropCond Gecode::Float::PC_FLOAT_NONE = Gecode::PC_GEN_NONE |
Propagation condition to be ignored (convenience)
Definition at line 275 of file var-type.hpp.
const Gecode::PropCond Gecode::Float::PC_FLOAT_VAL = Gecode::PC_GEN_ASSIGNED |
Propagate when a view becomes assigned (single value)
If a propagator p depends on a view x with propagation condition PC_FLOAT_VAL, then p is propagated when a domain update operation on x returns the modification event ME_FLOAT_VAL.
Definition at line 283 of file var-type.hpp.
const Gecode::PropCond Gecode::Float::PC_FLOAT_BND = Gecode::PC_GEN_ASSIGNED + 1 |
Propagate when minimum or maximum of a view changes.
If a propagator p depends on a view x with propagation condition PC_FLOAT_BND, then p is propagated when a domain update operation on x returns the modification events ME_FLOAT_VAL or ME_FLOAT_BND.
Definition at line 292 of file var-type.hpp.