this repo has no description
1predicate fzn_if_then_else_float(array[int] of var bool: c, array[int] of float: x, var float: y) =
2 let { array[index_set(c)] of var bool: d; } in
3 forall(i in index_set(c))
4 (if i > min(index_set(c)) then
5 d[i] = (not c[i-1] /\ d[i-1])
6 else
7 d[i] = true
8 endif) /\
9 forall (i in index_set(c)) (c[i] /\ d[i] -> y=x[i]);