git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
16 lines
498 B
MiniZinc
16 lines
498 B
MiniZinc
include "inverse.mzn";
|
|
|
|
/** @group globals.channeling
|
|
Given a function \a f represented as an array, return the inverse function.
|
|
*/
|
|
function array[$$E] of var $$F: inverse(array[$$F] of var $$E: f) =
|
|
let {
|
|
array[lb_array(f)..ub_array(f)] of var index_set(f): invf;
|
|
constraint inverse(f,invf);
|
|
} in invf;
|
|
|
|
/** @group globals.channeling
|
|
Given a function \a f represented as an array, return the inverse function.
|
|
*/
|
|
function array[$$E] of $$F: inverse(array[$$F] of $$E: f);
|