4 #include "base/cl_sysdep.h"
7 #include "cln/rational_io.h"
12 #include "cln/output.h"
13 #include "cln/integer_io.h"
14 #include "cln/rational.h"
15 #include "rational/cl_RA.h"
19 void print_rational (std::ostream& stream, const cl_print_rational_flags& flags, const cl_RA& z)
21 var unsigned int base = flags.rational_base;
22 if (flags.rational_readably)
23 // Radix-Specifier ausgeben:
26 fprintchar(stream,'#');
27 fprintchar(stream,'b');
30 fprintchar(stream,'#');
31 fprintchar(stream,'o');
34 fprintchar(stream,'#');
35 fprintchar(stream,'x');
40 // Basis 10 bei Integers durch
41 // nachgestellten Punkt kennzeichnen:
42 print_integer(stream,base,z);
43 fprintchar(stream,'.');
48 // Basis in #nR-Schreibweise ausgeben:
49 fprintchar(stream,'#');
50 print_integer(stream,10,base);
51 fprintchar(stream,'r');
56 // Integer in Basis base ausgeben:
57 print_integer(stream,base,z);
60 // Ratio in Basis base ausgeben; Zähler / Nenner
61 print_integer(stream,base,numerator(z));
62 fprintchar(stream,'/');
63 print_integer(stream,base,denominator(z));