J'ai besoin de passer une fonction en paramètre pour du Fortran 90, compilé avec xlf90.

En gros j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.