Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 3.3 Utilitaires de gestion des tableaux Sup.: 3 Tableaux dynamiques Préc.: 3.1 Exemple Index Table des matières


Déclaration du super-tableau

 

Rappelons que c'est à l'utilisateur d'estimer la taille LM du super-tableau (section 1.5). Les systèmes à mémoire virtuelle admettent généralement des tableaux de plusieurs millions de mots, et il est courant d'écrire :

PARAMETER (LM = 2 000 000)

Il est possible que le super-tableau ne contienne que des tableaux de type entier ou réel simple précision. De telles variables occupent toutes des éléments de mémoire de tailles identiques, à savoir un mot. En principe, il suffirait donc d'écrire (en choisissant arbitrairement le type entier) :

INTEGER M(LM)

Cependant, le super-tableau peut aussi contenir des tableaux dynamiques en double précision. Chaque élément de tableau occupe alors deux mots-mémoire, toujours cadrés sur une adresse de même parité. Pour que ce cadrage soit assuré par le compilateur, une solution est d'écrire :

DOUBLE PRECISION M(LM/2)

Mais, en pratique, quelques sous-programmes ne disposent pas du super-tableau en paramètre, et considèrent alors que celui-ci est dans le COMMON blanc. Le cadrage du COMMON pour les variables en double précision est normalement assuré par le compilateur. L'écriture recommandée est donc la suivante :

COMMON M(LM)

ou encore, pour être certain du cadrage en double précision :

DOUBLE PRESISION M

COMMON M(LM/2)

Il est à noter, toutefois, que la grande majorité des sous-programmes dispose du super-tableau en paramètre. Certaines applications particulières peuvent ainsi utiliser plusieurs super-tableaux, mais ceci doit être réalisé avec précaution.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 3.3 Utilitaires de gestion des tableaux Sup.: 3 Tableaux dynamiques Préc.: 3.1 Exemple Index Table des matières