#include <boost/math/special_functions/cbrt.hpp>
namespace boost{ namespace math{
template <class T>
calculated-result-type cbrt(T x);
template <class T, class Policy>
calculated-result-type cbrt(T x, const Policy&);
}}
Возвращает кубический корень x: x1/3.
Тип возврата этой функции вычисляется с использованием правил расчета типа результата.:<double>, когдаxявляется целым типом, а T иначе.
Окончательный аргументПолитикаявляется необязательным и может быть использован для контроля поведения функции: как она обрабатывает ошибки, какой уровень точности использовать и т. д. См. документацию по политикедля более подробной информации.
Реализовано с использованием итерации Галлея.
Следующий график иллюстрирует поведение cbrt:

Для встроенных в плавающие точки типов<cbrt>должно быть примерно 2 эпсилоновых точности.
Table 6.80. Error rates for cbrt
|
|
Microsoft Visual C++ версия 12.0 Win32 двойная
|
GNU C++ версия 5.1.0 Linux Double
|
GNU C++ версия 5.1.0 Linux длинный двойной
|
Солнечный компилятор версии 0x5130 Солнечный солярис
|
cbrt Функция |
Max = 1.7ε (Mean = 0,565ε)
:Max = 1.7ε (Mean = 0,565ε)] |
Макс = 0ε (Средний = 0ε)
Цефес:Макс = 0ε (Средний = 0ε) |
Max = 1.34ε (Mean = 0.471ε)
:Max = 1.34ε (Mean = 0.471ε)] :Max = 1.34ε (Mean = 0.471ε)] |
Max = 1.11ε (Mean = 0.424ε)
:Max = 1.11ε (Mean = 0.424ε)] |
Смесь проверок здравомыслия спот-тестов и случайных значений высокоточных испытаний, рассчитанных с использованием NTL::RR с точностью 1000 бит.