7 #include "cln/integer.h"
16 const cl_I mod (const cl_I& x, const cl_I& y)
20 // (DIVIDE (abs x) (abs y)) -> q,r
21 // Falls x,y verschiedene Vorzeichen haben und r<>0, setze r:=r-abs(y).
22 // Falls x<0, setze r:=-r.
24 var cl_I abs_y = abs(y);
25 var cl_I r = cl_divide(abs(x),abs_y).remainder;
26 if (minusp(x) != minusp(y))
27 { if (zerop(r)) { return 0; }
30 if (minusp(x)) { return -r; } else { return r; }