Annexe B : procédures intrinsèques▲
12-1. Principales procédures intrinsèques élémentaires▲
-
ABS
: retourne la valeur absolue de son argument. Pour un complexe, retourne sa norme : kitxmlcodeinlinelatexdvp\sqrt{x^2 + y^2}finkitxmlcodeinlinelatexdvpABS
(-1) = 1 ;ABS
(-1.5) = 1.5 ;ABS
((3.,4.)) = 5.0 ; -
ACHAR : retourne le caractère de la table ASCII dont le rang est transmis en argument.
ACHAR(88) =
'X'
; ACHAR(42) ='*'
; -
ACOS
: retourne l'arc cosinus en radians de son argument réel.ACOS
(0.54030231) = 1.0 ; -
ADJUSTL : cadre à gauche la chaîne passée en argument : supprime les blancs en tête ; complète à droite par des blancs.
ADJUSTL(
' Fortran'
) ='Fortran '
-
ADJUSTR : cadre à droite la chaîne passée en argument : supprime les blancs en fin ; complète à gauche par des blancs.
ADJUSTR(
'Fortran '
) =' Fortran'
; -
AIMAG
: retourne la partie imaginaire du complexe passé en argument.AIMAG
((2.,3.)) = 3.0 ; -
AINT
: tronque le réel passé en argument.AINT
(2.783) = 2.0 ;AINT
(-2.783) = -2.0 ; -
ANINT
: retourne, sous forme d'un réel, l'entier le plus proche du réel transmis.ANINT
(2.783) = 3.0 ;ANINT
(-2.783) = -3.0 ; -
ASIN
: retourne l'arc sinus en radians de son argument réel.ASIN
(0.84147098) = 1.0 ; -
ATAN
: retourne l'arc tangente en radians de son argument réel.ATAN
(1.5574077) = 1.0 ; -
BIT_SIZE : retourne le nombre de bits utilisés pour la représentation de l'entier passé en argument.
BIT_SIZE(1) = 32 ;
-
BTEST : permet de tester la valeur d'un bit d'un entier : l'entier ainsi que la position du bit à tester sont passés en argument.
BTEST(8,3) =
.true.
; BTEST(10,2) =.false.
; -
CEILING
: retourne l'entier immédiatement supérieur au réel transmis en argument.CEILING
(3.7) = 4,CEILING
(-3.7) = -3 ; -
CMPLX
: retourne un complexe dont les parties réelle et imaginaire sont transmises en argument.CMPLX
(-3.) =-3.0+0.i ;CMPLX
(2,4.) = 2.0+4.0i ; -
CONJG
: retourne le complexe conjugué de celui passé en argument.CONJG
((-3.0,4.0)) = -3.0-4.0i ; -
COS
: retourne le cosinus de l'angle passé en argument (exprimé en radians).COS
(1.0) = 0.54030231 ; -
COSH
: retourne le cosinus hyperbolique.COSH
(1.0) = 1.5430806 : -
DBLE
: convertit en double précision l'argument transmis, -
EXP
: retourne l'exponentiel de l'argument transmis ;EXP
(1.0) = 2.7182818 -
FLOOR
: retourne l'entier immédiatement inférieur au réel transmis en argumentFLOOR
(3.7) = 3,FLOOR
(-3.7) = -4 ; -
IACHAR : retourne le rang dans la table ASCII du caractère transmis en argument.
IACHAR(
'X'
) = 88 ; IACHAR('*'
) = 42 ; -
IAND : retourne l'entier dont la représentation binaire est obtenue en combinant à l'aide d'un « et logique » les bits des deux entiers transmis en argument.
IAND(1,3) = 1 ; IAND(10,10) = 10 ;
-
IBCLR : permet de forcer à zéro un bit d'un entier : l'entier ainsi que la position du bit à forcer sont passés en argument.
IBCLR(14,1) = 12,
IBCLR((/ 1,2,3,4 /), 31) = (/ 29,27,23,15 /) ;
-
IBITS : permet l'extraction d'une séquence de bits d'un entier. L'entier suivi de la position ainsi que la longueur pour effectuer l'extraction sont passés en argument.
IBITS(14,1,3) = 7 ;
-
IBSET : permet de forcer à 1 un bit d'un entier : l'entier ainsi que la position du bit à forcer sont passés en argument.
IBSET(12,1) = 14,
IBSET((/ 1,2,3,4 /), 0) = (/ 1,3,3,5 /) ;
-
IEOR : retourne l'entier dont la représentation binaire est obtenue en combinant à l'aide d'un « ou exclusif » les bits des deux entiers transmis en argument.
IEOR(1,3) = 2 ; IEOR(10,10) = 0 ;
-
INDEX
: retourne la position d'une sous-chaîne dans une chaîne. La chaîne suivie de la sous-chaîne et du sens de la recherche sont fournis en argument.INDEX
('FORTRAN'
,'R'
) = 3,INDEX
('FORTRAN'
,'R'
,BACK=.true.
) = 5 ; -
INT
: convertit en entier l'argument transmis.INT
(-3.7) = -3 ;INT
(9.1/4.0) = 2 ; -
IOR : retourne l'entier dont la représentation binaire est obtenue en combinant à l'aide d'un « ou logique » les bits des deux entiers transmis en argument.
IOR(1,3) = 3,
IOR((/ 3,2 /),(/ 1,10 /)) = (/ 3,10 /) ;
-
ISHFT : permet d'effectuer un décalage des bits de l'entier passé en premier argument. Le deuxième argument indique le nombre de bits à décaler : son signe indique le sens du décalage (positif = gauche, négatif = droite). Les bits sortants sont perdus, les positions vacantes sont mises à zéro.
ISHFT(3,1) = 6 ; ISHFT(3,-1) = 1 ;
-
ISHFTC : idem ISHFT à la différence que le décalage est circulaire et s'effectue sur les n bits de droite de l'entier , n étant fourni en troisième argument (s'il est absent il est considéré égal au nombre de bits de l'entier).
ISHFT(3,2,3) = 5 ; ISHFT(3,-2) = -1073741824 ;
-
LEN
: retourne la longueur de la chaîne de caractères transmise en argument.CHARACTER
(len
=10) CH ;LEN
(CH) = 10 ; -
LEN_TRIM : retourne la longueur de la chaîne de caractères transmise en argument sans considérer les blancs de fin.
LEN_TRIM(
' FORTRAN '
) = 9 ; LEN_TRIM(' '
) = 0 ; -
LGE
: compare les deux chaînes de caractères transmises en argument : retourne.true.
si la première chaîne est supérieure ou égale à la deuxième,.false.
Sinon.LGE
('MANET'
,'MONET'
) =.false.
,LGE
('MANET Edouard'
,'MANET'
) =.true.
; -
LGT
: compare les deux chaînes de caractères transmises en argument : retourne.true.
si la première chaîne est supérieure strictement à la deuxième,.false.
sinon.LGT
('MANET'
,'MANET'
) =.false.
; -
LLE
: compare les deux chaînes de caractères transmises en argument : retourne.true.
si la première chaîne est inférieure ou égale à la deuxième,.false.
Sinon.LLE
('MANET'
,'MONET'
) =.true.
,LLE
('MANET'
,'MANET'
) =.true.
; -
LLT
: compare les deux chaînes de caractères transmises en argument : retourne.true.
si la première chaîne est inférieure strictement à la deuxième,.false.
sinon.LLT
('MANET'
,'MANET'
) =.false.
; -
LOG
: retourne le logarithme népérien de l'argument transmis.LOG
(2.7182818) = 1.0 ;LOG
(10.0) = 2.3025851 ; -
LOG10
: retourne le logarithme décimal de l'argument transmis.LOG10
(10.0) = 1.0 ;LOG10
(10.E10) = 11.0 ; -
MAX
: retourne le maximum des nombres passés en argument.MAX
(-9.0,7.0,2.0) = 7.0 ; -
MIN
: retourne le minimum des nombres passés en argument.MIN
(-9.0,7.0,2.0) = -9.0 ; -
MOD
: retourne le reste de la division effectuée à l'aide des deux arguments fournis.MOD
(3.0,2.0) = 1.0 ;MOD
(-8,5) = -3 ; -
NOT : retourne l'entier dont la représentation binaire est obtenue en inversant les bits de l'entier transmis en argument.
NOT(10) = -11 ;
-
REAL
: convertit en réel l'argument transmis.REAL
(3) = 3.0 ; -
REPEAT : permet de concaténer n fois une chaîne de caractères.
REPEAT(
'A'
,10) ='AAAAAAAAAA'
; -
SCAN : retourne la position du premier caractère d'une chaîne figurant parmi un ensemble de caractères donné. La recherche peut être faite dans les deux sens.
SCAN(
'RENOIR'
,'OI'
) = 4,SCAN(
'RENOIR'
,'OI'
,BACK=.true.
) = 5 ; -
SIGN
: retourne le nombre dont la valeur absolue est celle du premier argument et le signe celui du deuxième.SIGN
(-3.0,2.0) = 3.0 ; -
SIN
: retourne le sinus de l'angle passé en argument (exprimé en radians).SIN
(1.0) = 0.84147098 ; -
SINH
: retourne le sinus hyperbolique.SINH
(1.0)= 1.1752012 ; -
SQRT
: retourne la racine carrée de son argument.SQRT
(5.0) = 2.236068010 ; -
TAN
: retourne la tangente de l'angle passé en argument (exprimé en radians).TAN
(1.0) = 1.5574077 ; -
TANH
: retourne la tangente hyperbolique.TANH
(1.0) = 0.76159416 ; -
TRIM : retourne la chaîne de caractères transmise débarrassée de ses blancs de fin.
TRIM(
'PICASSO '
) ='PICASSO'
; -
VERIFY : retourne la position du premier caractère d'une chaîne ne figurant pas parmi un ensemble de caractères donné. La recherche peut être faite dans les deux sens.
VERIFY(
'RENOIR'
,'OI'
) = 1,VERIFY(
'RENOIR'
,'OI'
,BACK=.true.
) = 6.