Petit vecteur de taille fixe de N données numériques. Plus de détails...
#include <arcane/utils/NumVector.h>
Graphe de collaboration de Arcane::NumVector< T, Size >:Types publics | |
| using | ThatClass = NumVector<T, Size> |
| using | DataType = T |
Fonctions membres publiques | |
| NumVector ()=default | |
| Construit le vecteur nul. | |
| template<int S = Size, typename = std::enable_if_t<S == 2, void>> | |
| constexpr __host__ __device__ | NumVector (T ax, T ay) |
| Construit avec le couple (ax,ay) | |
| template<int S = Size, typename = std::enable_if_t<S == 3, void>> | |
| constexpr __host__ __device__ | NumVector (T ax, T ay, T az) |
| Construit avec le triplet (ax,ay,az) | |
| template<int S = Size, typename = std::enable_if_t<S == 4, void>> | |
| constexpr __host__ __device__ | NumVector (T a1, T a2, T a3, T a4) |
| Construit avec le quadruplet (a1,a2,a3,a4) | |
| template<int S = Size, typename = std::enable_if_t<S == 5, void>> | |
| constexpr __host__ __device__ | NumVector (T a1, T a2, T a3, T a4, T a5) |
| Construit avec le quintuplet (a1,a2,a3,a4,a5) | |
| template<bool = true> | |
| constexpr __host__ __device__ | NumVector (const T(&v)[Size]) |
| Construit l'instance avec pour chaque composante la valeur v. | |
| constexpr __host__ __device__ | NumVector (std::array< T, Size > v) |
| Construit l'instance avec pour chaque composante la valeur v. | |
| constexpr __host__ __device__ | NumVector (T v) |
| Construit l'instance avec pour chaque composante la valeur v. | |
| template<int S = Size, typename = std::enable_if_t<S == 2, void>> | |
| constexpr __host__ __device__ | NumVector (Real2 v) |
| template<int S = Size, typename = std::enable_if_t<S == 3, void>> | |
| constexpr __host__ __device__ | NumVector (Real3 v) |
| constexpr __host__ __device__ ThatClass & | operator= (Real v) |
| Affecte à l'instance le triplet (v,v,v). | |
| template<int S = Size, typename = std::enable_if_t<S == 2, void>> | |
| constexpr __host__ __device__ ThatClass & | operator= (const Real2 &v) |
| template<int S = Size, typename = std::enable_if_t<S == 3, void>> | |
| constexpr __host__ __device__ ThatClass & | operator= (const Real3 &v) |
| template<int S = Size, typename = std::enable_if_t<S == 2, void>> | |
| operator Real2 () const | |
| template<int S = Size, typename = std::enable_if_t<S == 3, void>> | |
| operator Real3 () const | |
| constexpr __host__ __device__ bool | isNearlyZero () const |
| constexpr __host__ __device__ Real | squareNormL2 () const |
| Retourne la norme L2 au carré du triplet \(x^2+y^2+z^2\). | |
| __host__ __device__ Real | normL2 () const |
| Retourne la norme L2 du triplet \(\sqrt{x^2+y^2+z^2}\). | |
| __host__ __device__ ThatClass | absolute () const |
| Valeur absolue composante par composante. | |
| constexpr __host__ __device__ ThatClass & | operator+= (T b) |
| Ajoute b à chaque composante de l'instance. | |
| constexpr __host__ __device__ ThatClass & | operator+= (const ThatClass &b) |
| Ajoute b à l'instance. | |
| constexpr __host__ __device__ ThatClass & | operator-= (T b) |
| Soustrait b à chaque composante de l'instance. | |
| constexpr __host__ __device__ ThatClass & | operator-= (const ThatClass &b) |
| Soustrait b à l'instance. | |
| constexpr __host__ __device__ ThatClass & | operator*= (T b) |
| Multiple chaque composante par b. | |
| constexpr __host__ __device__ ThatClass & | operator/= (T b) |
| Divise chaque composante par b. | |
| constexpr __host__ __device__ ThatClass | operator- () const |
| Créé 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__ T | operator[] (Int32 i) const |
| template<int S = Size, typename = std::enable_if_t<S >= 1> | |
| T & | vx () |
| Valeur de la première composante. | |
| template<int S = Size, typename = std::enable_if_t<S >= 1> | |
| T | vx () const |
| Valeur de la première composante. | |
| template<int S = Size, typename = std::enable_if_t<S >= 2> | |
| T & | vy () |
| Valeur de la deuxième composante. | |
| template<int S = Size, typename = std::enable_if_t<S >= 2> | |
| T | vy () const |
| Valeur de la deuxième composante. | |
| template<int S = Size, typename = std::enable_if_t<S >= 3> | |
| T & | vz () |
| Valeur de la troisième composante. | |
| template<int S = Size, typename = std::enable_if_t<S >= 3> | |
| T | vz () const |
| Valeur de la troisième composante. | |
Fonctions membres publiques statiques | |
| constexpr __host__ static __device__ ThatClass | zero () |
Fonctions membres privées statiques | |
| constexpr __host__ static __device__ bool | _eq (T a, T b) |
| Compare les valeurs de a et b avec le comparateur TypeEqualT. | |
| __host__ static __device__ T | _sqrt (T a) |
| Retourne la racine carrée de a. | |
Attributs privés | |
| T | m_values [Size] = {} |
| Valeurs du vecteur. | |
Amis | |
| constexpr __host__ __device__ ThatClass | operator+ (const ThatClass &a, const ThatClass &b) |
| Créé un triplet qui vaut ce triplet ajouté à b. | |
| constexpr __host__ __device__ ThatClass | operator- (const ThatClass &a, const ThatClass &b) |
| Créé un triplet qui vaut b soustrait de ce triplet. | |
| constexpr __host__ __device__ ThatClass | operator* (T a, const ThatClass &vec) |
| Multiplication par un scalaire. | |
| constexpr __host__ __device__ ThatClass | operator* (const ThatClass &vec, T b) |
| Multiplication par un scalaire. | |
| constexpr __host__ __device__ ThatClass | operator/ (const ThatClass &vec, T b) |
| Division par un scalaire. | |
| constexpr __host__ __device__ bool | operator== (const ThatClass &a, const ThatClass &b) |
| Compare composant pas composante l'instance courante à b. | |
| constexpr __host__ __device__ bool | operator!= (const ThatClass &a, const ThatClass &b) |
| Compare deux vecteurs Pour la notion d'égalité, voir operator==() | |
Petit vecteur de taille fixe de N données numériques.
Il est possible d'accéder à chaque composante du vecteur par 'operator[]' ou 'operator()' ou par les méthodes vx(), vy(), vz() si la dimension est suffisante (par exemple vz() est uniquement accessible si la Size>=3.
Définition à la ligne 42 du fichier NumVector.h.
| using Arcane::NumVector< T, Size >::DataType = T |
Définition à la ligne 50 du fichier NumVector.h.
| using Arcane::NumVector< T, Size >::ThatClass = NumVector<T, Size> |
Définition à la ligne 49 du fichier NumVector.h.
|
inlineconstexpr |
Construit avec le couple (ax,ay)
Définition à la ligne 59 du fichier NumVector.h.
|
inlineconstexpr |
Construit avec le triplet (ax,ay,az)
Définition à la ligne 67 du fichier NumVector.h.
|
inlineconstexpr |
Construit avec le quadruplet (a1,a2,a3,a4)
Définition à la ligne 76 du fichier NumVector.h.
|
inlineconstexpr |
Construit avec le quintuplet (a1,a2,a3,a4,a5)
Définition à la ligne 86 du fichier NumVector.h.
|
inlineexplicitconstexpr |
Construit l'instance avec pour chaque composante la valeur v.
Définition à la ligne 97 du fichier NumVector.h.
|
inlineexplicitconstexpr |
Construit l'instance avec pour chaque composante la valeur v.
Définition à la ligne 104 du fichier NumVector.h.
|
inlineexplicitconstexpr |
Construit l'instance avec pour chaque composante la valeur v.
Définition à la ligne 111 du fichier NumVector.h.
|
inlineexplicitconstexpr |
Définition à la ligne 118 du fichier NumVector.h.
|
inlineexplicitconstexpr |
Définition à la ligne 123 du fichier NumVector.h.
|
inlinestaticconstexprprivate |
Compare les valeurs de a et b avec le comparateur TypeEqualT.
| true | si a et b sont égaux, |
| false | sinon. |
Définition à la ligne 377 du fichier NumVector.h.
Référencé par Arcane::NumVector< DataType, Size >::operator==.
Voici le graphe des appelants de cette fonction :
|
inlinestaticprivate |
Retourne la racine carrée de a.
Définition à la ligne 382 du fichier NumVector.h.
Référencé par Arcane::NumVector< DataType, Size >::normL2().
Voici le graphe des appelants de cette fonction :
|
inline |
Valeur absolue composante par composante.
Définition à la ligne 181 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 161 du fichier NumVector.h.
|
inline |
Retourne la norme L2 du triplet \(\sqrt{x^2+y^2+z^2}\).
Définition à la ligne 178 du fichier NumVector.h.
|
inline |
Définition à la ligne 150 du fichier NumVector.h.
|
inline |
Définition à la ligne 153 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 304 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 309 du fichier NumVector.h.
|
inlineconstexpr |
Multiple chaque composante par b.
Définition à la ligne 219 du fichier NumVector.h.
|
inlineconstexpr |
Ajoute b à l'instance.
Définition à la ligne 198 du fichier NumVector.h.
|
inlineconstexpr |
Ajoute b à chaque composante de l'instance.
Définition à la ligne 190 du fichier NumVector.h.
|
inlineconstexpr |
Créé un triplet opposé au triplet actuel.
Définition à la ligne 249 du fichier NumVector.h.
|
inlineconstexpr |
Soustrait b à l'instance.
Définition à la ligne 212 du fichier NumVector.h.
|
inlineconstexpr |
Soustrait b à chaque composante de l'instance.
Définition à la ligne 205 du fichier NumVector.h.
|
inlineconstexpr |
Divise chaque composante par b.
Définition à la ligne 226 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 136 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 143 du fichier NumVector.h.
|
inlineconstexpr |
Affecte à l'instance le triplet (v,v,v).
Définition à la ligne 128 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 314 du fichier NumVector.h.
|
inlineconstexpr |
Définition à la ligne 319 du fichier NumVector.h.
|
inlineconstexpr |
Retourne la norme L2 au carré du triplet \(x^2+y^2+z^2\).
Définition à la ligne 170 du fichier NumVector.h.
Référencé par Arcane::NumVector< DataType, Size >::normL2().
Voici le graphe des appelants de cette fonction :
|
inline |
Valeur de la première composante.
Définition à la ligne 327 du fichier NumVector.h.
|
inline |
Valeur de la première composante.
Définition à la ligne 333 du fichier NumVector.h.
|
inline |
Valeur de la deuxième composante.
Définition à la ligne 340 du fichier NumVector.h.
|
inline |
Valeur de la deuxième composante.
Définition à la ligne 346 du fichier NumVector.h.
|
inline |
Valeur de la troisième composante.
Définition à la ligne 353 du fichier NumVector.h.
|
inline |
Valeur de la troisième composante.
Définition à la ligne 359 du fichier NumVector.h.
|
inlinestaticconstexpr |
Définition à la ligne 157 du fichier NumVector.h.
|
friend |
Compare deux vecteurs Pour la notion d'égalité, voir operator==()
Définition à la ligne 299 du fichier NumVector.h.
|
friend |
Multiplication par un scalaire.
Définition à la ligne 265 du fichier NumVector.h.
|
friend |
Multiplication par un scalaire.
Définition à la ligne 257 du fichier NumVector.h.
|
friend |
Créé un triplet qui vaut ce triplet ajouté à b.
Définition à la ligne 233 du fichier NumVector.h.
|
friend |
Créé un triplet qui vaut b soustrait de ce triplet.
Définition à la ligne 241 du fichier NumVector.h.
|
friend |
Division par un scalaire.
Définition à la ligne 273 du fichier NumVector.h.
|
friend |
Compare composant pas composante l'instance courante à b.
| true | si this.x==b.x et this.y==b.y et this.z==b.z. |
| false | sinon. |
Définition à la ligne 287 du fichier NumVector.h.
|
private |
Valeurs du vecteur.
Définition à la ligne 367 du fichier NumVector.h.
Référencé par Arcane::NumVector< DataType, Size >::absolute(), Arcane::NumVector< DataType, Size >::operator*, Arcane::NumVector< DataType, Size >::operator*, Arcane::NumMatrix< DataType, Row, Column >::operator+, Arcane::NumVector< DataType, Size >::operator+, Arcane::NumVector< DataType, Size >::operator+=(), Arcane::NumMatrix< DataType, Row, Column >::operator-, Arcane::NumVector< DataType, Size >::operator-(), Arcane::NumVector< DataType, Size >::operator-, Arcane::NumVector< DataType, Size >::operator-=(), Arcane::NumVector< DataType, Size >::operator/, et Arcane::NumVector< DataType, Size >::operator==.