14#ifndef ARCANE_RANDOM_KISS_H
15#define ARCANE_RANDOM_KISS_H
19#include "arcane/utils/FatalErrorException.h"
21#include "arcane/random/RandomGlobal.h"
47template<
typename UIntType, UIntType val>
53 static const bool has_fixed_range =
true;
97 {
for (Integer i=0;i<5;i++) _state[i] = state[i];}
109 {
for (Integer i=0;i<4;i++) _state[i] =
x0;
121 { _state[0] =
x0; _state[1] =
y0;_state[2] =
z0;_state[3] =
w0;_state[4] =
carry0;}
143 _state[0] = _state[0] * 69069 + 1;
144 _state[1] ^= _state[1] << 13;
145 _state[1] ^= _state[1] >> 17;
146 _state[1] ^= _state[1] << 5;
148 t = (_state[3]<<1) + _state[2] + _state[4];
149 _state[4] = ((_state[2]>>2) + (_state[3]>>3) + (_state[4]>>2)) >>30;
152 return (_state[0] + _state[1] + _state[2]);
170 {
return (_state[0] ==
rhs._state[0]) && (_state[1] ==
rhs._state[1]) && (_state[2] ==
rhs._state[2]) && (_state[3] ==
rhs._state[3]) && (_state[4] ==
rhs._state[4]) ; }
174 state_type _state[5];
181typedef TKiss<UInt32, 0> Kiss;
Lecteur des fichiers de maillage via la bibliothèque LIMA.
void seed(UIntType x0, UIntType y0, UIntType z0, UIntType w0, UIntType carry0)
Initialisation du tableau de graines à partir des valeurs des arguments.
void seed(UIntType *state)
Initialisation du tableau de graines à partir de l'état state. L'état du générateur state doit être c...
result_type min() const
Retourne la valeur minimum possible d'une séquence.
bool operator==(const TKiss &rhs) const
Surdéfinition de l'opérateur ==.
TKiss(UIntType x0=30903, UIntType y0=30903, UIntType z0=30903, UIntType w0=30903, UIntType carry0=0)
Constructeur avec initialisation du tableau de graines à partir des valeurs des arguments.
result_type max() const
Retourne la valeur maximum possible d'une séquence.
bool validation(UIntType x) const
Fonction de validation (je ne sais pas trop a quoi elle sert!)
UIntType operator()()
Surdéfinition de l'opérateur () qui retourne la valeur pseudo aléatoire. L'état du générateur est mod...
UIntType getState(Integer i) const
Méthode qui retourne la composante i del'état du générateur. L'état complet du générateur est donnée ...
void seed(UIntType x0)
Initialisation du tableau de graines à partir de la valeur x0. Le tableau de graines de ce générate...