|
| 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, void > |
T & | vx () |
| Valeur de la première composante.
|
|
template<int S = Size, typename = std::enable_if_t<S >= 1, void > |
T | vx () const |
| Valeur de la première composante.
|
|
template<int S = Size, typename = std::enable_if_t<S >= 2, void > |
T & | vy () |
| Valeur de la deuxième composante.
|
|
template<int S = Size, typename = std::enable_if_t<S >= 2, void > |
T | vy () const |
| Valeur de la deuxième composante.
|
|
template<int S = Size, typename = std::enable_if_t<S >= 3, void > |
T & | vz () |
| Valeur de la troisième composante.
|
|
template<int S = Size, typename = std::enable_if_t<S >= 3, void > |
T | vz () const |
| Valeur de la troisième composante.
|
|
|
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==()
|
|
template<typename T, int Size>
class Arcane::NumVector< T, Size >
Petit vecteur de taille fixe de N données numériques.
- Note
- Actuellement uniquement implémenté pour le type Real.
- Avertissement
- API en cours de définition. Ne pas utiliser en dehors de Arcane.
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.