Turing : taille des différents types de base Fortran

Les variables déclarées à l'aide des types par défaut INTEGER, REAL ou COMPLEX font l'objet d'une réservation en mémoire basée sur des mots de 4 octets. Le paramètre optionnel KIND=n indiqué à la suite du type permet d'influer sur cette taille ; c'est la façon la plus explicite et la plus sûre de le faire.

Il existe en outre des options de compilation permettant de modifier de façon globale la longueur des variables :

  • -qintsize=2/4/8 force la réservation en mémoire sur des mots de 2/4/8 octets (4 par défaut) pour les entiers et logiques déclarés avec le type INTEGER ou LOGICAL (sans spécification du paramètre KIND=n) ;
  • -qrealsize=8 : force la réservation en mémoire sur des mots de 4/8 octets (4 par défaut) pour les entités déclarées avec les types REAL, DOUBLE PRECISION, COMPLEX et DOUBLE COMPLEX (sans spécification du paramètre KIND=n) ;
  • -qautodbl=dbl4/dbl8/dbl/… peuvent aussi être utilisées pour promouvoir les réels de façon plus sélective.

Par exemple :

$ mpixlf90_r -qintsize=8 prog.f90 (promotion sur 8 octets des entiers par défaut).
$ mpixlf90_r -qautodbl=dbl4 prog.f90 (promotion sur 8 octets des réels et des complexes de taille 4 octets).