12#ifndef ARCANE_SIMDMATHUTILS_H
13#define ARCANE_SIMDMATHUTILS_H
17#include "arcane/utils/SimdOperation.h"
35 u.y * v.z - u.z * v.y,
36 u.z * v.x - u.x * v.z,
47 return (u.x * v.y - u.y * v.x);
53 return SimdReal(u.x*v.x + u.y*v.y + u.z*v.z);
57dot(
const SimdReal2& u,
const SimdReal2& v)
62ARCCORE_DEPRECATED_2021(
"Use normL2() instead")
64abs(const SimdReal3& sr)
68 Real3 r(sr.x[si],sr.y[si],sr.z[si]);
74ARCCORE_DEPRECATED_2021(
"Use normL2() instead")
76abs(const SimdReal2& sr)
80 Real2 r(sr.x[si],sr.y[si]);
87normL2(
const SimdReal3& sr)
91 Real3 r(sr.x[si],sr.y[si],sr.z[si]);
98normL2(
const SimdReal2& sr)
102 Real2 r(sr.x[si],sr.y[si]);
136 t.x.x*v.x.y+
t.x.y*v.y.y+
t.x.z*v.z.y,
137 t.x.x*v.x.z+
t.x.y*v.y.z+
t.x.z*v.z.z),
139 t.y.x*v.x.y+
t.y.y*v.y.y+
t.y.z*v.z.y,
140 t.y.x*v.x.z+
t.y.y*v.y.z+
t.y.z*v.z.z),
142 t.z.x*v.x.y+
t.z.y*v.y.y+
t.z.z*v.z.y,
143 t.z.x*v.x.z+
t.z.y*v.y.z+
t.z.z*v.z.z));
Vectorisation des réels par émulation.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Représente un Real2 vectoriel.
Représente un Real2x2 vectoriel.
Représente un Real3 vectoriel.
Représente un Real3x3 vectoriel.
SimdInfo::SimdReal SimdReal
Vecteur SIMD de réel.
#define ENUMERATE_SIMD_REAL(_iter)
Macro pour itérer sur les index d'un vecteur Simd de réel ou dérivé (Real2, Real3,...
T max(const T &a, const T &b, const T &c)
Retourne le maximum de trois éléments.
ARCCORE_HOST_DEVICE Real2 min(Real2 a, Real2 b)
Retourne le minimum de deux Real2.
ARCCORE_HOST_DEVICE Real3x3 matrixProduct(const Real3x3 &t, const Real3x3 &v)
Produit matrice matrice entre deux tenseurs.
ARCCORE_HOST_DEVICE Real3 cross(Real3 v1, Real3 v2)
Produit vectoriel de deux vecteurs à 3 composantes.
ARCCORE_HOST_DEVICE Real3x3 matrixTranspose(const Real3x3 &t)
Transpose la matrice.
Real3x3 prodTens(Real3 u, Real3 v)
Produit tensoriel de deux vecteurs Real3.
ARCCORE_HOST_DEVICE Real dot(Real2 u, Real2 v)
Produit scalaire de u par v dans .
ARCCORE_HOST_DEVICE Real cross2D(Real3 u, Real3 v)
Produit vectoriel de u par v dans .
ARCCORE_HOST_DEVICE Real mixteMul(Real3 u, Real3 v, Real3 w)
Produit mixte de u, v et w.
Espace de nom pour les fonctions mathématiques.