Gecode::Int::Arithmetic Namespace Reference

Numerical (arithmetic) propagators. More...

## Classes

class | AbsBnd
| Bounds consistent absolute value propagator. More...
class | AbsDom
| Domain consistent absolute value propagator. More...
class | MaxBnd
| Bounds consistent ternary maximum propagator. More...
class | NaryMaxBnd
| Bounds consistent n-ary maximum propagator. More...
class | MaxDom
| Domain consistent ternary maximum propagator. More...
class | NaryMaxDom
| Domain consistent n-ary maximum propagator. More...
class | ArgMax
| Argument maximum propagator. More...
class | SqrOps
| Operations for square and square-root propagators. More...
class | PowOps
| Operations for power and nroot propagators. More...
class | PowPlusBnd
| Bounds consistent positive power propagator. More...
class | PowBnd
| Bounds consistent power propagator. More...
class | PowPlusDom
| Domain consistent positive power propagator. More...
class | PowDom
| Domain consistent power propagator. More...
class | NrootPlusBnd
| Positive bounds consistent n-th root propagator. More...
class | NrootBnd
| Bounds consistent n-th root propagator. More...
class | NrootPlusDom
| Domain consistent n-th root propagator. More...
class | NrootDom
| Domain consistent n-th root propagator. More...
class | MultZeroOne
| Bounds or domain consistent propagator for . More...
class | MultPlusBnd
| Bounds consistent positive multiplication propagator. More...
class | MultBnd
| Bounds consistent multiplication propagator. More...
class | MultPlusDom
| Domain consistent positive multiplication propagator. More...
class | MultDom
| Domain consistent multiplication propagator. More...
class | DivPlusBnd
| Bounds consistent positive division propagator. More...
class | DivBnd
| Bounds consistent division propagator. More...
class | DivMod
| Integer division/modulo propagator. More...
class | RangesMapPow
| Mapping ranges to powers. More...
class | RangesMapNroot
| Mapping integer to n-th root. More...
class | ValuesMapPow
| Mapping integer to power. More...
class | ValuesMapNroot
| Mapping integer (must be an n-th power) to n-th root. More...
class | ValuesMapNrootSigned
| Mapping integer (must be an n-th power) to n-th root (signed). More...

## Enumerations

enum | MaxPropStatus { MPS_ASSIGNED = 1<<0 , MPS_REMOVED = 1<<1 , MPS_NEW_BOUND = 1<<2 }
| Status of propagation for nary max. More...

## Functions

template<class View, template< class View0, class View1 > class Eq>
ExecStatus | prop_abs_bnd (Space &home, Propagator &p, View x0, View x1)
template<class View>
ExecStatus | prop_max_bnd (Space &home, View x0, View x1, View x2)
template<class View>
ExecStatus | prop_nary_max_bnd (Space &home, Propagator &p, ViewArray< View > &x, View y, PropCond pc)
long long int | mll (long long int x, long long int y)
| Multiply x and \y.
long long int | ll (int x)
| Cast x into a long long int.
long long int | ill (int x)
| Increment x by one.
long long int | dll (int x)
| Decrement x by one.
template<class View>
bool | pos (const View &x)
| Test whether x is postive.
template<class View>
bool | neg (const View &x)
| Test whether x is negative.
template<class View>
bool | any (const View &x)
| Test whether x is neither positive nor negative.
template<class VA, class VB, class VC>
ExecStatus | prop_mult_plus_bnd (Space &home, Propagator &p, VA x0, VB x1, VC x2)
template<class View>
ExecStatus | prop_mult_dom (Space &home, Propagator &p, View x0, View x1, View x2)
template<class Ops, bool minus>
ExecStatus | prop_nroot_plus_bnd (Space &home, IntView x0, IntView x1, const Ops &ops)
template<class Ops>
ExecStatus | prop_nroot_bnd (Space &home, IntView x0, IntView x1, const Ops &ops)
template<class VA, class VB, class Ops>
ExecStatus | prop_pow_plus_bnd (Space &home, VA x0, VB x1, const Ops &ops)
template<class Ops>
ExecStatus | prop_pow_bnd (Space &home, IntView x0, IntView x1, const Ops &ops)

## Detailed Description

Numerical (arithmetic) propagators.

## Enumeration Type Documentation

## MaxPropStatus

enum Gecode::Int::Arithmetic::MaxPropStatus

Status of propagation for nary max.

Enumerator
MPS_ASSIGNED | All views are assigned.
MPS_REMOVED | A view is removed.
MPS_NEW_BOUND | Telling has found a new upper bound.

Definition at line 175 of file max.hpp.

## Function Documentation

## prop_abs_bnd()

template<class View, template< class View0, class View1 > class Eq>

ExecStatus Gecode::Int::Arithmetic::prop_abs_bnd | ( | Space & | home,
|  | Propagator & | p,
|  | View | x0,
|  | View | x1 )

Definition at line 42 of file abs.hpp.

## prop_max_bnd()

template<class View>

ExecStatus Gecode::Int::Arithmetic::prop_max_bnd | ( | Space & | home,
|  | View | x0,
|  | View | x1,
|  | View | x2 )

inline

Definition at line 45 of file max.hpp.

## prop_nary_max_bnd()

template<class View>

ExecStatus Gecode::Int::Arithmetic::prop_nary_max_bnd | ( | Space & | home,
|  | Propagator & | p,
|  | ViewArray< View > & | x,
|  | View | y,
|  | PropCond | pc )

inline

Definition at line 183 of file max.hpp.

## mll()

long long int Gecode::Int::Arithmetic::mll | ( | long long int | x,
|  | long long int | y )

inline

Multiply x and \y.

Definition at line 48 of file mult.hpp.

## ll()

long long int Gecode::Int::Arithmetic::ll | ( | int | x | ) |

inline

Cast x into a long long int.

Definition at line 53 of file mult.hpp.

## ill()

long long int Gecode::Int::Arithmetic::ill | ( | int | x | ) |

inline

Increment x by one.

Definition at line 58 of file mult.hpp.

## dll()

long long int Gecode::Int::Arithmetic::dll | ( | int | x | ) |

inline

Decrement x by one.

Definition at line 63 of file mult.hpp.

## pos()

template<class View>

bool Gecode::Int::Arithmetic::pos | ( | const View & | x | ) |

inline

Test whether x is postive.

Definition at line 70 of file mult.hpp.

## neg()

template<class View>

bool Gecode::Int::Arithmetic::neg | ( | const View & | x | ) |

inline

Test whether x is negative.

Definition at line 76 of file mult.hpp.

## any()

template<class View>

bool Gecode::Int::Arithmetic::any | ( | const View & | x | ) |

inline

Test whether x is neither positive nor negative.

Definition at line 82 of file mult.hpp.

## prop_mult_plus_bnd()

template<class VA, class VB, class VC>

ExecStatus Gecode::Int::Arithmetic::prop_mult_plus_bnd | ( | Space & | home,
|  | Propagator & | p,
|  | VA | x0,
|  | VB | x1,
|  | VC | x2 )

inline

Definition at line 178 of file mult.hpp.

## prop_mult_dom()

template<class View>

ExecStatus Gecode::Int::Arithmetic::prop_mult_dom | ( | Space & | home,
|  | Propagator & | p,
|  | View | x0,
|  | View | x1,
|  | View | x2 )

inline

Definition at line 272 of file mult.hpp.

## prop_nroot_plus_bnd()

template<class Ops, bool minus>

ExecStatus Gecode::Int::Arithmetic::prop_nroot_plus_bnd | ( | Space & | home,
|  | IntView | x0,
|  | IntView | x1,
|  | const Ops & | ops )

inline

Definition at line 48 of file nroot.hpp.

## prop_nroot_bnd()

template<class Ops>

ExecStatus Gecode::Int::Arithmetic::prop_nroot_bnd | ( | Space & | home,
|  | IntView | x0,
|  | IntView | x1,
|  | const Ops & | ops )

inline

Definition at line 152 of file nroot.hpp.

## prop_pow_plus_bnd()

template<class VA, class VB, class Ops>

ExecStatus Gecode::Int::Arithmetic::prop_pow_plus_bnd | ( | Space & | home,
|  | VA | x0,
|  | VB | x1,
|  | const Ops & | ops )

inline

Definition at line 47 of file pow.hpp.

## prop_pow_bnd()

template<class Ops>

ExecStatus Gecode::Int::Arithmetic::prop_pow_bnd | ( | Space & | home,
|  | IntView | x0,
|  | IntView | x1,
|  | const Ops & | ops )

inline

Definition at line 122 of file pow.hpp.