001package org.clafer.choco.constraint;
002
003import org.clafer.choco.constraint.propagator.PropReifyEqualXY;
004import solver.constraints.Constraint;
005import solver.variables.BoolVar;
006import solver.variables.IntVar;
007
008/**
009 *
010 * @author jimmy
011 */
012public class ReifyEqualXY extends Constraint<IntVar, PropReifyEqualXY> {
013
014    private final boolean reifyC;
015
016    public ReifyEqualXY(BoolVar reify, boolean reifyC, IntVar x, IntVar y) {
017        super(new IntVar[]{reify, x, y}, reify.getSolver());
018        this.reifyC = reifyC;
019        setPropagators(new PropReifyEqualXY(reify, reifyC, x, y));
020    }
021
022    @Override
023    public Constraint makeOpposite() {
024        return new ReifyEqualXY((BoolVar) vars[0], !reifyC, vars[1], vars[2]);
025    }
026}