File indexing completed on 2026-05-19 08:08:32
0001
0002
0003 #ifndef _CL_RATIONAL_IO_H
0004 #define _CL_RATIONAL_IO_H
0005
0006 #include "cln/number_io.h"
0007 #include "cln/rational.h"
0008
0009 namespace cln {
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 extern const cl_RA read_rational (unsigned int base,
0024 cl_signean sign, const char * string, uintC index1, uintC index3, uintC index2);
0025
0026
0027
0028
0029 extern const cl_RA read_rational (const cl_read_flags& flags, const char * string, const char * string_limit, const char * * end_of_parse);
0030 extern const cl_RA read_rational (std::istream& stream, const cl_read_flags& flags);
0031
0032 inline std::istream& operator>> (std::istream& stream, cl_RA& result)
0033 {
0034 extern cl_read_flags cl_RA_read_flags;
0035 result = read_rational(stream,cl_RA_read_flags);
0036 return stream;
0037 }
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 extern void print_rational (std::ostream& stream, unsigned int base, const cl_RA& z);
0048
0049
0050
0051
0052
0053
0054 extern void print_rational (std::ostream& stream, const cl_print_flags& flags, const cl_RA& z);
0055 extern void print_rational (std::ostream& stream, const cl_print_number_flags& flags, const cl_RA& z);
0056 extern void print_rational (std::ostream& stream, const cl_print_real_flags& flags, const cl_RA& z);
0057 extern void print_rational (std::ostream& stream, const cl_print_rational_flags& flags, const cl_RA& z);
0058
0059
0060
0061
0062
0063 inline void fprint (std::ostream& stream, const cl_RA& x)
0064 {
0065 extern cl_print_flags default_print_flags;
0066 print_rational(stream,default_print_flags,x);
0067 }
0068
0069 CL_DEFINE_PRINT_OPERATOR(cl_RA)
0070
0071 }
0072
0073 #endif