19struct hash<mpq_class> {
20 size_t operator()(
const mpq_class &val)
const;
31mpz_class floor(
const mpq_class &val);
37mpz_class ceil(
const mpq_class &val);
68inline const mpq_t &to_mpq_t(
const mpq_class &cla) {
return *
reinterpret_cast<const mpq_t *
>(cla.get_mpq_t()); }
70inline mpq_t &to_mpq_t(mpq_class &cla) {
return *
reinterpret_cast<mpq_t *
>(cla.get_mpq_t()); }
81inline const mpq_class &to_mpq_class(
const mpq_t &mpq) {
return reinterpret_cast<const mpq_class &
>(mpq); }
92inline mpq_class &to_mpq_class(mpq_t &mpq) {
return reinterpret_cast<mpq_class &
>(mpq); }
100inline bool is_digit_or_sign(
char c) {
return std::isdigit(c) || c ==
'+' || c ==
'-'; }
132mpq_class string_to_mpq(std::string_view str);