Suiv.: 1.5 Tableaux dynamiques
Sup.: Généralités
Préc.: 1.3 Format libre
Index
Table des matières
Le mécanisme de format libre vu précédemment permet de fournir des données de types classiques : entier, réel, chaîne de caractères, ... Or, certains programmes dépendent aussi de fonctions algébriques : par exemple, un mailleur a besoin de l'expression analytique de chacune des frontières courbes, ou encore un programme de tracé de courbes a besoin des équations de ces courbes. Le caractère statique de Fortran ne permet pas de résoudre directement ce problème. Modulef a donc défini un jeu d'utilitaires [RM 94] capables d' analyser dynamiquement une fonction algébrique, puis de l' interpréter (c'est-à-dire l'évaluer).
La définition d'une fonction peut être répartie sur plusieurs lignes et se termine obligatoirement par un point-virgule (à ne pas oublier !). A ceci près, la syntaxe est très voisine de celle des ``statement functions'' de Fortran. Exemple :
F(X,Y,Z) = X**2 + Y**2 + Z**2
+ X / (1 - COS(X+Y+Z)) ;
L'analyse d'une fonction est réalisée par l'utilitaire
FONDES (p. ).
L'interprétation d'une fonction est réalisée par l'un des
utilitaires FON0RR (p. ),
FON1RR (p.
),
FON2RR (p.
), ou
FON3RR (p.
) : retour d'une valeur
réelle à partir de 0, 1, 2, ou 3 paramètres réels.
Il arrive aussi que des programmes doivent manipuler des fonctions numérotées. L'utilisateur doit alors donner des fonctions dont le nom comprend une ou plusieurs lettres, puis le numéro de la fonction. Par exemple, pour définir les équations des courbes de référence 3 et 5 pour le processeur APNOXX :
COURBE3(X,Y) = X**2 + Y**2 - 1 ;
COURBE5(X,Y) = (X-1.2)**2 + (Y-3.4)**2 - 6.25 ;
FIN
Ces fonctions sont manipulées par l'utilitaire
FONDEN (p. ).