namespace cln {
-MAYBE_INLINE
-const cl_I NDS_to_I (const uintD* MSDptr, uintC len)
+CL_INLINE const cl_I CL_INLINE_DECL(NDS_to_I) (const uintD* MSDptr, uintC len)
{
// Mehr als bn_minlength Digits -> Bignum.
// Weniger als bn_minlength Digits -> Fixnum.
// Genau bn_minlength Digits -> Bignum oder Fixnum.
if (len < bn_minlength)
- { // 0..bn_minlength-1 Digits, paßt in ein Fixnum:
+ { // 0..bn_minlength-1 Digits, paßt in ein Fixnum:
if (bn_minlength>1 ? (len==0) : TRUE)
// 0 Digits
{ return 0; }
if (len == bn_minlength)
// bn_minlength Digits, also (incl. Vorzeichen) zwischen
// (bn_minlength-1)*intDsize+1 und bn_minlength*intDsize Bits.
- // Höchstens cl_value_len Bits -> paßt in ein Fixnum:
+ // Höchstens cl_value_len Bits -> paßt in ein Fixnum:
{ if ( (mspref(MSDptr,0) <= (uintD)(bit(cl_value_len-1-(bn_minlength-1)*intDsize)-1)) // Fixnum >=0 ?
||(mspref(MSDptr,0) >= (uintD)(-bit(cl_value_len-1-(bn_minlength-1)*intDsize))) // Fixnum <0 ?
)
#endif
// mindestens bn_minlength Digits, mache ein Bignum
{ var Bignum result = allocate_bignum(len);
- // neues Bignum mit dem Inhalt der NDS füllen:
+ // neues Bignum mit dem Inhalt der NDS füllen:
copy_loop_msp(MSDptr,arrayMSDptr(result->data,len),len);
return result;
}