Любая причина, чтобы избежать acos в Python? - PullRequest
2 голосов
/ 31 октября 2019

Я переписываю старую программу на Фортране 77 на Python. Вокруг кода разбросано много таких утверждений:

HPI=1.570791
V=HPI-DASIN(COS_V)
SIN_V=DSQRT(1.D0-COS_V**2)

Две разные тригонометрические формулы ( связь между asin и acos и пифагорейская тригонометрическая идентичность ) используются там. Похоже, что цель состоит в том, чтобы избежать использования acos любой ценой, предположительно для поддержания точности или, возможно, для скорости.

В Python все мои поплавки имеют двойную точность. Я бы нашел код более читабельным, если бы мог просто использовать math.acos:

v = math.acos(cos_v)
sin_v = math.sin(v)

Есть ли причины этого не делать?

...