Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::InversiveCongruential< IntType, a, c, m, val >

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

+ Graphe de collaboration de Arcane::InversiveCongruential< IntType, a, c, m, val >:

Types publics

typedef IntType result_type
 

Fonctions membres publiques

result_type min () const
 Retourne la valeur minimum possible d'une séquence.
 
result_type max () const
 Retourne la valeur maximum possible d'une séquence.
 
 InversiveCongruential (IntType x0=1)
 Constructeur avec initialisation de la graine à partir de la valeur x0.
 
void seed (IntType x0)
 Initialisation de la graine du générateur à partir de la valeur x0.
 
IntType getState () const
 Méthode qui retourne l'état générateur.
 
IntType 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 validation (IntType x) const
 Fonction de validation (je ne sais pas trop a quoi elle sert!)
 
bool operator== (const InversiveCongruential &rhs) const
 Surdéfinition de l'opérateur ==.
 

Fonctions membres publiques statiques

static IntType apply (IntType x)
 Retourne la valeur pseudo aléatoire à partir de l'état x. Le membre privée _x du générateur n'est pas utilisé et n'est pas
modifié.
 

Attributs publics statiques

static const bool has_fixed_range = true
 
static const result_type min_value = ( c == 0 ? 1 : 0 )
 
static const result_type max_value = m-1
 

Attributs privés

IntType _x
 

Description détaillée

template<typename IntType, IntType a, IntType c, IntType m, IntType val>
class Arcane::InversiveCongruential< IntType, a, c, m, val >

Patron de classe InversiveCongruential. Il permet de définir des classes
de générateurs de type Inversive Congruential en fonction des paramètres a, c et m. Les nombres pseudo-aléatoires générés sont de type IntType.

La génération d'une séquence de nombres pseudo-aléatoires s'effectue :

  • soit par l'appel successif de l'opérateur (). Dans ce cas, la graine peut
    être initialisée par l'appel au constructeur ou les différentes méthodes
    seed . L'état du générateur est gérée en interne par l'intermédiaire du membre private _x. Sa valeur est accessible via la méthode getState().
  • soit par l'appel de la méthode apply(x). L'état du générateur x est géré à l'extérieur de la classe. Les méthodes seed et getState() n'ont pas de sens dans cette utilisation.

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

Documentation des définitions de type membres

◆ result_type

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
typedef IntType Arcane::InversiveCongruential< IntType, a, c, m, val >::result_type

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

Documentation des constructeurs et destructeur

◆ InversiveCongruential()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
Arcane::InversiveCongruential< IntType, a, c, m, val >::InversiveCongruential ( IntType  x0 = 1)
inlineexplicit

Constructeur avec initialisation de la graine à partir de la valeur x0.

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

Définition à la ligne 86 du fichier InversiveCongruential.h.

Documentation des fonctions membres

◆ apply()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
static IntType Arcane::InversiveCongruential< IntType, a, c, m, val >::apply ( IntType  x)
inlinestatic

Retourne la valeur pseudo aléatoire à partir de l'état x. Le membre privée _x du générateur n'est pas utilisé et n'est pas
modifié.

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

Définition à la ligne 128 du fichier InversiveCongruential.h.

◆ getState()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
IntType Arcane::InversiveCongruential< IntType, a, c, m, val >::getState ( ) const
inline

Méthode qui retourne l'état générateur.

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

Définition à la ligne 105 du fichier InversiveCongruential.h.

◆ max()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
result_type Arcane::InversiveCongruential< IntType, a, c, m, val >::max ( ) const
inline

Retourne la valeur maximum possible d'une séquence.

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

Définition à la ligne 77 du fichier InversiveCongruential.h.

◆ min()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
result_type Arcane::InversiveCongruential< IntType, a, c, m, val >::min ( ) const
inline

Retourne la valeur minimum possible d'une séquence.

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

Définition à la ligne 69 du fichier InversiveCongruential.h.

◆ operator()()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
IntType Arcane::InversiveCongruential< IntType, a, c, m, 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 114 du fichier InversiveCongruential.h.

◆ operator==()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
bool Arcane::InversiveCongruential< IntType, a, c, m, val >::operator== ( const InversiveCongruential< IntType, a, c, m, val > &  rhs) const
inline

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

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

Définition à la ligne 148 du fichier InversiveCongruential.h.

◆ seed()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
void Arcane::InversiveCongruential< IntType, a, c, m, val >::seed ( IntType  x0)
inline

Initialisation de la graine du générateur à partir de la valeur x0.

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

Définition à la ligne 97 du fichier InversiveCongruential.h.

◆ validation()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
bool Arcane::InversiveCongruential< IntType, a, c, m, val >::validation ( IntType  x) const
inline

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 140 du fichier InversiveCongruential.h.

Documentation des données membres

◆ _x

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
IntType Arcane::InversiveCongruential< IntType, a, c, m, val >::_x
private

Définition à la ligne 153 du fichier InversiveCongruential.h.

◆ has_fixed_range

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const bool Arcane::InversiveCongruential< IntType, a, c, m, val >::has_fixed_range = true
static

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

◆ max_value

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const result_type Arcane::InversiveCongruential< IntType, a, c, m, val >::max_value = m-1
static

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

◆ min_value

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const result_type Arcane::InversiveCongruential< IntType, a, c, m, val >::min_value = ( c == 0 ? 1 : 0 )
static

Définition à la ligne 60 du fichier InversiveCongruential.h.


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