BigFloat¶
Arbitrary-precision floating point number built on mpf_class.
Header: unumber/float/BigFloat.h
Precision model¶
Each instance has a precision in bits. Operations pick max(lhs.precision, rhs.precision) for the result.
Construction¶
BigFloat(); // 0, 256 bits
BigFloat(const std::string& s, mp_bitcnt_t p=256);
BigFloat(const char* s, mp_bitcnt_t p=256);
BigFloat(double v, mp_bitcnt_t p=256);
BigFloat(const mpf_class& v);
BigFloat(const BigInteger& v, mp_bitcnt_t p=256);
Formatting¶
std::string toString() const; // fixed with digits derived from precision
std::string toStringScientific() const; // mantissa + e10
std::string toStringFixed(int digits) const; // fixed digits after decimal
Operators¶
+ - * /, compounds, comparisons, stream << >>.
Notes:
toString()is intended as a reasonable default; usetoStringScientific()for stable output across magnitudes.- Input parsing uses base-10 strings via
mpf_set_str.