Arcane  v3.16.8.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::random::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::random::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::random::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 42 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::random::LinearCongruential< IntType, a, c, m, val >::result_type

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

Documentation des constructeurs et destructeur

◆ LinearCongruential()

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

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

Documentation des fonctions membres

◆ apply()

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

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

◆ checkSeed()

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

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

◆ getState()

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

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

◆ max()

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

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

◆ min()

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

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

◆ operator()()

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

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

◆ operator==()

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

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

◆ seed()

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

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

◆ validation()

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

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

Documentation des données membres

◆ _x

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

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

◆ has_fixed_range

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

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

◆ increment

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

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

◆ max_value

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

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

◆ min_value

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

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

◆ modulus

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

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

◆ multiplier

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

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


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