J'ai un programme CERN qui calcule la fonction gamma d'un argument complexe, mais je ne peux pas exécuter le programme en raison d'un manque de connaissances Fortran.Une référence de fonction appelle un sous-programme
J'ai le programme suivant:
PROGRAM Console1
IMPLICIT REAL *8 (A-H,O-Z)
COMPLEX *16 gama,z,w
z=cmplx(0,0.707106781186548d0)
gama=cgamma(0,z,w)
END
SUBROUTINE cgamma(mo, z, w)
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(14, 60)
INTEGER, INTENT(IN) :: mo
COMPLEX (dp), INTENT(IN) :: z
COMPLEX (dp), INTENT(OUT) :: w
... the subroutine code here
END SUBROUTINE cgamma
et erreur apparaît
erreur # 6553: Une référence de fonction est l'appel d'un sous-programme de sous-programme. [CGAMMA]
Qu'avez-vous? Un .exe, ou .so ou quoi? – Holmz
C'est un .f90 j'ai ajouté le programme. –
N'utilisez pas 'IMPLICIT' autre que' IMPLICIT NONE'. Regardez le code de sous-routine comment les variables doivent être définies. Vous demandez BEAUCOUP de problèmes en utilisant 'IMPLICIT REAL'. –