7 #include "cln/rational_io.h"
12 #include "cln/output.h"
13 #include "cln/integer_io.h"
14 #include "cln/rational.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,'.');
47 // Basis in #nR-Schreibweise ausgeben:
48 fprintchar(stream,'#');
49 print_integer(stream,10,base);
50 fprintchar(stream,'r');
55 // Integer in Basis base ausgeben:
56 print_integer(stream,base,z);
59 // Ratio in Basis base ausgeben; Zähler / Nenner
60 print_integer(stream,base,numerator(z));
61 fprintchar(stream,'/');
62 print_integer(stream,base,denominator(z));