Как мне нормализовать входное значение для acosf или asinf? - PullRequest
1 голос
/ 21 декабря 2011

Мне нужно получить обратный косинус и обратный синус по результатам ряда других вычислений.Если мое входное значение выходит за пределы диапазона от -1 до 1, то acosf или asinf возвращает nan, что ожидается при определении функции.

Как мне отрегулировать значение так, чтобы оно попадало в допустимый диапазон, но все равно давало правильный ответ?В электронной таблице, которую я использую для проверки своих расчетов, эта нормализация происходит за кулисами, поэтому nan не возвращается.

Я думаю, мне нужно сделать что-то вроде, для acosf, добавить cos (pi), пока значение не попадет в диапазон, но я хотел бы получить подтверждение или совет, пожалуйста.

1 Ответ

4 голосов
/ 21 декабря 2011

Процесс нормализации отсутствует. Если ответ находится за пределами [-1, + 1], то предыдущие вычисления не выполняются.

Единственным исключением является случай, когда неточности с плавающей точкой привели к значению, например 1.00001. В таких случаях, вероятно, безопасно зафиксировать входной сигнал в допустимом диапазоне.

...