Confusa precisão dupla real em Fortran
Tenho esta pergunta ardente em minha mente agora: Qual é a maneira "aceita" de declarar a precisão dupla real no Fortran moderno? Na ordem do mais antigo para o mais novo, a história parece assim:DOUBLE PRECISION
, entãoREAL(kind=8)
, entãoINTEGER, PARAMETER :: dp=kind(1.d0)
comREAL(kind=dp)
--Metcalf agora dizdp=kind(0.d0)
--e agorafloat32=selected_real_kind(6,37)
oufloat64=selected_real_kind(15,307)
. Assim...
kind
redundante emREAL(kind=dp)
?Existem sinalizadores especiais necessários no momento da compilação para chamar a precisão dupla real comgfortran
ouifort
?