1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

14 lines
455 B
MiniZinc

include "range.mzn";
/** @group globals
Returns the image of function \a x (represented as an array) on set
of values \a s. ub(\a s) must be a subset of index_set(\a x) otherwise an
assertion failure will occur.
*/
function var set of int: range(array[int] of var int: x, var set of int: s)
::promise_total =
let {
var set of lb_array(x)..ub_array(x): t ::is_defined_var;
constraint range(x,s,t) ::defines_var(t);
} in t;