У меня есть программа CERN, которая вычисляет гамма-функцию сложного аргумента, но я не могу запустить программу из-за отсутствия знаний Fortran.Ссылка на функцию вызывает подпрограмму
У меня есть следующие программы:
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
, а затем ошибка появляется
ошибка # 6553: Ссылка функции вызова подпрограммы подпрограммы. [CGAMMA]
Что у вас? A .exe, или .so или что? – Holmz
Это .f90 Я добавил программу. –
Не используйте 'IMPLICIT' другое' IMPLICIT NONE'. Посмотрите на код подпрограммы, как переменные должны быть определены. Вы запрашиваете много проблем, используя 'IMPLICIT REAL'. –