6.1.26 Расширенные математические функции
GNU Fortran поддерживает расширенный список математических функций с флагом компиляции -fdec-math для совместимости со старым кодом. Эти функции подробно описаны в Функциях, где отмечается, что они являются расширениями и следует избегать их использования, когда это возможно.
В частности, -fdec-math включает функцию COTAN и тригонометрические функции, которые принимают или возвращают значения в градусах вместо радиан. Вот сводка новых функций:
| Радиан | Градусы |
|---|---|
ACOS |
ACOSD* |
ASIN |
ASIND* |
ATAN |
ATAND* |
ATAN2 |
ATAN2D* |
COS |
COSD* |
COTAN* |
COTAND* |
SIN |
SIND* |
TAN |
TAND* |
* Включается с -fdec-math.
Для продвинутых пользователей может быть важно знать реализацию этих функций. Они просто являются оболочками вокруг стандартных функций в радианах, которые имеют более точные встроенные версии. Эти функции преобразуют свои аргументы (или результаты) в градусы (или радианы), взяв значение по модулю 360 (или 2*pi) и затем умножив его на постоянный коэффициент радиан-в-градусы (или градусы-в-радианы), соответственно. Коэффициент вычисляется во время компиляции как 180/pi (или pi/180).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gfortran/Extended-math-intrinsics.html