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}