7 #include "cl_integer.h"
14 const cl_I_div_t floor2 (const cl_I& x, const cl_I& y)
18 // (DIVIDE (abs x) (abs y)) -> q,r
19 // Falls x,y verschiedene Vorzeichen haben und r<>0,
20 // setze q:=q+1 und r:=r-abs(y).
21 // Falls x<0, setze r:=-r.
22 // Falls x,y verschiedene Vorzeichen haben, setze q:=-q.
24 var cl_I abs_y = abs(y);
25 var cl_I_div_t q_r = cl_divide(abs(x),abs_y);
26 var cl_I& q = q_r.quotient;
27 var cl_I& r = q_r.remainder;
28 if ((minusp(x) != minusp(y)) && !zerop(r))
29 { q = q + 1; r = r - abs_y; }
32 if (minusp(x) != minusp(y))