Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

History

Boost , Chapter 1. Boost.Multiprecision , Roadmap

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Multiprecision-2.2.8 (Boost-1.62)
  • Для этого следует использовать хеширование<Boost.Hash>или<std::hash>.
  • Исправлены некоторые арифметические операции в cpp_bin_float и cpp_dec_float, которые должны генерировать NaN, см.#12157.
  • Предотвратить непреднамеренное введение переменной точности<mpfr_float_backend>с фиксированным распределением.
  • Фиксированный переток/отток в 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>.
Multiprecision-2.2.7 (Boost-1.61)
  • Исправленная ошибка ввода потока для целых типов см.#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.
  • Осознайте поплавок128, см.#12075.
  • Разрешить использовать библиотеку и тесты без исключения, см.#12070.
  • Фиксированные перегрузки оператора сравнения багги для повышения::рациональные.
  • Добавлены некоторые обходные пути для Oracle C++.
  • Исправлены некоторые недостающие тип-касты для случаев, когда тип конечности cpp_int шире, чем неподписанный.
Multiprecision-2.2.6 (Boost-1.60)
  • Фиксированный результат теста первичности Миллера Рабина на значение 2 см.#11495.
  • Улучшенная инициализация cpp_int из очень больших строк шести или восьмизначных цифр см.#11590.
  • Фиксированное поведение fmod для отрицательных делителей см.#11641.
  • Фиксированная петля бесконечного деления в специальном случае cpp_int см.#11648.
  • Пропущенное заявление о возвращении в#11762.
  • Ошибка арифметического компилятора фиксированного смешанного режима в#11764.
  • Исправленное чрезмерно агрессивное использование только в#11826.
Multiprecision-2.2.5 (Boost-1.59)
  • Заниженное увеличение/умножение/random.hpp, так как оно больше не требуется, обновили случайные примеры, чтобы соответствовать.
  • Исправлена ошибка в операторе правого сдвига cpp_int при смене отрицательных значений - семантика теперь дает те же значения, что и смещение целых чисел комплимента 2, хотя и не тот же шаблон бита.
  • Фиксированная поддержка GCC-4.6.4 в режиме C++0x путем отключения условного некрополя для этого компилятора см.#11402.
  • Подавлены многочисленные предупреждения компилятора.
Multiprecision-2.2.4 (Boost-1.58)
  • Измененный<frexp>, чтобы всегда быть невыражения шаблон генерации, см.:10993.
  • Улучшенная поддержка cpp_dec_float на Cygwin и других платформах с отсутствующей длинной двойной поддержкой см.10924.
  • Улучшена только поддержка и добавлено еще несколько тестов, см.10990.
  • Для компиляторов Intel-15.0 и Solaris-12.4 применялись различные обходные пути.
Multiprecision-2.2.3 (Boost-1.57)
  • Изменилось рациональное плавающее преобразование в точно круглое к ближайшему, см.10085.
  • Добавлен улучшенный общий поплавок к рациональным преобразованиям.
  • Исправлен редкий баг в функции экспоненты дляcpp_bin_float.
  • Исправлены различные незначительные вопросы документации.
Multiprecision-2.2.2 (Boost-1.56)
  • Изменить плавающую точку на неявные рациональные преобразования см.10082.
  • Исправить определение check_cpp_rational typedef.
Multiprecision-2.2.1
  • Исправьте ошибку в назначении из строки в cpp_int, см.9936.
Multiprecision-2.2.0
  • Переехали в Буст. Многоточный конкретный номер версии - у нас есть одно кардинальное изменение в Boost-1.54, которое делает эту основную версию 2 плюс два релиза с новыми функциями с тех пор.
  • Добавлен новыйcpp_bin_floatbackend для двоичной плавающей точки.
  • Добавлен MSVC-специфический #include для внутренних компиляторов, см.9336.
  • Различные опечатки в документах см.9432.
  • Фиксированныйgmp_rational, позволяющий переместить копию с уже скопированного объекта, см.9497.
  • Список значений для numeric_limits.
Boost-1.55
  • Добавлена поддержка Boost.Serialization.
  • Подавили некоторые предупреждения GCC.8872.
  • Фиксированный баг в поу для больших целых аргументов.8809.
  • Фиксированный баг в пау для расчета 0N. См.8798.
  • Исправленная ошибка в коде с фиксированной точностью cpp_int IO, которая приводит к отказу преобразования в строку, когда количество битов очень мало (меньше, чем CHAR_BIT).8745.
  • Исправленная ошибка в cpp_int, которая приводит к сбою левого сдвига при переполнении фиксированного точного типа.8741.
  • Исправлены некоторые косметические предупреждения от cpp_int.8748.
  • Фиксированные вызовы к функциям, которые должны быть макросами в C99. См.8732.
  • Исправленная ошибка, которая приводит к сбою конструкции из INT_MIN, LONG_MIN и т. Д.8711.
1.54
  • Переломпереименован<rational_adapter>в<rational_adaptor>.
  • Добавить поддержкуMPFI.
  • Добавить logged_adaptor
  • Добавьте поддержку 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.
1.53
  • Первое освобождение.
  • Исправление ошибки вcpp_int делении.
  • Исправить проблему#7806.
Post review changes
  • Операторы шаблонов невыражения дополнительно оптимизированы с поддержкой ссылки на значение rvalue.
  • Много функций<constexp>.
  • Различают явные и неявные преобразования в конструкторе чисел.
  • Удалён префикс «mp_» из типов.
  • Допускается смешанная точная арифметика.
  • Измененный параметр ExpressionTemplates относится к классу<number>для использования перечисленных значений, а не истинных/ложных.
  • Измененное значение параметров ExpressionTemplate по умолчанию для использования класса признаков, так что значение по умолчанию зависит от используемого бэкэнда.
  • Добавлена поддержка fused-multiply-add/subtract с поддержкой GMP.
  • Настроенный шаблон выражения распаковывается, чтобы использовать меньшее количество времени, когда LHS также появляется в RHS.
  • Рефакторированный<cpp_int_backend>на основе комментариев обзора с новой структурой параметров шаблона.
  • Добавлен дополнительный параметр шаблона<mpfr_float_backend>, чтобы обеспечить распределение на основе стека.
  • Добавлен раздел о смешанной прецизионной арифметике и добавлена поддержка операций, дающих более высокий результат точности, чем любой из аргументов.
  • Добавлены перегрузки целочисленных специфических функций для встроенных в целочисленные типы.
Pre-review history
  • В 2011—2012 годах Джон Мэддок добавляет в код Кристофера шаблон экспрессии с включенным передним концом и добавляет поддержку других бэкэндов.
  • В 2011 году Кристофер Корманиос опубликовал десятичный код с плавающей запятой под лицензией Boost Software. Код опубликован как:«Алгоритм 910: Портативная многоточная система C++ для расчетов специальных функций», в ACM TOMS, {VOL 37, ISSUE 4, (февраль 2011)} ACM, 2011.
  • В 2002-2011 годах Кристофер Корманйос разработал весь десятичный арифметический код с плавающей точкой C++.

PrevUpHomeNext

Статья History раздела Chapter 1. Boost.Multiprecision Roadmap может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Roadmap ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:41:21/0.0094771385192871/0