Bonjour,
je suis en train d'écrire un code d'optimisation et j'utilise pour cela la libraire Harwell. La fonction que j'appelle est vb01ad. Cette fonction appelle la fonction deriv.f (calculant une estimation des dérivée de la fonction coût) que l'utilisateur implémente. Mais deriv n'est pas un argument de vb01ad : l'utilisateur doit appeler une fonction deriv.f (j'espère être suffisamment clair).
Il se trouve que dans mon code, j'ai une seconde fonction coût, donc j'appelle 2 fois la fonction vb01ad. Je dois donc faire une seconde fonction deriv.f ...
j'ai donc 2 problèmes :
1) 2 fonctions différentes ne peuvent pas avoir le même nom
2) comment dire prend la fonction deriv1.f ou deriv2.f (qui doivent d'ailleurs s'appeler deriv.f)
En C, je pourrais faire qqch du genre ("pointeur de fonction")
deriv=deriv1
ici j'appelle une 1e fois vb01ad
deriv=deriv2
ici j'appelle une 2e fois vb01ad
Pouvez-vous m'aider s'il vous plait ?
Le code que je reprends est en fortran 77 mais je peux le réécrire en fortran 90 s'il le faut
Merci d'avance
Partager