Хотя есть обманчиво простые формулы, доступные для всех этих функций, наивная реализация, которая использовала эти формулы, потерпела бы катастрофический провал для некоторых входных значений. Версии этих функций Boost были реализованы с использованием методологии, описанной в «Внедрение сложных функций Arcsine и Arccosine с использованием обработки исключений» Т. Э. Халла Томаса Ф. Фэргрив и Пинг Така Питера Танга, ACM Transactions on Mathematical Software, Vol. 23, No. 3, September 1997. Это означает, что функции хорошо определены по всему комплексному диапазону чисел и производят точные значения даже на крайних значениях этого диапазона, где в качестве наивной формулы во время расчета возникает переток или недоток, даже если результат на самом деле является репрезентабельным значением. Максимальная теоретическая относительная погрешность для всех этих функций составляет менее 9,5ε для каждой машинно-представляемой точки в комплексной плоскости. Пожалуйста, обратитесь к комментариям в самих файлах заголовка и к вышеупомянутому документу для получения дополнительной информации о методологии реализации.
Статья Implementation and Accuracy раздела Math Toolkit 2.5.0 Chapter 8. Complex Number Functions может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.