Go to the documentation of this file.
38 namespace Gecode {
namespace Float {
namespace Arithmetic {
44 template<
class A,
class B,
class C>
49 template<
class A,
class B,
class C>
54 template<
class A,
class B,
class C>
60 template<
class A,
class B,
class C>
66 template<
class A,
class B,
class C>
76 template<
class A,
class B,
class C>
96 template<
class A,
class B,
class C>
101 template<
class A,
class B,
class C>
106 template<
class A,
class B,
class C>
112 template<
class A,
class B,
class C>
118 template<
class A,
class B,
class C>
128 template<
class A,
class B,
class C>
156 assert(
x.size() > 0);
164 for (
int i=
x.size();
i--; ) {
172 for (
int i=
x.size();
i--; )
207 assert(
x.size() > 0);
210 for (
int i =
x.size()-1;
i--; ) {
219 for (
int i =
x.size();
i--; ) {
225 if (
x[
i].
max() < maxmin) {
226 x.move_lst(
i,home,
p,pc);
Post propagator for SetVar x
Post propagator for SetVar SetOpType SetVar y
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator for bounds consistent max operator
Propagator for bounds consistent min operator
const Gecode::ModEvent ME_FLOAT_FAILED
Domain operation has resulted in failure.
bool assigned(View x, int v)
Whether x is assigned to value v.
const Gecode::PropCond PC_FLOAT_BND
Propagate when minimum or maximum of a view changes.
Max(Space &home, Max &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
const FloatNum min
Smallest allowed float value.
Base-class for both propagators and branchers.
bool assigned(void) const
Test whether view is assigned.
Mixed ternary propagator.
union Gecode::@602::NNF::@65 u
Union depending on nodetype t.
Gecode toplevel namespace
virtual Actor * copy(Space &home)
Create copy during cloning.
Base-class for propagators.
Binary bounds consistent equality propagator.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
Home class for posting propagators
ExecStatus prop_nary_max(Space &home, Propagator &p, ViewArray< View > &x, View y, PropCond pc)
double FloatNum
Floating point number base type.
Bounds consistent n-ary maximum propagator.
static ExecStatus post(Home home, ViewArray< View > &x, View y)
Post propagator .
int ModEvent
Type for modification events.
int PropCond
Type for propagation conditions.
bool overlap(const FloatVal &x, const FloatVal &y)
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
Telling has found a new upper bound.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Propagation has computed fixpoint.
Min(Space &home, Min &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Less or equal propagator.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
bool me_modified(ModEvent me)
Check whether modification event me describes variable modification.
virtual Actor * copy(Space &home)
Create copy during cloning.
Execution has resulted in failure.
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
int ModEventDelta
Modification event deltas.
Propagation has not computed fixpoint.
Gecode::IntArgs i({1, 2, 3, 4})
MaxPropStatus
Status of propagation for nary max.
int p
Number of positive literals for node type.
NaryMax(Space &home, NaryMax &p)
Constructor for cloning p.
const FloatNum max
Largest allowed float value.