/usr/include/cln/rational_io.h is in libcln-dev 1.3.4-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | // I/O of rational numbers.
#ifndef _CL_RATIONAL_IO_H
#define _CL_RATIONAL_IO_H
#include "cln/number_io.h"
#include "cln/rational.h"
namespace cln {
// Undocumented input functions
// Wandelt eine Zeichenkette mit Rational-Syntax in eine rationale Zahl um.
// read_rational(base,sign,string,index1,index3,index2)
// > base: Lesebasis (>=2, <=36)
// > sign: Vorzeichen (/=0 falls negativ)
// > string: Simple-String (enthält Ziffern mit Wert <base und Bruchstrich)
// > index1: Index der ersten Ziffer
// > index3: Index von '/'
// > index2: Index nach der letzten Ziffer
// (also index3-index1 Zähler-Ziffern, index2-index3-1 Nenner-Ziffern)
// < ergebnis: rationale Zahl
extern const cl_RA read_rational (unsigned int base,
cl_signean sign, const char * string, uintC index1, uintC index3, uintC index2);
// The following does strictly the same as the general read_complex.
// It is here only so that you don't need the complex and float number
// readers in order to read an rational number. ("Treeshaking")
extern const cl_RA read_rational (const cl_read_flags& flags, const char * string, const char * string_limit, const char * * end_of_parse);
extern const cl_RA read_rational (std::istream& stream, const cl_read_flags& flags);
// Documented input functions
inline std::istream& operator>> (std::istream& stream, cl_RA& result)
{
extern cl_read_flags cl_RA_read_flags;
result = read_rational(stream,cl_RA_read_flags);
return stream;
}
// Undocumented output functions
// Gibt eine rationale Zahl aus.
// print_rational(stream,base,z);
// > z: rationale Zahl
// > base: Basis (>=2, <=36)
// > stream: Stream
extern void print_rational (std::ostream& stream, unsigned int base, const cl_RA& z);
// Documented output functions
// Gibt eine Zahl aus.
// print_rational(stream,flags,z);
// > z: Zahl
// > stream: Stream
// > flags: Ausgabe-Parameter
extern void print_rational (std::ostream& stream, const cl_print_flags& flags, const cl_RA& z);
extern void print_rational (std::ostream& stream, const cl_print_number_flags& flags, const cl_RA& z);
extern void print_rational (std::ostream& stream, const cl_print_real_flags& flags, const cl_RA& z);
extern void print_rational (std::ostream& stream, const cl_print_rational_flags& flags, const cl_RA& z);
// The following does strictly the same as the general `fprint' for numbers.
// It is here only so that you don't need the complex and long-float number
// printers in order to print an integer. ("Treeshaking")
inline void fprint (std::ostream& stream, const cl_RA& x)
{
extern cl_print_flags default_print_flags;
print_rational(stream,default_print_flags,x);
}
CL_DEFINE_PRINT_OPERATOR(cl_RA)
} // namespace cln
#endif /* _CL_RATIONAL_IO_H */
|