34namespace Gecode {
namespace Int {
namespace Sorted {
43 template<
class View,
bool Perm>
49 for (
int i=
x.size(); i--; ) {
50 xz[i].
x=
x[i]; xz[i].
z=
z[i];
54 (&xz[0],
x.size(), min_inc);
55 for (
int i=
x.size(); i--; ) {
56 x[i]=xz[i].
x;
z[i]=xz[i].
z;
72 template<
class View,
bool Perm>
99 for (
int i = 1; i < ys; i++) {
103 nofix |= (
me_modified(me_lb) &&
y[i - 1].min() !=
y[i].min());
106 for (
int i = ys - 1; i--; ) {
110 nofix |= (
me_modified(me_ub) &&
y[i + 1].max() !=
y[i].max());
114 for (
int i = xs; i--; ) {
120 me =
x[i].lq(home,
y[xs - 1].
max());
150 for (
int i = 1; i < ps; i++) {
154 if (
z[i].
min() != sinfo[scclist[i]].leftmost) {
156 if (
z[i].assigned()) {
171 z[i - 1].min() !=
z[i].min());
179 for (
int i = ps - 1; i--; ) {
180 if (
x[tau[i]].
max() <
x[tau[i + 1]].
max()) {
181 if (
z[tau[i]].
max() >
z[tau[i + 1]].
max()) {
182 if (
z[tau[i]].
max() != sinfo[scclist[tau[i]]].rightmost) {
184 if (
z[tau[i]].assigned()) {
185 if (
x[tau[i + 1]].
min() >
x[tau[i]].
max()) {
196 z[tau[i + 1]].max() !=
z[tau[i]].max());
Representation of a strongly connected component.
Extended Index comparison for ViewArray<Tuple>.
Index comparison for ViewArray<Tuple>.
Extended view comparison on pairs of views.
View comparison on ViewTuples.
bool me_failed(ModEvent me)
Check whether modification event me is failed.
bool me_modified(ModEvent me)
Check whether modification event me describes variable modification.
void sort_tau(ViewArray< View > &x, ViewArray< View > &z, int tau[])
Build .
bool normalize(Space &home, ViewArray< View > &y, ViewArray< View > &x, bool &nofix)
Performing normalization on the views in y.
bool perm_bc(Space &home, int tau[], SccComponent sinfo[], int scclist[], ViewArray< View > &x, ViewArray< View > &z, bool &crossingedge, bool &nofix)
Bounds consistency on the permutation views.
void sort_sigma(ViewArray< View > &x, ViewArray< View > &z)
Build .
void quicksort(Type *l, Type *r, Less &less)
Standard quick sort.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
Post propagator for SetVar SetOpType SetVar y
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar x
int ModEvent
Type for modification events.