|  | 
|      | 
|  | 
| gmp_floatBoost , Chapter 1. Boost.Multiprecision , floating-point Numbers
  
   | |||||||||
| ![[Note]](/img/note.png) | Note | 
|---|---|
| Этот тип обеспечивает только стандартную библиотеку и поддержку< | 
Как и обычные преобразования из арифметических и струнных типов, экземпляры<number<mpf_float<N>>>являются копируемыми и присваиваемыми из:
mpf_t>,<mpz_t>,<mpq_t>.number>Обертки вокруг этих типов:<number<mpf_float<M>>>,<number<gmp_int>>,<number<gmp_rational>>.Также можно получить доступ к базовой<mpf_t>функции<data()>члена<gmp_float>.
Что вы должны знать при использовании этого типа:
gmp_float>s имеют нулевое значение (это поведение библиотекиGMPпо умолчанию).number>об этом бэкэнд-движении осведомленными.std::runtime_error>бросается, если строка не может быть интерпретирована как действительное число с плавающей точкой.std::overflow_error>.#include <boost/multiprecision/gmp.hpp> #include <boost/math/special_functions/gamma.hpp> #include <iostream> int main() { using namespace boost::multiprecision; // Operations at variable precision and limited standard library support: mpf_float a = 2; mpf_float::default_precision(1000); std::cout << mpf_float::default_precision() << std::endl; std::cout << sqrt(a) << std::endl; // print root-2 // Operations at fixed precision and full standard library support: mpf_float_100 b = 2; std::cout << std::numeric_limits<mpf_float_100>::digits << std::endl; // We can use any C++ std lib function: std::cout << log(b) << std::endl; // print log(2) // We can also use any function from Boost.Math: std::cout << boost::math::tgamma(b) << std::endl; // These even work when the argument is an expression template: std::cout << boost::math::tgamma(b * b) << std::endl; // Access the underlying representation: mpf_t f; mpf_init(f); mpf_set(f, a.backend().data()); mpf_clear(f); return 0; }
Статья gmp_float раздела Chapter 1. Boost.Multiprecision floating-point Numbers может быть полезна для разработчиков на c++ и boost.
:: Главная :: floating-point Numbers ::
| реклама |