Arcane  4.2.1.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

 NumVector ()=default
 Construit le vecteur nul.
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__ NumVectoroperator= (const DataType &value)
 Assigne une valeur à toutes les composantes du vecteur.
constexpr __host__ __device__ NumVectoroperator= (const Real2 &v)
constexpr __host__ __device__ NumVectoroperator= (const Real3 &v)
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__ NumVectoroperator+= (NumVector &a, T b)
 Ajoute b à chaque composante de a.
constexpr __host__ __device__ NumVectoroperator+= (NumVector &a, const NumVector &b)
 Ajoute b à a.
constexpr __host__ __device__ NumVectoroperator-= (NumVector &a, T b)
 Soustrait b à chaque composante de a.
constexpr __host__ __device__ NumVectoroperator-= (NumVector &a, const NumVector &b)
 Soustrait b à chaque composante de a.
constexpr __host__ __device__ NumVectoroperator*= (NumVector &a, T b)
 Multiplie chaque composante de a par b.
constexpr __host__ __device__ NumVectoroperator/= (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/11]

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 54 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [2/11]

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 62 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [3/11]

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 71 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [4/11]

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 81 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [5/11]

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 91 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [6/11]

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

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

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

◆ NumVector() [7/11]

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

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() [8/11]

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 117 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [9/11]

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 124 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ NumVector() [10/11]

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

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

◆ NumVector() [11/11]

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

Définition à la ligne 134 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 177 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 186 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 160 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 165 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 324 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 329 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 260 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [1/3]

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 139 du fichier arccore/src/base/arccore/base/NumVector.h.

◆ operator=() [2/3]

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

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

◆ operator=() [3/3]

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

Définition à la ligne 153 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 334 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 339 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 346 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 351 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 357 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 362 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 368 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 373 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 172 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 319 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 278 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 269 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 226 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 242 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 202 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 194 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 251 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 218 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 210 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 287 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 234 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 309 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 301 du fichier arccore/src/base/arccore/base/NumVector.h.


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