Фиксированный переток/отток в cpp_bin_float, см.#12167.
Добавлена поддержка подписанных-zeros по всей библиотеке, в том числе поддержка<signbit>и<copysign>, mpfr, float128 и cpp_bin_float типов теперь должны уважать подписанные-zeros правильно.
Исправлена ошибка в преобразовании бесконечностей cpp_bin_float в двойные и т.д., см.#12196.
Исправьте добавление и вычитание cpp_bin_float, когда экспоненты будут переполнены. см.#12198.
Улучшите поддержку переменной точности в mpfr и mpf бэкэндах, разрешите использовать эти типы с Boost. Математика.
Фиксированная ошибка в вычитании подписанных бесконечностей в cpp_bin_float, см.#12209.
Исправить результат sqrt(infinity) в cpp_bin_float (результат должен быть бесконечным), см.#12227.
Добавлен обходной путь в gmp.hpp для последних выпусков MPIR, которые не совсем совместимы с GMP в Windows x64.
Разрешить<cpp_int>код для использования с /RTCc с MSVC.
Исправьте преобразование<cpp_int>в подписанное целое число, когда результатом является INT_MIN, см.#12343.
Обновите поддержку uBlas, чтобы соответствовать последнему коду uBlas.
Исправьте некоторые ошибки, присутствующие при построении на машинах большого конца (не все<cpp_int>конструкторы доступны на машинах малого конца).
Исправьте ошибку фехтования в рациональных схемах плавающего преобразования, см.#12327.
Исправьте некоторые проблемы совместимости компилятора Oracle C++.
Добавьте поддержку модф для полной совместимости с C90.
Исправьте ошибку самоназначения в коде шаблона экспрессии для таких выражений, как<a=a*a*a>, см.#12408.
Исправлены некоторые ошибки компилятора, возникающие при преобразовании из<cpp_int>в<cpp_bin_float>.
Исправленная ошибка ввода потока для целых типов см.#11857.
Исправлены некоторые неоднозначные преобразования с использованием шаблонов выражения см.#11922.
Добавить шаблон выражения с осознанными мин/макс перегрузками см.#11149.
Исправьте ошибку в правом смещении отрицательных маленьких целых чисел в cpp_int см.#11999.
Используйте memmove для bitshifts в cpp_int, когда это возможно см.#9233.
Используйте memcpy для импорта данных в cpp_int, где это возможно, см.#9235.
Изменить<cpp_bin_float.convert_to<double>()>на шаблон функции, а не переходить через<longdouble>, чтобы избежать ошибки двойного округления, см.#12039.
Фиксированные преобразования из NaN's и Infinities, см.#12112.
Улучшена поддержка Clang в Windows.
Фиксированная обработка NaN и Infinities в базовой арифметике для cpp_dec_float и cpp_bin_float, см.#12090.
Фиксированная ошибка ограждения в вычитании cpp_bin_float.
Фиксированный двойной обход в преобразовании в поплавковые процедуры для cpp_bin_float, см.#12039.
Заниженное увеличение/умножение/random.hpp, так как оно больше не требуется, обновили случайные примеры, чтобы соответствовать.
Исправлена ошибка в операторе правого сдвига cpp_int при смене отрицательных значений - семантика теперь дает те же значения, что и смещение целых чисел комплимента 2, хотя и не тот же шаблон бита.
Фиксированная поддержка GCC-4.6.4 в режиме C++0x путем отключения условного некрополя для этого компилятора см.#11402.
Подавлены многочисленные предупреждения компилятора.
Переехали в Буст. Многоточный конкретный номер версии - у нас есть одно кардинальное изменение в Boost-1.54, которое делает эту основную версию 2 плюс два релиза с новыми функциями с тех пор.
Добавлен новыйcpp_bin_floatbackend для двоичной плавающей точки.
Добавлен MSVC-специфический #include для внутренних компиляторов, см.9336.
Исправленная ошибка в коде с фиксированной точностью cpp_int IO, которая приводит к отказу преобразования в строку, когда количество битов очень мало (меньше, чем CHAR_BIT).8745.
Исправленная ошибка в cpp_int, которая приводит к сбою левого сдвига при переполнении фиксированного точного типа.8741.
Исправлены некоторые косметические предупреждения от cpp_int.8748.
Фиксированные вызовы к функциям, которые должны быть макросами в C99. См.8732.
Исправленная ошибка, которая приводит к сбою конструкции из INT_MIN, LONG_MIN и т. Д.8711.
Добавьте поддержку 128-битных поплавков через типы данных GCC<float128>или Intel<_Quad>.
Добавить поддержку пользовательских букв в cpp_int, улучшить поддержку<constexpr>.
Исправленная ошибка в целочисленном делении<cpp_int>, которая приводит к неправильному знаку<cpp_int>, когда оба аргумента достаточно малы, чтобы соответствовать<double_limb_type>. См.8126.
Фиксированная ошибка в вычитании одной конечности в<cpp_int>, которая приводит к неправильному значению, когда результат должен иметь 0 в последней конечности:8133.
Исправлена ошибка в<cpp_int>, где деление 0 на что-то не получает нуля в результате:8160.
Исправлена ошибка в некоторых трансцендентальных функциях, которая вызывала неправильные значения возврата при повторном использовании переменных, например, с<a=pow(a,b)>. См.8326.
Исправлены некоторые операции назначения в mpfr и gmp бэкэндах, чтобы быть безопасными, если цель была перемещена из:8667.
Исправлена ошибка<cpp_int>, которая дает неправильный ответ для 0%N для большого N:8670.
Фиксированный набор_точность в mpfr backend, чтобы он не попирал существующее значение:8692.
Операторы шаблонов невыражения дополнительно оптимизированы с поддержкой ссылки на значение rvalue.
Много функций<constexp>.
Различают явные и неявные преобразования в конструкторе чисел.
Удалён префикс «mp_» из типов.
Допускается смешанная точная арифметика.
Измененный параметр ExpressionTemplates относится к классу<number>для использования перечисленных значений, а не истинных/ложных.
Измененное значение параметров ExpressionTemplate по умолчанию для использования класса признаков, так что значение по умолчанию зависит от используемого бэкэнда.
Добавлена поддержка fused-multiply-add/subtract с поддержкой GMP.
Настроенный шаблон выражения распаковывается, чтобы использовать меньшее количество времени, когда LHS также появляется в RHS.
Рефакторированный<cpp_int_backend>на основе комментариев обзора с новой структурой параметров шаблона.
Добавлен дополнительный параметр шаблона<mpfr_float_backend>, чтобы обеспечить распределение на основе стека.
Добавлен раздел о смешанной прецизионной арифметике и добавлена поддержка операций, дающих более высокий результат точности, чем любой из аргументов.
Добавлены перегрузки целочисленных специфических функций для встроенных в целочисленные типы.
В 2002-2011 годах Кристофер Корманйос разработал весь десятичный арифметический код с плавающей точкой C++.
Статья History раздела Chapter 1. Boost.Multiprecision Roadmap может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.