Passage de fonction en paramètre
J'ai besoin de passer une fonction en paramètre pour du Fortran 90, compilé avec xlf90.
En gros j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| function grad(x)
!calcul d'un gradient en fonction de x
end function grad
program mpg(x,grad)
!ma fonction de calcul de minimisation dans laquel je voudrais utiliser grad
!je fais donc:
external grad
real(kind=8) :: grad
!mais il veut pas
G = grad(x) |
Par contre, j'ai essayé de passer une subroutine en paramètre (external masubroutine puis call subroutine) et ça marche.