Я заметил, используя gfortran, что функция tan
возвращает реальные значения того же типа, что и ее аргумент;например, можно передать ему real(kind=4)
, real(kind=8)
или real(kind=16)
и получить результаты в real(kind=4)
, real(kind=8)
или real(kind=16)
соответственно.
Функции двойной точности, такие как dtan
, с другой стороны, не такие гибкие.Если двойной тип по умолчанию равен 8 [1], они только принимают и возвращают real(kind=8)
, а если тип по умолчанию равен 16 [2], они только принимают и возвращают real(kind=16)
.
Являются ли эти определенные поведения, и еслиИтак, каков вариант использования функций двойной точности или они устарели?
[1], если скомпилировано с -fdefault-double-8
или без -fdefault-real-8
[2], скомпилировано с -fdefault-real-8
и без -fdefault-double-8