C ++: конвертировать & quot; boost :: multiprecision :: float128 & quot; «удвоить»

Я использую библиотеку boost multiprecision, а точнее тип boost :: multiprecision :: float128. Используя ICPC для компиляции, я получаю некоторые ошибки при попытке сделать что-то вроде:

double a = functionA();

где functionA () возвращает переменную boost :: multiprecision :: float128.

error: no suitable conversion function from "boost::multiprecision::float128" to "double" exists|

Как я могу решить это?

3

Решение

Из документации Boost:

Число может быть преобразовано в любой встроенный тип через функцию-член convert_to:

mpz_int z(2);
double i = z.convert_to<double>(); // sets i to 2

http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html

10

Другие решения


По вопросам рекламы [email protected]