|
![]() |
call date_and_time ([date] [,time] [,zone] [,values])
date et l'heure | catégorie: P | arguments: [c][,c][,c][,i] | paramètres - résultats: date, time, zone, values |
Renvoie des informations sur l'heure, la date, etc. Lorsque elles ne
sont pas disponibles, on obtient par défaut un espace pour les
arguments de type caractère et la valeur -huge(0)
(le plus petit entier négatif) pour les arguments de type numérique.
Les arguments date, time, zone
sont des chaînes de caractères, et values est un
vecteur du type entier.
Tous les arguments sont de genre intent(out).
date [character (len=8) ]: la date sous la forme aaaammjj (4 caractères pour l'année, 2 pour le numéro de mois, 2 pour le numéro de jour),
time [character (len=10) ]: l'heure sous la forme hhmmss.ddd (2 caractères pour l'heure, 2 pour les minutes, 2 pour les secondes, un point et 3 caractères pour les millièmes de secondes),
zone [character (len=5) ]: écart entre l'heure locale et le temps universel sous la forme shhmm (1 caractère pour le signe + ou -, 2 caractères pour les heures et 2 caractères pour les minutes),
values [vecteur de 8 entiers]: il reçoit sous forme numérique l'ensemble des informations précédentes soit dans l'ordre: 1) année, 2) numéro de mois, 3) numéro de jour, 4) l'écart en minutes avec le temps universel, 5) l'heure (entre 0 et 23), 6) minutes (entre 0 et 59), 7) secondes (entre 0 et 59), 8) millisecondes (entre 0 et 999).
call system_clock ([count] [,count_rate] [,count_max])
l'horloge interne | catégorie: P | arguments: [i][,i][,i] | paramètres - résultats: count, count_rate, count_max |
Renvoie les trois informations de type integer, concernant l'horloge interne:
count: valeur de la pulsation courante de l'horloge interne qui
est une valeur cyclique variant de 0 à count_max
(ou
-huge(0) si elle n'est pas accessible),
count_rate: fréquence de l'horloge interne (ou 0 si elle n'est pas accessible),
count_max: valeur maximale de l'horloge interne (qui, au-delà, repart à 0), ou 0 si elle n'est pas accessible.
Tous les arguments sont de genre intent(out). Les valeurs count_rate et count_max sont des constantes du système.
Exemples:
call date_and_time (date, time, zone, values)
peut, par exemple, renvoyer les résultats:
date: 19971128
time: 165310.000
zone: +0100
values: 1997 11 28 60 16 53 10 0
call system_clock (count, count_rate, count_max)
peut, par exemple, renvoyer les résultats:
count: 57190
count_rate: 1
count_max: 86399
nombres aléatoires | catégorie: P | arguments: r | paramètres - résultats: harvest |
Renvoie dans harvest un (ou une suite de) nombre(s)
pseudo-aléatoire(s) appartenant à l'intervalle [0, 1[
.
L'argument harvest peut être une variable
scalaire réelle ou un tableau de réels - dans ce cas, on
obtient une série de nombres aléatoires.
call random_seed ([size] [,put] [,get])
parametrage du générateur des nombres aléatoires | catégorie: P | arguments: [i][,i][,i] | paramètres d'entrée:
size, get paramètres - résultats: put |
Permet de reinitialiser ou d'interroger le générateur de
nombre aléatoires utilisé par la routine random_number.
Les trois paramètres sont du type entier, size et
get sont de genre intent(out) et put est de genre
intent(in).
Les arguments permettent de changer ou de
consulter les paramètres d'initialisation. Un seul des trois
arguments est autorisé.
size: taille du tableau d'entiers utilisé comme "graines" pour la génération des nombres aléatoires,
put: vecteur d'entiers (de taille au moins égale à la valeur fournie dans size) qui correspond aux valeurs qui seront utilisées comme graines pour la génération des nombres aléatoires,
get: vecteur d'entiers (de taille égale à la valeur fournie dans size) qui correspond aux valeurs internes utilisées pour la génération des nombres aléatoires.
Si aucun argument n'est précisé dans call random_seed, le générateur de nombres aléatoires est initialisé d'une manière dépendant des options du système.
Exemples:
real :: harv1, harv2(5)
call random_number(harvest=harv1)
harv1 vaut par exemple 0.4727130
call
random_number(harvest=harv2)
harv2 vaut par exemple (/ 0.8866535, 0.9864795, 0.7616581, 0.1881613,
0.4274641 /)
real :: s, g(1), p(1)
random_seed (size=s) ! renvoie par exemple: s
= 1
random_seed (get=g) !
renvoie par exemple: g = 136843850
p=
123456
random_seed (put=p) !
initialise le générateur des nombres aléatoires
! cette initialisation donnera
toujours la même valeur de harvest, par exemple
! call random_number(harvest) pourra renvoyer
toujours harvest = 0.9662123
Retour à la table des matières