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

compile-time configurable linear congruential generator. Plus de détails...

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

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

Types publics

typedef IntType result_type
 

Fonctions membres publiques

result_type min () const
 
result_type max () const
 
 LinearCongruential (IntType x0=1)
 
void seed (IntType x0)
 
IntType getState () const
 
IntType operator() ()
 
bool validation (IntType x) const
 
bool operator== (const LinearCongruential &rhs) const
 
void checkSeed (IntType x)
 

Fonctions membres publiques statiques

static IntType apply (IntType x)
 

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
 
static const IntType multiplier = a
 
static const IntType increment = c
 
static const IntType modulus = m
 

Attributs privés

IntType _x
 

Description détaillée

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

compile-time configurable linear congruential generator.

Avertissement
Cette implémentation n'est valide que pour les valeurs (a,c,m) correspondantes à MinstdRand et MinstdRand0.

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

Documentation des définitions de type membres

◆ result_type

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

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

Documentation des constructeurs et destructeur

◆ LinearCongruential()

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

Définition à la ligne 62 du fichier LinearCongruential.h.

Documentation des fonctions membres

◆ apply()

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

Définition à la ligne 83 du fichier LinearCongruential.h.

◆ checkSeed()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
void Arcane::LinearCongruential< IntType, a, c, m, val >::checkSeed ( IntType  x)
inline

Définition à la ligne 91 du fichier LinearCongruential.h.

◆ getState()

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

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

◆ max()

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

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

◆ min()

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

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

◆ operator()()

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
IntType Arcane::LinearCongruential< IntType, a, c, m, val >::operator() ( )
inline

Définition à la ligne 78 du fichier LinearCongruential.h.

◆ operator==()

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

Définition à la ligne 88 du fichier LinearCongruential.h.

◆ seed()

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

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

◆ validation()

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

Définition à la ligne 87 du fichier LinearCongruential.h.

Documentation des données membres

◆ _x

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

Définition à la ligne 99 du fichier LinearCongruential.h.

◆ has_fixed_range

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

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

◆ increment

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const IntType Arcane::LinearCongruential< IntType, a, c, m, val >::increment = c
static

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

◆ max_value

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

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

◆ min_value

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

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

◆ modulus

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const IntType Arcane::LinearCongruential< IntType, a, c, m, val >::modulus = m
static

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

◆ multiplier

template<typename IntType , IntType a, IntType c, IntType m, IntType val>
const IntType Arcane::LinearCongruential< IntType, a, c, m, val >::multiplier = a
static

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


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