Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >

#include <arcane/core/random/MersenneTwister.h>

+ Graphe de collaboration de Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >:

Types publics

typedef UIntType result_type
 

Fonctions membres publiques

 MersenneTwister ()
 Constructeur avec initialisation de la graine à partir de la méthode seed()
 
 MersenneTwister (UIntType value)
 Constructeur avec initialisation du tableau de graines à partir de la valeur value. L'appel à la méthode seed(value) est réalisé.
 
template<class It >
 MersenneTwister (It &first, It last)
 Constructeur avec initialisation du tableau de graines à partir de la méthode seed(first,last) .
 
template<class Generator >
 MersenneTwister (Generator &gen)
 Constructeur avec initialisation du tableau de graines à partir du générateur gen. gen doit contenir l'opérateur () qui doit
retourner une valeur de type UIntType.
 
void seed ()
 Initialisation du tableau de graines. L'appel à la méthode seed(5489) est réalisé.
 
void seed (UIntType value)
 Initialisation du tableau de graines à partir de la valeur value. Le tableau de graines de ce générateur est composé de n éléments.
 
void seed (UIntType *state)
 Initialisation du tableau de graines à partir du tableau state. state doit être un tableau de n éléments.
 
template<class Generator >
void seed (Generator &gen)
 Initialisation du tableau de graines à partir du générateur gen. gen est une classe qui doit contenir l'opérateur () retournant
une valeur de type UIntType.
 
UIntType getState (Integer j)
 Méthode qui retourne l'état du générateur pour l'index j. L'état complet du générateur est donnée par les valeurs d'index j comprises entre 0 et n (0 < j <= n)
 
result_type min () const
 min() retourne la valeur minimum possible d'une séquence.
 
result_type max () const
 max() retourne la valeur maximum possible d'une séquence.
 
result_type operator() ()
 Surdéfinition de l'opérateur () qui retourne la valeur pseudo aléatoire du générateur. L'état du générateur est modifié.
 
bool operator== (const MersenneTwister &rhs) const
 Surdéfinition de l'opérateur ==.
 
bool operator!= (const MersenneTwister &rhs) const
 Surdéfinition de l'opérateur !=.
 

Fonctions membres publiques statiques

static bool validation (result_type v)
 Fonction de validation (je ne sais pas trop a quoi elle sert!)
 

Attributs publics statiques

static const Integer word_size = w
 
static const Integer state_size = n
 
static const Integer shift_size = m
 
static const Integer mask_bits = r
 
static const UIntType parameter_a = a
 
static const Integer output_u = u
 
static const Integer output_s = s
 
static const UIntType output_b = b
 
static const Integer output_t = t
 
static const UIntType output_c = c
 
static const Integer output_l = l
 
static const bool has_fixed_range = false
 

Fonctions membres privées

UIntType compute (UIntType index) const
 Méthode privée qui retourne l'état du générateur pour l'index index.

 
void twist (Integer block)
 Réalisation de l'opération "twist" associée au Mersenne Twister.
L'état du générateur est modifié.
 

Attributs privés

UIntType x [2 *n]
 
Integer i
 

Description détaillée

template<class UIntType, Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
class Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >

Patron de classe MersenneTwister. Il permet de définir des classes de générateurs de type Mersenne Twister en fonction des paramètres w,n,m,r,a,u s,b,t,c et l. Les nombres pseudo-aléatoires générés sont de type UIntType. La génération de ces nombres s'effectue par l'appel de l'opérateur (). L'état du genérateur est définie par un membre private x[] de la classe qui est un tableau de 2*n dimensions. La graine (état initiale du générateur) peut etre initialisée par l'appel des constructeurs ou les différentes méthodes seed disponibles.

Définition à la ligne 45 du fichier MersenneTwister.h.

Documentation des définitions de type membres

◆ result_type

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
typedef UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::result_type

Définition à la ligne 48 du fichier MersenneTwister.h.

Documentation des constructeurs et destructeur

◆ MersenneTwister() [1/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::MersenneTwister ( )
inline

Constructeur avec initialisation de la graine à partir de la méthode seed()

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 70 du fichier MersenneTwister.h.

◆ MersenneTwister() [2/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::MersenneTwister ( UIntType  value)
inlineexplicit

Constructeur avec initialisation du tableau de graines à partir de la valeur value. L'appel à la méthode seed(value) est réalisé.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 79 du fichier MersenneTwister.h.

◆ MersenneTwister() [3/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
template<class It >
Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::MersenneTwister ( It first,
It  last 
)
inline

Constructeur avec initialisation du tableau de graines à partir de la méthode seed(first,last) .

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 89 du fichier MersenneTwister.h.

◆ MersenneTwister() [4/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
template<class Generator >
Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::MersenneTwister ( Generator gen)
inlineexplicit

Constructeur avec initialisation du tableau de graines à partir du générateur gen. gen doit contenir l'opérateur () qui doit
retourner une valeur de type UIntType.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 100 du fichier MersenneTwister.h.

Documentation des fonctions membres

◆ compute()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::compute ( UIntType  index) const
inlineprivate

Méthode privée qui retourne l'état du générateur pour l'index index.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 241 du fichier MersenneTwister.h.

◆ getState()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::getState ( Integer  j)
inline

Méthode qui retourne l'état du générateur pour l'index j. L'état complet du générateur est donnée par les valeurs d'index j comprises entre 0 et n (0 < j <= n)

Auteur
Patrick Rathouit
Date
28/07/2006

Définition à la ligne 167 du fichier MersenneTwister.h.

◆ max()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
result_type Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::max ( ) const
inline

max() retourne la valeur maximum possible d'une séquence.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 186 du fichier MersenneTwister.h.

◆ min()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
result_type Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::min ( ) const
inline

min() retourne la valeur minimum possible d'une séquence.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 178 du fichier MersenneTwister.h.

◆ operator!=()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
bool Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::operator!= ( const MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val > &  rhs) const
inline

Surdéfinition de l'opérateur !=.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 228 du fichier MersenneTwister.h.

◆ operator()()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::result_type Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::operator() ( )
inline

Surdéfinition de l'opérateur () qui retourne la valeur pseudo aléatoire du générateur. L'état du générateur est modifié.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 310 du fichier MersenneTwister.h.

◆ operator==()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
bool Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::operator== ( const MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val > &  rhs) const
inline

Surdéfinition de l'opérateur ==.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 213 du fichier MersenneTwister.h.

◆ seed() [1/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
void Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed ( )
inline

Initialisation du tableau de graines. L'appel à la méthode seed(5489) est réalisé.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 110 du fichier MersenneTwister.h.

Références Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed().

Référencé par Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed().

◆ seed() [2/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
template<class Generator >
void Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed ( Generator gen)
inline

Initialisation du tableau de graines à partir du générateur gen. gen est une classe qui doit contenir l'opérateur () retournant
une valeur de type UIntType.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 149 du fichier MersenneTwister.h.

◆ seed() [3/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
void Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed ( UIntType state)
inline

Initialisation du tableau de graines à partir du tableau state. state doit être un tableau de n éléments.

Auteur
Patrick Rathouit
Date
28/07/2006

Définition à la ligne 137 du fichier MersenneTwister.h.

◆ seed() [4/4]

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
void Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::seed ( UIntType  value)
inline

Initialisation du tableau de graines à partir de la valeur value. Le tableau de graines de ce générateur est composé de n éléments.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 119 du fichier MersenneTwister.h.

◆ twist()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
void Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::twist ( Integer  block)
private

Réalisation de l'opération "twist" associée au Mersenne Twister.
L'état du générateur est modifié.

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 269 du fichier MersenneTwister.h.

◆ validation()

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
static bool Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::validation ( result_type  v)
inlinestatic

Fonction de validation (je ne sais pas trop a quoi elle sert!)

Auteur
Patrick Rathouit (origine bibliotheque BOOST)
Date
28/07/2006

Définition à la ligne 205 du fichier MersenneTwister.h.

Documentation des données membres

◆ has_fixed_range

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const bool Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::has_fixed_range = false
static

Définition à la ligne 61 du fichier MersenneTwister.h.

◆ i

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::i
private

Définition à la ligne 256 du fichier MersenneTwister.h.

◆ mask_bits

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::mask_bits = r
static

Définition à la ligne 52 du fichier MersenneTwister.h.

◆ output_b

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_b = b
static

Définition à la ligne 56 du fichier MersenneTwister.h.

◆ output_c

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_c = c
static

Définition à la ligne 58 du fichier MersenneTwister.h.

◆ output_l

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_l = l
static

Définition à la ligne 59 du fichier MersenneTwister.h.

◆ output_s

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_s = s
static

Définition à la ligne 55 du fichier MersenneTwister.h.

◆ output_t

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_t = t
static

Définition à la ligne 57 du fichier MersenneTwister.h.

◆ output_u

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::output_u = u
static

Définition à la ligne 54 du fichier MersenneTwister.h.

◆ parameter_a

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::parameter_a = a
static

Définition à la ligne 53 du fichier MersenneTwister.h.

◆ shift_size

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::shift_size = m
static

Définition à la ligne 51 du fichier MersenneTwister.h.

◆ state_size

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::state_size = n
static

Définition à la ligne 50 du fichier MersenneTwister.h.

◆ word_size

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
const Integer Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::word_size = w
static

Définition à la ligne 49 du fichier MersenneTwister.h.

◆ x

template<class UIntType , Integer w, Integer n, Integer m, Integer r, UIntType a, Integer u, Integer s, UIntType b, Integer t, UIntType c, Integer l, UIntType val>
UIntType Arcane::MersenneTwister< UIntType, w, n, m, r, a, u, s, b, t, c, l, val >::x[2 *n]
private

Définition à la ligne 255 du fichier MersenneTwister.h.


La documentation de cette classe a été générée à partir du fichier suivant :