![]()  | 
![]() ![]() ![]() ![]()  | 
![]()  | 
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 ::
реклама  |