|
![]() |
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