[ library(ic) | Reference Manual | Alphabetic Index ]
# ac_eq(?X, ?Y, ++C)

Arc-consistent implementation of X #= Y + C.
*X*
- Variable or integer
*Y*
- Variable or integer
*C*
- Integer constant

## Description

This constraint implements an arc-consistent version of X #= Y + C (i.e.
any "holes" in the domain of X are propagated to Y and vice-versa).

A range error is thrown if X and Y do not have "reasonable" bounds
(roughly +/- 2^30 on a 32-bit machine, roughly +/- 2^52 on a 64-bit
machine: note that even much smaller bounds than this can lead to
available memory being exhausted very rapidly, if not immediately).

## See Also

#= / 2