explicit ash_exception (const cl_I& badamount);
};
-// (LOGCOUNT x), wo x ein Integer ist. Ergebnis uintL.
+// (LOGCOUNT x), wo x ein Integer ist. Ergebnis uintC.
extern uintC logcount (const cl_I& x);
-// (INTEGER-LENGTH x), wo x ein Integer ist. Ergebnis uintL.
+// (INTEGER-LENGTH x), wo x ein Integer ist. Ergebnis uintC.
extern uintC integer_length (const cl_I& x);
-// (ORD2 x) = max{n>=0: 2^n | x }, wo x ein Integer /=0 ist. Ergebnis uintL.
+// (ORD2 x) = max{n>=0: 2^n | x }, wo x ein Integer /=0 ist. Ergebnis uintC.
extern uintC ord2 (const cl_I& x);
// power2p(x) stellt fest, ob ein Integer x>0 eine Zweierpotenz ist.
{ return logand(x,y); }
inline const cl_I operator~ (const cl_I& x)
{ return lognot(x); }
-#ifdef WANT_OBFUSCATING_OPERATORS
// This could be optimized to use in-place operations.
inline cl_I& operator|= (cl_I& x, const cl_I& y) { return x = x | y; }
inline cl_I& operator^= (cl_I& x, const cl_I& y) { return x = x ^ y; }
inline cl_I& operator&= (cl_I& x, const cl_I& y) { return x = x & y; }
-#endif
// Addition/Subtraktion von Integers
// Fakultät (! n), wo n Fixnum >=0 ist. Ergebnis Integer.
extern const cl_I factorial (uintL n);
-//CL_REQUIRE(cl_I_factorial)
// Double factorial (!! n), with n Fixnum >=0. Returns integer.
extern const cl_I doublefactorial (uintL n);
{ return testrandom_I(default_random_state); }
-#ifdef WANT_OBFUSCATING_OPERATORS
// This could be optimized to use in-place operations.
inline cl_I& operator+= (cl_I& x, const cl_I& y) { return x = x + y; }
inline cl_I& operator+= (cl_I& x, const int y) { return x = x + y; }
inline cl_I& operator/= (cl_I& x, const cl_I& y) { return x = x / y; }
inline cl_I& operator%= (cl_I& x, const cl_I& y) { return x = x % y; }
#endif
-#endif
// Runtime typing support.