7 #include "cln/integer_io.h"
18 void print_integer (std::ostream& stream, unsigned int base, const cl_I& z)
22 // z<0 -> Vorzeichen ausgeben:
23 fprintchar(stream,'-');
28 var uintL need = cl_digits_need(abs_z,base);
29 var uintB* ziffern = cl_alloc_array(uintB,need); // Platz für die Ziffern
30 var cl_digits erg; erg.LSBptr = &ziffern[need];
31 #if (defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ < 4))
32 // workaround GCC-3 compiler bug fixed in GCC-3.4.0 (cf. Debian bug#246319)
33 static char dummy[40];
34 snprintf(dummy,40,"%d%x%x",need,&erg,erg.LSBptr);
36 I_to_digits(abs_z,(uintD)base,&erg); // Umwandlung in Ziffern
39 var uintB* ptr = erg.MSBptr;
40 var uintL count = erg.len;
41 do { fprintchar(stream,*ptr++); } until (--count==0);