Affichage des articles dont le libellé est Fortran. Afficher tous les articles
Affichage des articles dont le libellé est Fortran. Afficher tous les articles

dimanche 24 août 2008

Compilateur Intel Fortran: bit or byte ?

Depuis la version 10.0, et pour respecter les recommendation de la norme 2003 du Fortran, l'unite utilisee dans l'option recl d'une instruction open a change.
En effet, precedemment, l'unite utilisee etait le byte (qui correspoond a 8 bits). Ceci pretait a confusion, et donc la norme Fortran 2003 stipule qu'a present, l'unite utilisee doit etre le bit.

Ex:
open(UNIT=99, FILE='toto', ACCESS='DIRECT', FORM='UNFORMATTED', RECL=4, IOSTAT=ios)
Dans cette instruction, l'option RECL, stipulait que les mots du fichier ouvert mesuraient 4 bytes, soit 32 bits.
En revanche, la nouvelle norme stipule que cette ecriture signifie dorenavant que chaque mot mesure 4 bits.

Vous allez donc vous demander si il faut reecrire tous vos programmes. La reponse est evidemment non ! En effet, cette nouvelle regle a vu la naissance d'une nouvelle option de compilation: --assume byterecl

Donc pour vous permettre de compiler et executer a nouveau vos programmes avec le compilateur fortran, pensez a utiliser cette option de compilation.
$ ifort --assume byterecl toto.f90 -o toto