Используется как со встроенными типами плавающих точек, так и с определяемой пользователем, возможно, расширенной точностью, такими типами, как NTL, MPFR/GMP, mp_float: в последнем случае константы вычисляются с необходимой точностью и затем кэшируются.
Точность - обеспечение максимальной точности значений для выбранного типа плавающей точки
Никакой потери точности от повторного округления промежуточных вычислений.
Результат вычисляется с большей точностью и округляется только один раз.
Меньше риск неточности результата от функций пау, триг и лог вугловых случаях.
Портативный — по возможности между различными системами с использованием разных прецизионных точек: см.использование в шаблонном коде.
Проверено — по сравнению с другими опубликованными источниками, или отдельно вычислено с большой двойной точностью.
Быстрее – можно избежать (повторного) расчета во время выполнения.
Если возвращенное значение является встроенным типом, то оно возвращается по значению как<constexpr>(функция C++11, если таковая имеется).
Если значение вычисляется и кэшируется (или построено из представления строки и кэшируется), то оно возвращается путем постоянной ссылки. Это может иметь значение, если:
Оптимизация компиляторов с помощью встроенных типов, особенно<double>, недоступна.
Статья Introduction раздела Math Toolkit 2.5.0 Chapter 4. Mathematical Constants может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.