21 static void bwd(Interval& x1, Interval& x2,
double p);
22 static void bwd(Interval& x1, Interval& x2, Interval& p);
33 assert_release(p > 0. &&
"Modulo needs a strictly positive period p.");
35 if(!(x2.diam() > p || x1.diam() > p))
37 Interval r = (x1-x2)/p;
48 if(ir.is_degenerated())
49 SubOp::bwd(ir*p,x1,x2);
51 else if(ir.diam() == 1.)
55 Interval x1_1 = x1; Interval x1_2 = x1;
56 Interval x2_1 = x2; Interval x2_2 = x2;
57 SubOp::bwd(Interval(ir1*p),x1_1,x2_1);
58 SubOp::bwd(Interval(ir2*p),x1_2,x2_2);
65 assert_release(
false &&
"Modulo diameter error.");
73 assert_release(p.is_degenerated() &&
"ModOp::bwd(y,x1,x2) (with x1 and x2 intervals) not implemented yet");
74 ModOp::bwd(x1, x2, p.mid());
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:62
Interval integer(const Interval &x)
Returns the largest integer interval included in .
Definition codac2_Interval_operations_impl.h:284