38#ifndef __GECODE_FLOAT_ARITHMETIC_HH__
39#define __GECODE_FLOAT_ARITHMETIC_HH__
50namespace Gecode {
namespace Float {
namespace Arithmetic {
57 template<
class VA,
class VB>
108 template<
class A,
class B>
135 template<
class A,
class B>
164 template<
class A,
class B>
192 template<
class A,
class B>
243 template<
class VA,
class VB,
class VC>
299 template<
class A,
class B,
class C>
326 template<
class A,
class B,
class C>
355 template<
class A,
class B,
class C>
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Base-class for both propagators and branchers.
Propagator for bounds consistent absolute operator
Abs(Space &home, Abs &p)
Constructor for cloning p.
static ExecStatus post(Home home, A x0, B x1)
Post propagator for .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Abs(Space &home, Propagator &p, A x0, B x1)
Constructor for rewriting p during cloning.
virtual Actor * copy(Space &home)
Create copy during cloning.
Propagator for bounds division operator
virtual Actor * copy(Space &home)
Create copy during cloning.
Div(Space &home, Div &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
Propagator for bounds consistent max operator
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
virtual Actor * copy(Space &home)
Create copy during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Max(Space &home, Max &p)
Constructor for cloning p.
Propagator for bounds consistent min operator
Min(Space &home, Min &p)
Constructor for cloning p.
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
virtual Actor * copy(Space &home)
Create copy during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Bounds consistent positive multiplication propagator.
static ExecStatus post(Home home, VA x0, VB x1, VC x2)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
MultPlus(Home home, VA x0, VB x1, VC x2)
Constructor for posting.
Bounds or domain consistent propagator for .
static ExecStatus post(Home home, View x0, View x1)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
MultZeroOne(Space &home, MultZeroOne< View > &p)
Constructor for cloning p.
Bounds consistent multiplication propagator.
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Mult(Space &home, Mult< View > &p)
Constructor for cloning p.
Bounds consistent n-ary maximum propagator.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, ViewArray< View > &x, View y)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
NaryMax(Space &home, NaryMax &p)
Constructor for cloning p.
Propagator for bounds consistent nth root operator
NthRoot(Space &home, NthRoot &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Create copy during cloning.
static ExecStatus post(Home home, A x0, B x1, int n)
Post propagator for .
Propagator for bounds consistent pow operator
static ExecStatus post(Home home, A x0, B x1, int n)
Post propagator for .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Create copy during cloning.
Pow(Space &home, Pow &p)
Constructor for cloning p.
Bounds consistent positive square propagator.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
SqrPlus(Home home, VA x0, VB x1)
Constructor for posting.
static ExecStatus post(Home home, VA x0, VB x1)
Post propagator .
Propagator for bounds consistent square operator
virtual Actor * copy(Space &home)
Create copy during cloning.
static ExecStatus post(Home home, View x0, View x1)
Post propagator for .
Sqr(Space &home, Sqr &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for bounds consistent square root operator
Sqrt(Space &home, Sqrt &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, A x0, B x1)
Post propagator for .
virtual Actor * copy(Space &home)
Create copy during cloning.
Home class for posting propagators
Mixed ternary propagator.
Base-class for propagators.
ModEventDelta med
A set of modification events (used during propagation)
int ModEventDelta
Modification event deltas.
const Gecode::PropCond PC_FLOAT_BND
Propagate when minimum or maximum of a view changes.
Gecode toplevel namespace