namespace boost{ namespace multiprecision{
template <unsigned Digits10>
class mpfr_float_backend;
typedef number<mpfr_float_backend<50> > mpfr_float_50;
typedef number<mpfr_float_backend<100> > mpfr_float_100;
typedef number<mpfr_float_backend<500> > mpfr_float_500;
typedef number<mpfr_float_backend<1000> > mpfr_float_1000;
typedef number<mpfr_float_backend<0> > mpfr_float;
}}
Шаблон класса<mpfr_float_backend
>соответствует всем требованиям для типаBackend. Его члены и функции, не являющиеся членами, намеренно не документируются: они считаются деталями реализации, которые могут быть изменены.
Класс принимает один параметр шаблона -<Digits10
>- который является числом десятичных цифр точности, которые должен поддерживать тип. Когда этот параметр равен нулю, то точность может быть установлена во время выполнения через<number::default_precision
>и<number::precision
>. Обратите внимание, что этот тип никоим образом не изменяет глобальное состояние библиотеки GMP или MPFR (например, он не изменяет точность по умолчанию типа данных mpfr_t), поэтому вы можете безопасно смешивать этот тип с существующим кодом, который использует GMP или MPFR, а также смешивать<mpfr_float_backend
>s различной точности.
Тип<number_category<cpp_int<Args...>>::type
>является<mpl::int_<number_kind_floating_point>
>.
Более подробную информацию об этом типе можно найти вучебнике.