-// cl_compare().
+// compare().
// General includes.
#include "cl_sysdep.h"
// Specification.
-#include "cl_integer.h"
+#include "cln/integer.h"
// Implementation.
#include "cl_I.h"
#include "cl_DS.h"
-cl_signean cl_compare (const cl_I& x, const cl_I& y)
+namespace cln {
+
+cl_signean compare (const cl_I& x, const cl_I& y)
{
// Methode:
// x und y haben verschiedenes Vorzeichen ->
// x > 0 -> x > y
// y Bignum ->
// falls beide gleich lang -> wortweise vergleichen
- // x kürzer als y -> bei x,y > 0 : x < y, bei x,y < 0 : x > y
- // y kürzer als x -> bei x,y > 0 : x > y, bei x,y > 0 : x < y
+ // x kürzer als y -> bei x,y > 0 : x < y, bei x,y < 0 : x > y
+ // y kürzer als x -> bei x,y > 0 : x > y, bei x,y > 0 : x < y
var uintC xlen;
var uintC ylen;
if (fixnump(x))
ylen = TheBignum(y)->length;
if (xlen==ylen)
samelength:
- // gleiche Länge -> digitweise vergleichen
+ // gleiche Länge -> digitweise vergleichen
return compare_loop_msp(BN_MSDptr(x),BN_MSDptr(y),xlen);
else
return (xlen > ylen ? signean_plus : signean_minus);
{ xlen = TheBignum(x)->length;
ylen = TheBignum(y)->length;
if (xlen==ylen)
- // gleiche Länge -> wortweise vergleichen
+ // gleiche Länge -> wortweise vergleichen
goto samelength; // wie oben
else
return (xlen > ylen ? signean_minus : signean_plus);
}
}
+
+} // namespace cln