![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
CompilersBoost , Math Toolkit 2.5.0 , Chapter 1. Overview
|
Платформа |
компилятор |
Длительная двойная поддержка |
Заметки |
---|---|---|---|
Windows |
MSVC 7.1 и позже |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными на уровне 4 с этим компилятором. |
Windows |
Intel 8.1 и более поздние |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными на уровне 4 с этим компилятором. Однако, Тестовые случаи, как правило, генерируют много предупреждений, связанных с численным оттоком тестовых данных: они безвредны. |
Windows |
GNU Mingw32 C++ |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. |
Windows |
GNU Cygwin C++ |
Нет |
Все тесты в порядке. Мы стремимся к тому, чтобы наши заголовки были свободны от стенок с этим компилятором. Долгосрочная двойная поддержка отключена, потому что нет нативных длинных двойных функций библиотеки C std. |
Windows |
Borland C++ 5.8.2 (Developer studio 2006) |
Нет |
У нас есть только частичная совместимость с этим компилятором: Длинная двойная поддержка была отключена, потому что нативные длинные двойные функции стандартной библиотеки C действительно только пересылаются в двойные версии. Это может привести к непредсказуемому поведению при использовании длинных двойных перегрузок: например, Некоторые функции все еще не компилируются, в настоящее время нет известных обходных путей. |
Windows 7/Netbeans 7.2 |
Удар 3.1 |
Да |
Примеры ОК. Ожидайте, что все тесты будут компилироваться и работать нормально. |
Linux |
GNU C++ 3.4 и позже |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. |
Linux |
Кланг 3.2 |
Да |
Все тесты в порядке. |
Linux |
Intel C++ 10.0 и более поздние версии |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. Однако, Тестовые случаи, как правило, генерируют много предупреждений, связанных с численным оттоком тестовых данных: они безвредны. |
Linux |
Intel C++ 8.1 и 9.1 |
Нет |
Все тесты в порядке. Долгая двойная поддержка была отключена с этими выпусками компилятора, потому что вызов стандартной библиотеки длинные функции двойной математики может привести к сегфолту. Проблема касается дистрибутива Linux и Glibc-версии, а также отчета об ошибках Intel No 409291. Полностью обновленные версии Intel 9.1 (почтовая версия l_cc_c_9.1.046) не должны иметь этой проблемы. Если вам нужна длинная двойная поддержка с этим компилятором, тогда прокомментируйте определение BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS на строке 55boost/math/tools/config.hpp. Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. Однако, Тестовые случаи, как правило, генерируют много предупреждений, связанных с численным оттоком тестовых данных: они безвредны. |
Linux |
QLogic PathScale 3.0 |
Да |
Некоторые тесты, включающие концептуальные проверки, не создаются, в противном случае, как представляется, проблем нет. |
Linux |
Sun Studio 12 |
Да |
Некоторые тесты, связанные с разрешением перегрузки функций, не могут быть построены, эти проблемы должны редко встречаться на практике. |
Солярис |
Sun Studio 12 |
Да |
Некоторые тесты, связанные с разрешением перегрузки функций, не могут быть построены, эти проблемы должны редко встречаться на практике. |
Солярис |
GNU C++ 4.x |
Да |
Все тесты в порядке. Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. |
HP Tru64 |
Compaq C++ 7.1 |
Да |
Все тесты в порядке. |
HP-UX Itanium |
HP aCC 6.x |
Да |
Все тесты в порядке. К сожалению, этот компилятор издает довольно много предупреждений из библиотек, от которых мы зависим (TR1, Array и т. д.). |
HP-UX PA-RISC |
GNU C++ 3.4 |
Нет |
Все тесты в порядке. |
Apple Mac OS X, Intel |
Дарвин/GNU C++ 4.x |
Да |
Все тесты в порядке. |
Apple Mac OS X, PowerPC |
Дарвин/GNU C++ 4.x |
Нет |
Все тесты ОК. Длинная двойная поддержка была отключена на этой платформе из-за довольно странной природы 106-битной двойной реализации Дарвина. Это можно сделать, если кто-то готов оказать помощь. |
Apple Mac OS X |
Кланг 3.2 |
Да |
Все тесты должны быть в порядке. |
IBM AIX |
IBM xlc 5.3 |
Да |
Все тесты проходят, за исключением наших тестов fpclassify, которые выходят из строя из-за ошибки |
Table 1.10. Unsupported Compilers
Платформа |
компилятор |
---|---|
Windows |
Borland C++ 5.9.2 (Borland Developer Studio 2007) |
Windows |
MSVC 6 и 7 |
Если ваш компилятор или платформа не указаны выше, попробуйте запустить регрессионные тесты: cd в boost-root/libs/math/test и сделайте следующее:
bjam mytoolset
где "mytoolset" - название набора инструментов Boost.Build, используемого для компилятора. Вероятность того, чтомногие из тестов на точность потерпят неудачу на этом этапе- не паникуйте - допустимые по умолчанию допуски ошибок довольно жесткие, особенно для длинных двойных типов с расширенным диапазоном экспонентов (это приводит к более экстремальным тестовым случаям для некоторых функций). Вам нужно будет обратить внимание на результаты неудачных тестов и принять решение о том, являются ли показатели ошибок приемлемыми или нет.
Статья Compilers раздела Math Toolkit 2.5.0 Chapter 1. Overview может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 1. Overview ::
реклама |