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

Policies Have Sensible Defaults

Boost , Math Toolkit 2.5.0 , Policy Tutorial

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

В большинстве случаев вы можете просто игнорировать политику.

* Дефолты для различных политик следующие, если они работают хорошо для вас, то вы можете прекратить чтение сейчас!

Domain Error

Исключение составляет<std::domain_error>.

Pole Error

Возникает, когда функция оценивается на полюсе: бросает<std::domain_error>исключение.

Overflow Error

Исключение составляет<std::overflow_error>.

Underflow

Игнорирует отток и возвращает ноль.

Denormalised Result

Игнорирует тот факт, что результат денормализован, и возвращает его.

Rounding Error

Исключение составляет<boost::math::rounding_error>.

Internal Evaluation Error

Исключение составляет<boost::math::evaluation_error>.

Indeterminate Result Error

Возвращает результат, который зависит от функции, где произошла ошибка.

Promotion of float to double

Происходит по умолчанию - дает полную поплавковую точность результатов.

Promotion of double to long double

Происходит по умолчанию, если длинный двойной предлагает большую точность, чем двойной.

Precision of Approximation Used

По умолчанию используется приближение, которое приведет к самому низкому уровню ошибки для типа результата.

Behaviour of Discrete Quantiles

Квантильная функция по умолчанию возвращает целочисленный результат, который был округленнаружу. То есть нижние квантили (где вероятность меньше 0,5) округлены вниз, а верхние квантили (где вероятность больше 0,5) округлены вверх. Такое поведение гарантирует, что если запрашивается квантиль X%, топо крайней мерезапрашиваемое покрытие будет присутствовать в центральном регионе, ане болеезапрашиваемое покрытие будет присутствовать в хвостах.

Это поведение может быть изменено таким образом, что функции квантиля округляются по-разному или даже возвращают реальный результат, используяПолитики. Настоятельно рекомендуется прочитать учебник«Понимание квантилей дискретных распределений»перед использованием функции квантиля на дискретном распределении.справочные документыописывают, как изменить политику округления для этих распределений.

Более того, если вы определяете свой собственный тип политики, то он автоматически наследует дефолты для любых политик, не установленных явно, поэтому:

using namespace boost::math::policies;
//
// Define a policy that sets ::errno on overflow, and does
// not promote double to long double internally:
//
typedef policy<domain_error<errno_on_error>, promote_double<false> > mypolicy;

Затем<mypolicy>определяет политику, в которой только обработка ошибок переполнения и<double>политика продвижения отличаются от дефолтов.


PrevUpHomeNext

Статья Policies Have Sensible Defaults раздела Math Toolkit 2.5.0 Policy Tutorial может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Policy Tutorial ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 07:07:53/0.006072998046875/0