12 #include "cln/number.h"
16 #define MAYBE_INLINE inline
17 #include "cl_I_from_NDS.cc"
22 const cl_I UDS_to_I (uintD* MSDptr, uintC len)
24 while ( (!(len==0)) && (mspref(MSDptr,0)==0) ) // solange len>0 und MSD = 0,
25 { msshrink(MSDptr); len--; } // Nulldigit streichen
26 // Dann wie bei NUDS_to_I :
27 if ((!(len==0)) && ((sintD)mspref(MSDptr,0) < 0))
28 // Falls die Länge >0 und das Most significant Bit = 1 sind,
29 // die Digit Sequence um ein Nulldigit erweitern:
30 { lsprefnext(MSDptr) = 0; len++; }
31 return NDS_to_I(MSDptr,len);