Arcane  4.2.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::NumVector< T, Size >

Petit vecteur de taille fixe de points de données numériques de taille Size. Plus de détails...

#include <arccore/base/NumVector.h>

Classes

struct  InitTag

Types publics

using ThatClass = NumVector<T, Size>
using DataType = T

Fonctions membres publiques

constexpr NumVector ()
 Construit un vecteur avec chaque coefficient initialisé avec le constructeur par défaut de T.
constexpr NumVector (NoInitTag)
 Construit le vecteur SANS initialiser ses coefficients.
constexpr __host__ __device__ NumVector (T ax, T ay)
 Construit avec le couple (ax,ay).
constexpr __host__ __device__ NumVector (T ax, T ay, T az)
 Construit avec le triplet (ax,ay,az).
constexpr __host__ __device__ NumVector (T a1, T a2, T a3, T a4)
 Construit avec le quadruplet (a1,a2,a3,a4).
constexpr __host__ __device__ NumVector (T a1, T a2, T a3, T a4, T a5)
 Construit avec le quintuplet (a1,a2,a3,a4,a5).
constexpr __host__ __device__ NumVector (T a1, T a2, T a3, T a4, T a5, T a6)
 Construit avec le sextuplet (a1,a2,a3,a4,a5,a6).
template<bool = true>
constexpr __host__ __device__ NumVector (const T(&v)[Size])
 Construit l'instance avec la valeur v pour chaque composante.
constexpr __host__ __device__ NumVector (std::array< T, Size > v)
 Construit l'instance avec la valeur v pour chaque composante.
constexpr __host__ __device__ NumVector (T v)
 Construit l'instance avec la valeur v pour chaque composante.
constexpr __host__ __device__ NumVector (const DataType *v, InitTag)
 Construit l'instance avec la valeur v pour chaque composante.
constexpr __host__ __device__ NumVector (Real2 v)
constexpr __host__ __device__ NumVector (Real3 v)
constexpr __host__ __device__ NumVector & operator= (const DataType &value)
 Assigne une valeur à toutes les composantes du vecteur.
constexpr __host__ __device__ NumVector & operator= (const Real2 &v)
constexpr __host__ __device__ NumVector & operator= (const Real3 &v)
constexpr __host__ __device__ NumVector & operator= (std::array< T, Size > v)
 Constructs the instance with the value v for each component.
constexpr operator Real2 () const
constexpr operator Real3 () const
__host__ __device__ NumVector absolute () const
 Valeur absolue composante par composante.
constexpr __host__ __device__ void fill (const T &v)
 Remplit le vecteur avec la valeur v.
constexpr __host__ __device__ NumVector operator- () const
 Crée un triplet opposé au triplet actuel.
constexpr __host__ __device__ T & operator() (Int32 i)
constexpr __host__ __device__ T operator() (Int32 i) const
constexpr __host__ __device__ T & operator[] (Int32 i)
constexpr __host__ __device__ DataType operator[] (Int32 i) const
constexpr __host__ __device__ DataType & vx ()
 Valeur de la première composante.
constexpr __host__ __device__ DataType vx () const
 Valeur de la première composante.
constexpr __host__ __device__ DataType & vy ()
 Valeur de la deuxième composante.
constexpr __host__ __device__ DataType vy () const
 Valeur de la deuxième composante.
constexpr __host__ __device__ DataType & vz ()
 Valeur de la troisième composante.
constexpr __host__ __device__ DataType vz () const
 Valeur de la troisième composante.

Fonctions membres publiques statiques

static constexpr bool isRealType ()
constexpr __host__ static __device__ NumVector zero ()

Amis

constexpr __host__ __device__ NumVector & operator+= (NumVector &a, T b)
 Ajoute b à chaque composante de a.
constexpr __host__ __device__ NumVector & operator+= (NumVector &a, const NumVector &b)
 Ajoute b à a.
constexpr __host__ __device__ NumVector & operator-= (NumVector &a, T b)
 Soustrait b à chaque composante de a.
constexpr __host__ __device__ NumVector & operator-= (NumVector &a, const NumVector &b)
 Soustrait b à chaque composante de a.
constexpr __host__ __device__ NumVector & operator*= (NumVector &a, T b)
 Multiplie chaque composante de a par b.
constexpr __host__ __device__ NumVector & operator/= (NumVector &a, T b)
 Divise chaque composante de a par b.
constexpr __host__ __device__ NumVector operator+ (const NumVector &a, const NumVector &b)
 Crée un triplet égal à ce triplet ajouté à b.
constexpr __host__ __device__ NumVector operator- (const NumVector &a, const NumVector &b)
 Crée un triplet égal à ce triplet moins b.
constexpr __host__ __device__ NumVector operator* (T a, const NumVector &vec)
 Multiplication par un scalaire.
constexpr __host__ __device__ NumVector operator* (const NumVector &vec, T b)
 Multiplication par un scalaire.
constexpr __host__ __device__ NumVector operator/ (const NumVector &vec, T b)
 Division par un scalaire.
constexpr __host__ __device__ bool operator== (const NumVector &a, const NumVector &b)
 Compare l'instance actuelle composante par composante à b.
std::ostream & operator<< (std::ostream &o, const NumVector &t)
constexpr __host__ __device__ bool operator!= (const NumVector &a, const NumVector &b)
 Compare deux vecteurs Pour la notion d'égalité, voir operator==().

Description détaillée

template<typename T, int Size>
class Arcane::NumVector< T, Size >

Petit vecteur de taille fixe de points de données numériques de taille Size.

Il est possible d'accéder à chaque composante du vecteur en utilisant 'operator[]' ou 'operator()' ou via les méthodes vx(), vy(), vz() si la dimension est suffisante (par exemple, vz() n'est accessible que si Size>=3.

Définition à la ligne 36 du fichier arccore/src/base/arccore/base/NumVector.h.

Documentation des définitions de type membres

◆ DataType

template<typename T, int Size>
using Arcane::NumVector< T, Size >::DataType = T

Définition à la ligne 43 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ ThatClass

template<typename T, int Size>
using Arcane::NumVector< T, Size >::ThatClass = NumVector<T, Size>

Définition à la ligne 42 du fichier arccore/src/base/arccore/base/NumVector.h.

Documentation des constructeurs et destructeur

◆ NumVector() [1/13]

template<typename T, int Size>
Arcane::NumVector< T, Size >::NumVector ( )
inlineconstexpr

Construit un vecteur avec chaque coefficient initialisé avec le constructeur par défaut de T.

Définition à la ligne 51 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [2/13]

template<typename T, int Size>
Arcane::NumVector< T, Size >::NumVector ( NoInitTag )
inlineexplicitconstexpr

Construit le vecteur SANS initialiser ses coefficients.

Définition à la ligne 58 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [3/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T ax,
T ay )
inlineconstexpr

Construit avec le couple (ax,ay).

Définition à la ligne 61 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [4/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T ax,
T ay,
T az )
inlineconstexpr

Construit avec le triplet (ax,ay,az).

Définition à la ligne 69 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [5/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T a1,
T a2,
T a3,
T a4 )
inlineconstexpr

Construit avec le quadruplet (a1,a2,a3,a4).

Définition à la ligne 78 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [6/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T a1,
T a2,
T a3,
T a4,
T a5 )
inlineconstexpr

Construit avec le quintuplet (a1,a2,a3,a4,a5).

Définition à la ligne 88 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [7/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T a1,
T a2,
T a3,
T a4,
T a5,
T a6 )
inlineconstexpr

Construit avec le sextuplet (a1,a2,a3,a4,a5,a6).

Définition à la ligne 98 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [8/13]

template<typename T, int Size>
template<bool = true>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( const T(&) v[Size])
inlineconstexpr

Construit l'instance avec la valeur v pour chaque composante.

Définition à la ligne 110 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [9/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( std::array< T, Size > v)
inlineconstexpr

Construit l'instance avec la valeur v pour chaque composante.

Définition à la ligne 117 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [10/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( T v)
inlineexplicitconstexpr

Construit l'instance avec la valeur v pour chaque composante.

Définition à la ligne 124 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [11/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( const DataType * v,
InitTag  )
inlineconstexpr

Construit l'instance avec la valeur v pour chaque composante.

Définition à la ligne 131 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [12/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( Real2 v)
inlineexplicitconstexpr

Définition à la ligne 137 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [13/13]

template<typename T, int Size>
__host__ __device__ Arcane::NumVector< T, Size >::NumVector ( Real3 v)
inlineexplicitconstexpr

Définition à la ligne 141 du fichier arccore/src/base/arccore/base/NumVector.h.

Documentation des fonctions membres

◆ absolute()

template<typename T, int Size>
__host__ __device__ NumVector Arcane::NumVector< T, Size >::absolute ( ) const
inline

Valeur absolue composante par composante.

Définition à la ligne 192 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ fill()

template<typename T, int Size>
__host__ __device__ void Arcane::NumVector< T, Size >::fill ( const T & v)
inlineconstexpr

Remplit le vecteur avec la valeur v.

Définition à la ligne 201 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ isRealType()

template<typename T, int Size>
constexpr bool Arcane::NumVector< T, Size >::isRealType ( )
inlinestaticconstexpr

Définition à la ligne 44 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator Real2()

template<typename T, int Size>
Arcane::NumVector< T, Size >::operator Real2 ( ) const
inlineconstexpr

Définition à la ligne 175 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator Real3()

template<typename T, int Size>
Arcane::NumVector< T, Size >::operator Real3 ( ) const
inlineconstexpr

Définition à la ligne 180 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator()() [1/2]

template<typename T, int Size>
__host__ __device__ T & Arcane::NumVector< T, Size >::operator() ( Int32 i)
inlineconstexpr

Définition à la ligne 339 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator()() [2/2]

template<typename T, int Size>
__host__ __device__ T Arcane::NumVector< T, Size >::operator() ( Int32 i) const
inlineconstexpr

Définition à la ligne 344 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator-()

template<typename T, int Size>
__host__ __device__ NumVector Arcane::NumVector< T, Size >::operator- ( ) const
inlineconstexpr

Crée un triplet opposé au triplet actuel.

Définition à la ligne 275 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [1/4]

template<typename T, int Size>
__host__ __device__ NumVector & Arcane::NumVector< T, Size >::operator= ( const DataType & value)
inlineconstexpr

Assigne une valeur à toutes les composantes du vecteur.

Définition à la ligne 146 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [2/4]

template<typename T, int Size>
__host__ __device__ NumVector & Arcane::NumVector< T, Size >::operator= ( const Real2 & v)
inlineconstexpr

Définition à la ligne 153 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [3/4]

template<typename T, int Size>
__host__ __device__ NumVector & Arcane::NumVector< T, Size >::operator= ( const Real3 & v)
inlineconstexpr

Définition à la ligne 160 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [4/4]

template<typename T, int Size>
__host__ __device__ NumVector & Arcane::NumVector< T, Size >::operator= ( std::array< T, Size > v)
inlineconstexpr

Constructs the instance with the value v for each component.

Définition à la ligne 168 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator[]() [1/2]

template<typename T, int Size>
__host__ __device__ T & Arcane::NumVector< T, Size >::operator[] ( Int32 i)
inlineconstexpr

Définition à la ligne 349 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator[]() [2/2]

template<typename T, int Size>
__host__ __device__ DataType Arcane::NumVector< T, Size >::operator[] ( Int32 i) const
inlineconstexpr

Définition à la ligne 354 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vx() [1/2]

template<typename T, int Size>
__host__ __device__ DataType & Arcane::NumVector< T, Size >::vx ( )
inlineconstexpr

Valeur de la première composante.

Définition à la ligne 361 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vx() [2/2]

template<typename T, int Size>
__host__ __device__ DataType Arcane::NumVector< T, Size >::vx ( ) const
inlineconstexpr

Valeur de la première composante.

Définition à la ligne 366 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vy() [1/2]

template<typename T, int Size>
__host__ __device__ DataType & Arcane::NumVector< T, Size >::vy ( )
inlineconstexpr

Valeur de la deuxième composante.

Définition à la ligne 372 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vy() [2/2]

template<typename T, int Size>
__host__ __device__ DataType Arcane::NumVector< T, Size >::vy ( ) const
inlineconstexpr

Valeur de la deuxième composante.

Définition à la ligne 377 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vz() [1/2]

template<typename T, int Size>
__host__ __device__ DataType & Arcane::NumVector< T, Size >::vz ( )
inlineconstexpr

Valeur de la troisième composante.

Définition à la ligne 383 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ vz() [2/2]

template<typename T, int Size>
__host__ __device__ DataType Arcane::NumVector< T, Size >::vz ( ) const
inlineconstexpr

Valeur de la troisième composante.

Définition à la ligne 388 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ zero()

template<typename T, int Size>
__host__ static __device__ NumVector Arcane::NumVector< T, Size >::zero ( )
inlinestaticconstexpr

Définition à la ligne 187 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator!=

template<typename T, int Size>
__host__ __device__ bool operator!= ( const NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Compare deux vecteurs Pour la notion d'égalité, voir operator==().

Définition à la ligne 334 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator* [1/2]

template<typename T, int Size>
__host__ __device__ NumVector operator* ( const NumVector< T, Size > & vec,
T b )
friend

Multiplication par un scalaire.

Définition à la ligne 293 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator* [2/2]

template<typename T, int Size>
__host__ __device__ NumVector operator* ( T a,
const NumVector< T, Size > & vec )
friend

Multiplication par un scalaire.

Définition à la ligne 284 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator*=

template<typename T, int Size>
__host__ __device__ NumVector & operator*= ( NumVector< T, Size > & a,
T b )
friend

Multiplie chaque composante de a par b.

Définition à la ligne 241 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator+

template<typename T, int Size>
__host__ __device__ NumVector operator+ ( const NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Crée un triplet égal à ce triplet ajouté à b.

Définition à la ligne 257 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator+= [1/2]

template<typename T, int Size>
__host__ __device__ NumVector & operator+= ( NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Ajoute b à a.

Définition à la ligne 217 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator+= [2/2]

template<typename T, int Size>
__host__ __device__ NumVector & operator+= ( NumVector< T, Size > & a,
T b )
friend

Ajoute b à chaque composante de a.

Définition à la ligne 209 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator-

template<typename T, int Size>
__host__ __device__ NumVector operator- ( const NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Crée un triplet égal à ce triplet moins b.

Définition à la ligne 266 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator-= [1/2]

template<typename T, int Size>
__host__ __device__ NumVector & operator-= ( NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Soustrait b à chaque composante de a.

Définition à la ligne 233 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator-= [2/2]

template<typename T, int Size>
__host__ __device__ NumVector & operator-= ( NumVector< T, Size > & a,
T b )
friend

Soustrait b à chaque composante de a.

Définition à la ligne 225 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator/

template<typename T, int Size>
__host__ __device__ NumVector operator/ ( const NumVector< T, Size > & vec,
T b )
friend

Division par un scalaire.

Définition à la ligne 302 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator/=

template<typename T, int Size>
__host__ __device__ NumVector & operator/= ( NumVector< T, Size > & a,
T b )
friend

Divise chaque composante de a par b.

Définition à la ligne 249 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator<<

template<typename T, int Size>
std::ostream & operator<< ( std::ostream & o,
const NumVector< T, Size > & t )
friend

Définition à la ligne 324 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator==

template<typename T, int Size>
__host__ __device__ bool operator== ( const NumVector< T, Size > & a,
const NumVector< T, Size > & b )
friend

Compare l'instance actuelle composante par composante à b.

Valeurs retournées
vraisi this.x==b.x et this.y==b.y et this.z==b.z.
fauxsinon.

Définition à la ligne 316 du fichier arccore/src/base/arccore/base/NumVector.h.


La documentation de cette classe a été générée à partir des fichiers suivants :