Почему Boost.Multiprecision не использует максимально возможный размер слова?

Я заметил, что бэкенд библиотеки cpp_int библиотеки Boost.Multiprecion использует 32-разрядное целое число без знака в качестве слова (лимба) в 64-разрядной архитектуре. Требование для использования 64-битного слова — наличие встроенного 128-битного целого числа в компиляторе (что может быть подсказкой). Это почему?

Подробнее о «подсказке». limb_type определяется как detail::largest_unsigned_type<32>::type для компиляторов без встроенной поддержки 128-битного целого в файле boost/multiprecision/cpp_int/cpp_int_config.hpp, Существует также тип под названием double_limb_type,

1

Решение

Задача ещё не решена.

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


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