21#include "absl/strings/str_cat.h"
40 const int64_t numerator = fraction.first;
41 const int64_t denominator = fraction.second;
42 return denominator == 1 ? absl::StrCat(numerator)
43 : absl::StrCat(numerator,
"/", denominator);
48 std::numeric_limits<double>::epsilon())
56 if (
a == 0.0)
return "";
60 a == 1.0 ? x : absl::StrCat(
Stringify(
a, fraction),
" ", x))
64 : absl::StrCat(
Stringify(-
a, fraction),
" ", x));
std::string StringifyMonomial(const Fractional a, const std::string &x, bool fraction)
std::string Stringify(const Fractional x, bool fraction)
std::string StringifyRational(const double x, const double precision)
static double ToDouble(double f)
Collection of objects used to extend the Constraint Solver library.
Fraction RationalApproximation(const double x, const double precision)
std::pair< int64_t, int64_t > Fraction