7 #include "cl_rational_io.h"
12 #include "cl_output.h"
13 #include "cl_integer_io.h"
14 #include "cl_rational.h"
17 void print_rational (cl_ostream stream, const cl_print_rational_flags& flags, const cl_RA& z)
19 var unsigned int base = flags.rational_base;
20 if (flags.rational_readably)
21 // Radix-Specifier ausgeben:
24 fprintchar(stream,'#');
25 fprintchar(stream,'b');
28 fprintchar(stream,'#');
29 fprintchar(stream,'o');
32 fprintchar(stream,'#');
33 fprintchar(stream,'x');
38 // Basis 10 bei Integers durch
39 // nachgestellten Punkt kennzeichnen:
40 print_integer(stream,base,z);
41 fprintchar(stream,'.');
45 // Basis in #nR-Schreibweise ausgeben:
46 fprintchar(stream,'#');
47 print_integer(stream,10,base);
48 fprintchar(stream,'r');
53 // Integer in Basis base ausgeben:
54 print_integer(stream,base,z);
57 // Ratio in Basis base ausgeben; Zähler / Nenner
58 print_integer(stream,base,numerator(z));
59 fprintchar(stream,'/');
60 print_integer(stream,base,denominator(z));