| 
![]()  | 
| nombre de bits | catégorie: A | arguments: i | résultat: i | 
Renvoie le nombre (un entier de même variante que i) de bits utilisés pour représenter des entiers dans le type de i. L'argument i correspond au numéro de variante du type entier prédéfini.
Exemples:
 bit_size (i) vaut 8 pour i de variante
kind=1 
 bit_size (i) vaut 16 pour
i de variante kind=2 
 bit_size
(i) vaut 32 pour i de variante kind=3
  
 Toutes ces fonctions peuvent recevoir un
argument scalaire numérique ou un tableau numérique, mais
elles fournissent toujours un résultat scalaire.
| nombre de chiffres significatifs en base b | catégorie: A | arguments: i/r | résultat: i | 
Renvoie le nombre (un entier standard) de chiffres (significatifs) de base b utilisés pour représenter la valeur x (de type réel ou entier). Si x est un entier, on obtient digits(x)= bit_size(x)-1. Si x est un réel, on obtient la valeur de p dans le modèle de virgule flottante (en précision simple, par exemple on aura: p=24 en base b=2, 13 en base b=8, 6 en base 16).
| le plus petit réel non négligeable par rapport à 1 | catégorie: A | arguments: r | résultat: r | 
Renvoie le plus petit réel positif du sous-type de x (appelé l'epsilon machine) tel que 1+ epsilon > 1(on obtient b1-p). Le résultat est de même variante que x.
| la plus grande valeur représentable | catégorie: A | arguments: i arguments: r  | 
résultat: i résultat: r  | 
 Renvoie la plus grande valeur représentable dans le type de x
(l'image de "+
"
de la machine). Le résultat est du même sous-type que
x qui peut être entier ou réel. Pour un
sous-type réel on obtient 
| exposant maximal | catégorie: A | arguments: r | résultat: i | 
Renvoie un entier standard correspondant à la plus grande valeur emax possible pour un exposant dans le type (réel) de x.
| exposant minimal | catégorie: A | arguments: r | résultat: i | 
Renvoie un entier standard correspondant à la plus petite valeur emin possible pour un exposant dans le type (réel) de x.
| précision en chiffres décimaux | catégorie: A | arguments: r/z | résultat: i | 
Fournit le nombre minimal (un entier standard) de chiffres décimaux significatifs dans le sous-type de x (x doit être réel ou complexe). C'est int((p-1)*log10(b)).
| base de numérotation interne | catégorie: A | arguments: i,r | résultat: i | 
Renvoie la base (un entier standard) de la numération interne du modèle utilisée pour représenter les valeurs du type de x (entier ou réel). En pratique, il s'agit de 2, 8 ou 16.
| étendue de l'exposant décimal | catégorie: A | arguments: i/r/z | résultat: i | 
Renvoie la valeur maximale r (entier standard) d'un exposant (en puissance de 10) dans le type de x (entier, réel ou complexe) telle que les nombres 10 r et 10 -r soient représentables dans le type en question. Pour x entier la valeur de r est égale au nombre de chiffres décimaux garanti par ce sous-type. Pour x réel ou complexe, on obtient l'intervalle minimal des valeurs représentables, sous la forme du plus grand entier r tel que tiny(x) <= 10 -r < 10+r <= huge(x).
| le plus petit réel représentable | catégorie: A | arguments: r | résultat: r | 
 Renvoie le plus petit réel >0, représentable dans le
sous-type de x. Le résultat est du même type
(variante comprise) que x qui doit être réel. On
obtient 
.
Exemples:
 type integer 
radix
(x) vaut 2 
 digits (x) vaut 7 (en
base b) pour x entier de variante kind=1 
 digits
(x) vaut 15 (en base b) pour x entier de variante kind=2 
digits (x) vaut 31 (en base b) pour x entier
de variante kind=3 
 huge (x) vaut
127 pour x entier de variante kind=1 
 huge
(x) vaut 32767 pour x entier de variante kind=2 
huge (x) vaut 2147483647 pour x entier de
variante kind=3 
 range (x) vaut 2
pour x entier de variante kind=1 
 range
(x) vaut 4 pour x entier de variante kind=2 
 range
(x) vaut 9 pour x entier de variante kind=3 
 type
real 
 radix (x) vaut 2
 digits (x) vaut 24 (en base b) pour x réel
de variante kind=1 
 digits (x)
vaut 53 (en base b) pour x réel de variante kind=2 
epsilon (x) vaut 1.1920929E-07 pour x réel
de variante kind=1 
 epsilon (x)
vaut 2.2204460492503131E-16 pour x réel de variante kind=2
 huge (x) vaut 3.4028235E+38 pour x réel
de variante kind=1 
 huge (x) vaut
1.7976931348623157E+308 pour x réel de variante kind=2 
minexponent (x) vaut -125 pour x réel
de variante kind=1 
 minexponent
(x) vaut -1021 pour x réel de variante kind=2 
maxexponent(x) vaut 128 pour x réel de
variante kind=1 
 maxexponent(x)
vaut 1024 pour x réel de variante kind=2 
precision (x) vaut 6 chiffres décimaux
pour x réel de variante kind=1 
 precision
(x) vaut 15 chiffres décimaux pour x réel de variante kind=2
 range (x) vaut 37 pour x réel de
variante kind=1 
 range (x) vaut
307 pour x réel de variante kind=2 
 tiny
(x) vaut 1.1754944E-38 pour x réel de variante kind=1 
tiny (x) vaut 2.2250738585072014E-308 pour x
réel de variante kind=2
  
| choix de no de variante de type entier | catégorie: T | arguments: i | résultat: i | 
Renvoie le numéro (un entier standard) de variante du type integer susceptible de représenter les nombres entiers s'étendant de 10 -r à 10 +r. Si plusieurs variantes conviennent, on obtient le numéro de celui qui correspond au domaine le moins étendu (s'il y en a encore plusieurs, on obtient le plus petit numéro). S'il n'en existe aucun, on obtient la valeur -1.
| choix de no de variante de type réel | catégorie: T | arguments: i,i | résultat: i | 
Renvoie le numéro (un entier standard) de variante du type real susceptible de représenter des nombres réels avec une précision (au sens de la fonction prédéfinie precision) au moins égale à p chiffres décimaux et une étendue de l'exposant décimal (au sens de la fonction range) au moins égale à r. Les deux arguments p ou r sont entiers et au moins un d'entre eux doit être présent. Si plusieurs variantes conviennent, on obtient le numéro de celui qui correspond à la précision la moins grande (s'il y en a encore plusieurs, on obtient le plus petit numéro). S'il n'en existe aucune, on obtient : -1 si la précision demandée n'est pas disponible, -2 si l'étendue demandée n'est pas disponible et -3 si ni la précision ni l'étendue ne sont disponibles.
| no de variante de type | catégorie: A | arguments: i/r/l/z | résultat: i | 
Fournit un résultat de type integer, dont la valeur correspond au numéro de variante du type prédefini de x
Exemples:
 selected_int_kind (2) vaut 1
selected_real_kind (6) vaut 1 
 selected_int_kind
(3) vaut 2 selected_real_kind (7) vaut 2 
 selected_int_kind
(9) vaut 3 selected_real_kind (15) vaut 2 
 selected_int_kind
(10) vaut -1 selected_real_kind (16) vaut -1
  
 selected_real_kind (15,16) vaut 2
 selected_real_kind (16,16) vaut -2
 selected_real_kind (16,17) vaut -1
  
 integer, parameter ::
k1=selected_real_kind(10) 
 real
(kind=k1) :: r1 
 real :: r
 kind (r1) vaut 2 
kind (r) vaut 1 ! la valeur par défaut
 
 
Retour à la table des matières