9 inline cln::cl_I convert<cln::cl_I, cln::cl_I>(
const cln::cl_I& n) {
14 inline cln::cl_RA convert<cln::cl_I, cln::cl_RA>(
const cln::cl_I& n) {
19 inline cln::cl_I convert<cln::cl_RA, cln::cl_I>(
const cln::cl_RA& n) {
20 assert(cln::denominator(n) == 1);
21 return cln::numerator(n);
25 inline cln::cl_RA convert<cln::cl_RA, cln::cl_RA>(
const cln::cl_RA& n) {
30 inline mpz_class convert<cln::cl_I, mpz_class>(
const cln::cl_I& n) {
31 if( n <= std::numeric_limits<sint>::max() && n >= std::numeric_limits<sint>::min() )
43 inline mpq_class convert<cln::cl_RA, mpq_class>(
const cln::cl_RA& n) {
45 if( den <= std::numeric_limits<sint>::max() && den >= std::numeric_limits<sint>::min() )
48 if( num <= std::numeric_limits<sint>::max() && num >= std::numeric_limits<sint>::min() )
60 inline mpz_class convert<mpz_class, mpz_class>(
const mpz_class& n) {
65 inline mpq_class convert<mpq_class, mpq_class>(
const mpq_class& n) {
70 inline cln::cl_I convert<mpz_class, cln::cl_I>(
const mpz_class& n) {
71 if( n <= std::numeric_limits<int>::max() && n >= std::numeric_limits<int>::min() )
77 cln::cl_I result = parse<cln::cl_I>(s.str());
82 inline cln::cl_RA convert<mpq_class, cln::cl_RA>(
const mpq_class& n) {
84 if( den <= std::numeric_limits<int>::max() && den >= std::numeric_limits<int>::min() )
87 if( num <= std::numeric_limits<int>::max() && num >= std::numeric_limits<int>::min() )
94 cln::cl_RA result = parse<cln::cl_RA>(s.str());
carl is the main namespace for the library.
cln::cl_I get_num(const cln::cl_RA &n)
Extract the numerator from a fraction.
cln::cl_I get_denom(const cln::cl_RA &n)
Extract the denominator from a fraction.
mpz_class parse< mpz_class >(const std::string &n)
sint to_int< sint >(const cln::cl_I &n)
mpq_class parse< mpq_class >(const std::string &n)