assert round(f3(x_)) == round(x3) # etc: more coupling of constraints from mystic.constraints import with_mean, discrete @with_mean(5.0) def meanie(x): return x @discrete(list(range(11))) def integers(x): return x c = _and(integers, meanie) x = c([1,2,3]) assert x == integers(x) == meanie(x) x = c([9,2,3]) assert x == integers(x) == meanie(x) x = c([0,-2,3]) assert x == integers(x) == meanie(x) x = c([9,-200,344]) assert x == integers(x) == meanie(x) c = _or(meanie, integers) x = c([1.1234, 4.23412, -9]) assert x == meanie(x) and x != integers(x) x = c([7.0, 10.0, 0.0]) assert x == integers(x) and x != meanie(x) x = c([6.0, 9.0, 0.0])