Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage Arcane::math

Espace de nom pour les fonctions mathématiques. Plus de détails...

Fonctions

ARCCORE_HOST_DEVICE Real3 vecMul (Real3 u, Real3 v)
 Produit vectoriel de u par v. dans \(R^3\).
 
ARCCORE_HOST_DEVICE Real vecMul2D (Real3 u, Real3 v)
 Produit vectoriel de u par v dans \(R^2\).
 
ARCCORE_HOST_DEVICE Real cross2D (Real3 u, Real3 v)
 Produit vectoriel de u par v dans \(R^2\).
 
ARCCORE_HOST_DEVICE Real dot (Real2 u, Real2 v)
 Produit scalaire de u par v dans \(R^2\).
 
ARCCORE_HOST_DEVICE Real scaMul (Real2 u, Real2 v)
 Produit scalaire de u par v dans \(R^2\).
 
ARCCORE_HOST_DEVICE Real dot (Real3 u, Real3 v)
 Produit scalaire de u par v.
 
ARCCORE_HOST_DEVICE Real scaMul (Real3 u, Real3 v)
 Produit scalaire de u par v.
 
ARCCORE_HOST_DEVICE Real mixteMul (Real3 u, Real3 v, Real3 w)
 Produit mixte de u, v et w.
 
ARCCORE_HOST_DEVICE Real matDet (Real3 u, Real3 v, Real3 w)
 Déterminant de la matrice u,v,w.
 
Real3x3 prodTens (Real3 u, Real3 v)
 Produit tensoriel de deux vecteurs Real3.
 
ARCCORE_HOST_DEVICE Real3 prodTensVec (Real3x3 t, Real3 v)
 Produit matrice vecteur entre un tenseur et un vecteur.
 
ARCCORE_HOST_DEVICE Real2 prodTensVec (Real2x2 t, Real2 v)
 
ARCCORE_HOST_DEVICE Real3 prodVecTens (Real3 v, Real3x3 t)
 Produit transposé(vecteur) matrice entre la transposée d'un vecteur et une matrice.
 
ARCCORE_HOST_DEVICE Real3x3 matrixProduct (const Real3x3 &t, const Real3x3 &v)
 Produit matrice matrice entre deux tenseurs.
 
ARCCORE_HOST_DEVICE Real3x3 transpose (const Real3x3 &t)
 Transpose la matrice.
 
ARCCORE_HOST_DEVICE Real3x3 matrixTranspose (const Real3x3 &t)
 Transpose la matrice.
 
ARCCORE_HOST_DEVICE Real doubleContraction (const Real3x3 &u, const Real3x3 &v)
 
ARCCORE_HOST_DEVICE Real doubleContraction (const Real2x2 &u, const Real2x2 &v)
 
ARCCORE_HOST_DEVICE Real2 min (Real2 a, Real2 b)
 Retourne le minimum de deux Real2.
 
ARCCORE_HOST_DEVICE Real3 min (Real3 a, Real3 b)
 Retourne le minimum de deux Real3.
 
ARCCORE_HOST_DEVICE Real2x2 min (const Real2x2 &a, const Real2x2 &b)
 Retourne le minimum de deux Real2x2.
 
ARCCORE_HOST_DEVICE Real3x3 min (const Real3x3 &a, const Real3x3 &b)
 Retourne le minimum de deux Real3x3.
 
template<class T >
min (const T &a, const T &b, const T &c)
 Retourne le minimum de trois éléments.
 
template<class T >
max (const T &a, const T &b, const T &c)
 Retourne le maximum de trois éléments.
 
ARCCORE_HOST_DEVICE Real2 max (Real2 a, Real2 b)
 Retourne le maximum de deux Real2.
 
ARCCORE_HOST_DEVICE Real3 max (Real3 a, Real3 b)
 Retourne le maximum de deux Real3.
 
ARCCORE_HOST_DEVICE Real2x2 max (const Real2x2 &a, const Real2x2 &b)
 Retourne le maximum de deux Real2x2.
 
ARCCORE_HOST_DEVICE Real3x3 max (const Real3x3 &a, const Real3x3 &b)
 Retourne le maximum de deux Real3x3.
 
ARCCORE_HOST_DEVICE Real min4Real (Real a, Real b, Real c, Real d)
 retourne le min de quatre Real
 
ARCCORE_HOST_DEVICE Real max4Real (Real a, Real b, Real c, Real d)
 retourne le max de quatre Real
 
ARCCORE_HOST_DEVICE Real min8Real (const Real a[8])
 retourne le min de huit Real
 
Real max8Real (const Real a[8])
 retourne le max de huit Real
 
ARCCORE_HOST_DEVICE Real minMod (Real a, Real b, Real c, Real d)
 retourne le Min mod de quatre Real
 
ARCCORE_HOST_DEVICE Real minMod2 (Real a, Real b)
 retourne le Min mod de deux Reals
 
ARCCORE_HOST_DEVICE Real maxMod2 (Real a, Real b)
 retourne le Max mod de deux Reals
 
Real relativeError (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b.
 
Real relativeError (const Real3x3 &T1, const Real3x3 &T2)
 Retourne l'erreur relative entre deux tenseurs T1 et T2.
 
Real relativeError2 (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b relativement à b.
 
Real relativeError1 (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b relativement à a.
 
bool searchExtrema (ConstArrayView< Real2 > array, Real &xmin, Real &xmax, Real &ymin, Real &ymax, bool need_init)
 Recherche les valeurs extrèmes d'un tableau de couple (x,y).
 
ARCCORE_HOST_DEVICE Real matrixDeterminant (Real3x3 m)
 Calcul du déterminant d'une matrice 3x3.
 
Real normeR3 (Real3 v1)
 Norme d'un vecteur.
 
ARCCORE_HOST_DEVICE Real3x3 matrix3x3Id ()
 Matrice identite.
 
ARCCORE_HOST_DEVICE Real3x3 inverseMatrix (const Real3x3 &m, Real d)
 Calcul de l'inverse d'une matrice m en supposant connu son déterminant d.
 
ARCCORE_HOST_DEVICE Real3x3 inverseMatrix (const Real3x3 &m)
 Calcul de l'inverse d'une matrice m.
 
Real3 crossProduct3 (Real3 v1, Real3 v2)
 Produit vectoriel de deux vecteurs à 3 composantes.
 
ARCCORE_HOST_DEVICE Real3 cross (Real3 v1, Real3 v2)
 Produit vectoriel de deux vecteurs à 3 composantes.
 
ARCCORE_HOST_DEVICE Real3 normalizeReal3 (Real3 v)
 Normalisation d'un Real3.
 
Real3 normalizedCrossProduct3 (Real3 v1, Real3 v2)
 Produit vectoriel normalisé.
 
Real3x3 matrix3x3Transp (Real3x3 m)
 
Real3x3 matrix3x3Prod (Real3x3 m1, Real3x3 m2)
 Multiplication de 2 matrices 3x3.
 
ARCCORE_HOST_DEVICE Real3 multiply (const Real3x3 &m, Real3 v)
 Produit matrice 3x3 . vecteur.
 
bool isNearlyId (Real3x3 m, Real epsilon=1.e-10)
 Vérifie qu'une matrice vaut bien la matrice identité.
 
Real3 planarSymmetric (Real3 u, Real3 n)
 Symétrie d'un vecteur u par rapport à un plan de normale n.
 
Real3 axisSymmetric (Real3 u, Real3 a)
 Symétrie d'un vecteur u par rapport à un axe de vecteur directeur a .
 
template<typename T >
void add (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Ajoute le tableau copy_array dans l'instance.
 
template<typename T >
void add (ArrayView< T > lhs, ArrayView< T > copy_array)
 Ajoute le tableau copy_array dans l'instance.
 
template<typename T >
void sub (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Soustrait le tableau copy_array de l'instance.
 
template<typename T >
void sub (ArrayView< T > lhs, ArrayView< T > copy_array)
 Soustrait le tableau copy_array de l'instance.
 
template<typename T >
void mult (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.
 
template<typename T >
void mult (ArrayView< T > lhs, ArrayView< T > copy_array)
 Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.
 
template<typename T >
void mult (ArrayView< T > lhs, T o)
 Multiplie tous les éléments du tableau par le réel o.
 
template<typename T >
void power (ArrayView< T > lhs, T o)
 Met à la puissance o tous les éléments du tableau.
 
Real divide (Real a, Real b)
 
SimdReal3 cross (const SimdReal3 &u, const SimdReal3 &v)
 Produit vectoriel de u par v dans \(R^3\).
 
SimdReal cross2D (const SimdReal3 &u, const SimdReal3 &v)
 Produit vectoriel de u par v dans \(R^2\).
 
SimdReal dot (const SimdReal3 &u, const SimdReal3 &v)
 
SimdReal dot (const SimdReal2 &u, const SimdReal2 &v)
 
SimdReal abs (const SimdReal3 &sr)
 
SimdReal abs (const SimdReal2 &sr)
 
SimdReal normL2 (const SimdReal3 &sr)
 
SimdReal normL2 (const SimdReal2 &sr)
 
SimdReal mixteMul (const SimdReal3 &u, const SimdReal3 &v, const SimdReal3 &w)
 Produit mixte de u, v et w.
 
SimdReal3x3 prodTens (const SimdReal3 &u, const SimdReal3 &v)
 
SimdReal3x3 matrixProduct (const SimdReal3x3 &t, const SimdReal3x3 &v)
 Produit matrice matrice entre deux tenseurs.
 
SimdReal3x3 matrixTranspose (const SimdReal3x3 &t)
 Transpose la matrice.
 
ARCCORE_HOST_DEVICE SimdReal2 min (const SimdReal2 &a, const SimdReal2 &b)
 Retourne le minimum de deux SimdReal2.
 
ARCCORE_HOST_DEVICE SimdReal3 min (const SimdReal3 &a, const SimdReal3 &b)
 Retourne le minimum de deux SimdReal3.
 
SimdReal2x2 min (const SimdReal2x2 &a, const SimdReal2x2 &b)
 Retourne le minimum de deux SimdReal2x2.
 
SimdReal3x3 min (const SimdReal3x3 &a, const SimdReal3x3 &b)
 Retourne le minimum de deux SimdReal3x3.
 
ARCCORE_HOST_DEVICE SimdReal2 max (const SimdReal2 &a, const SimdReal2 &b)
 Retourne le maximum de deux SimdReal2.
 
ARCCORE_HOST_DEVICE SimdReal3 max (const SimdReal3 &a, const SimdReal3 &b)
 Retourne le maximum de deux SimdReal3.
 
SimdReal2x2 max (const SimdReal2x2 &a, const SimdReal2x2 &b)
 Retourne le maximum de deux SimdReal2x2.
 
SimdReal3x3 max (const SimdReal3x3 &a, const SimdReal3x3 &b)
 Retourne le maximum de deux SimdReal3x3.
 
template<class _Type >
bool isNearlyZero (const BuiltInProxy< _Type > &a)
 
template<class _Type >
bool isZero (const BuiltInProxy< _Type > &a)
 Teste si une valeur est exactement égale à zéro.
 
ARCCORE_HOST_DEVICE double log (double v)
 Logarithme népérien de v.
 
ARCCORE_HOST_DEVICE long double log (long double v)
 Logarithme népérien de v.
 
ARCCORE_HOST_DEVICE double log10 (double v)
 Logarithme décimal de v.
 
ARCCORE_HOST_DEVICE long double log10 (long double v)
 Logarithme décimal de v.
 
ARCCORE_HOST_DEVICE double floor (double v)
 Arondir v à l'entier immédiatement inférieur.
 
ARCCORE_HOST_DEVICE long double floor (long double v)
 Arondir v à l'entier immédiatement inférieur.
 
ARCCORE_HOST_DEVICE double exp (double v)
 Exponentielle de v.
 
ARCCORE_HOST_DEVICE long double exp (long double v)
 Exponentielle de v.
 
ARCCORE_HOST_DEVICE double sqrt (double v)
 Racine carrée de v.
 
ARCCORE_HOST_DEVICE long double sqrt (long double v)
 Racine carrée de v.
 
ARCCORE_HOST_DEVICE double pow (double x, double y)
 Fonction puissance.
 
ARCCORE_HOST_DEVICE long double pow (long double x, long double y)
 Fonction puissance.
 
ARCCORE_HOST_DEVICE long double pow (double x, long double y)
 Fonction puissance.
 
ARCCORE_HOST_DEVICE long double pow (long double x, double y)
 Fonction puissance.
 
template<class T >
ARCCORE_HOST_DEVICE T min (const T &a, const T &b)
 Retourne le minimum de deux éléments.
 
ARCCORE_HOST_DEVICE long double min (long double a, long double b)
 Retourne le minimum de deux réels.
 
ARCCORE_HOST_DEVICE long double min (double a, long double b)
 Retourne le minimum de deux réels.
 
ARCCORE_HOST_DEVICE long double min (long double a, double b)
 Retourne le minimum de deux réels.
 
ARCCORE_HOST_DEVICE double min (double a, double b)
 Retourne le minimum de deux réels.
 
ARCCORE_HOST_DEVICE float min (float a, float b)
 Retourne le minimum de deux réels.
 
ARCCORE_HOST_DEVICE int min (int a, int b)
 Retourne le minimum de deux entiers.
 
template<class T >
ARCCORE_HOST_DEVICE T max (const T &a, const T &b)
 Retourne le maximum de deux éléments.
 
ARCCORE_HOST_DEVICE long double max (long double a, long double b)
 Retourne le maximum de deux réels.
 
ARCCORE_HOST_DEVICE long double max (double a, long double b)
 Retourne le maximum de deux réels.
 
ARCCORE_HOST_DEVICE long double max (long double a, double b)
 Retourne le maximum de deux réels.
 
ARCCORE_HOST_DEVICE unsigned long max (unsigned long a, unsigned long b)
 Retourne le maximum de deux entiers.
 
ARCCORE_HOST_DEVICE double max (double a, double b)
 Retourne le maximum de deux réels.
 
ARCCORE_HOST_DEVICE float max (float a, float b)
 Retourne le maximum de deux réels.
 
ARCCORE_HOST_DEVICE Int16 max (Int16 a, Int16 b)
 Retourne le maximum de deux Int16.
 
ARCCORE_HOST_DEVICE Int32 max (Int32 a, Int32 b)
 Retourne le maximum de deux Int32.
 
ARCCORE_HOST_DEVICE Int64 max (Int32 a, Int64 b)
 Retourne le maximum de deux Int32.
 
ARCCORE_HOST_DEVICE Int64 max (Int64 a, Int32 b)
 Retourne le maximum de deux Int64.
 
ARCCORE_HOST_DEVICE Int64 max (Int64 a, Int64 b)
 Retourne le maximum de deux Int64.
 
ARCCORE_HOST_DEVICE long double abs (long double a)
 Retourne la valeur absolue d'un réel.
 
ARCCORE_HOST_DEVICE double abs (double a)
 Retourne la valeur absolue d'un réel.
 
ARCCORE_HOST_DEVICE float abs (float a)
 Retourne la valeur absolue d'un réel.
 
ARCCORE_HOST_DEVICE short abs (short a)
 Retourne la valeur absolue d'un 'int'.
 
ARCCORE_HOST_DEVICE int abs (int a)
 Retourne la valeur absolue d'un 'int'.
 
ARCCORE_HOST_DEVICE long abs (long a)
 Retourne la valeur absolue d'un 'long'.
 
ARCCORE_HOST_DEVICE long long abs (long long a)
 Retourne la valeur absolue d'un 'long'.
 
double truncateDouble (double v, Integer nb_digit)
 Tronque la précision du réel v à nb_digit chiffres significatifs.
 
void truncateDouble (ArrayView< double > values, Integer nb_digit)
 Tronque la précision du tableau de réels values à nb_digit chiffres significatifs.
 
apfloat log (apfloat v)
 Logarithme népérien de v.
 
apfloat floor (apfloat v)
 Arondir v à l'entier immédiatement inférieur.
 
apfloat exp (apfloat v)
 Exponentielle de v.
 
apfloat sqrt (apfloat v)
 Racine carrée de v.
 
apfloat pow (apfloat x, apfloat y)
 Fonction puissance.
 
apfloat min (apfloat a, apfloat b)
 Retourne le minimum de deux réels.
 
apfloat max (apfloat a, apfloat b)
 Retourne le maximum de deux réels.
 
apfloat abs (apfloat a)
 Retourne la valeur absolue d'un réel.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isNearlyEqual (const _Type &a, const _Type &b)
 Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalente à IsEqual(). Dans le cas de types réels, les deux nombres sont considérés comme égaux si et seulement si la valeur absolue de leur différence relative est inférieure à un epsilon donné. Cet epsilon est égal à float_info<_Type>::nearlyEpsilon().
 
constexpr ARCCORE_HOST_DEVICE bool isNearlyEqual (Real a, Real b)
 Surcharge pour les reels.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isNearlyEqualWithEpsilon (const _Type &a, const _Type &b, const _Type &epsilon)
 Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalente à IsEqual(). Dans le cas de types réels, les deux nombres sont considérés comme égaux si et seulement si la valeur absolue de leur différence relative est inférieure à epsilon.
 
ARCCORE_HOST_DEVICE constexpr bool isNearlyEqualWithEpsilon (Real a, Real b, Real epsilon)
 Surcharge pour les reels.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isEqual (const _Type &a, const _Type &b)
 Teste l'égalité bit à bit entre deux valeurs.
 
ARCCORE_HOST_DEVICE constexpr bool isEqual (Real a, Real b)
 Surcharge pour les reels.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isNearlyZeroWithEpsilon (const _Type &a, const _Type &epsilon)
 Teste si une valeur est à peu près égale à zéro à un epsilon près.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isNearlyZero (const _Type &a)
 Teste si une valeur est à peu près égale à zéro à l'epsilon standard près.
 
template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool isZero (const _Type &a)
 Teste si une valeur est exactement égale à zéro.
 

Description détaillée

Espace de nom pour les fonctions mathématiques.

Cet espace de nom contient toutes les fonctions mathématiques utilisées par le code.

Documentation des fonctions

◆ abs() [1/2]

SimdReal Arcane::math::abs ( const SimdReal2 sr)
inline

Définition à la ligne 76 du fichier SimdMathUtils.h.

◆ abs() [2/2]

SimdReal Arcane::math::abs ( const SimdReal3 sr)
inline

Définition à la ligne 64 du fichier SimdMathUtils.h.

◆ add() [1/2]

template<typename T >
void Arcane::math::add ( ArrayView< T >  lhs,
ArrayView< T >  copy_array 
)
inline

Ajoute le tableau copy_array dans l'instance.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 904 du fichier MathUtils.h.

◆ add() [2/2]

template<typename T >
void Arcane::math::add ( ArrayView< T >  lhs,
ConstArrayView< T >  copy_array 
)
inline

Ajoute le tableau copy_array dans l'instance.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 885 du fichier MathUtils.h.

◆ cross()

SimdReal3 Arcane::math::cross ( const SimdReal3 u,
const SimdReal3 v 
)
inline

Produit vectoriel de u par v dans \(R^3\).

Définition à la ligne 32 du fichier SimdMathUtils.h.

◆ cross2D()

SimdReal Arcane::math::cross2D ( const SimdReal3 u,
const SimdReal3 v 
)
inline

Produit vectoriel de u par v dans \(R^2\).

Définition à la ligne 45 du fichier SimdMathUtils.h.

◆ crossProduct3()

Real3 Arcane::math::crossProduct3 ( Real3  v1,
Real3  v2 
)
inline

Produit vectoriel de deux vecteurs à 3 composantes.

Obsolète:
Utiliser cross() à la place.

Définition à la ligne 706 du fichier MathUtils.h.

Références Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.

◆ divide()

Real Arcane::math::divide ( Real  a,
Real  b 
)

Définition à la ligne 32 du fichier AMG.cc.

◆ dot() [1/2]

SimdReal Arcane::math::dot ( const SimdReal2 u,
const SimdReal2 v 
)
inline

Définition à la ligne 57 du fichier SimdMathUtils.h.

◆ dot() [2/2]

SimdReal Arcane::math::dot ( const SimdReal3 u,
const SimdReal3 v 
)
inline

Définition à la ligne 51 du fichier SimdMathUtils.h.

◆ doubleContraction() [1/2]

ARCCORE_HOST_DEVICE Real Arcane::math::doubleContraction ( const Real2x2 u,
const Real2x2 v 
)
inline

} U_{i,j}V_{i,j}

Définition à la ligne 314 du fichier MathUtils.h.

Références Arcane::Real2POD::x, Arcane::Real2x2::x, Arcane::Real2POD::y, et Arcane::Real2x2::y.

◆ doubleContraction() [2/2]

ARCCORE_HOST_DEVICE Real Arcane::math::doubleContraction ( const Real3x3 u,
const Real3x3 v 
)
inline

} U_{i,j}V_{i,j}

Définition à la ligne 288 du fichier MathUtils.h.

Références Arcane::Real3POD::x, Arcane::Real3x3::x, Arcane::Real3POD::y, Arcane::Real3x3::y, Arcane::Real3POD::z, et Arcane::Real3x3::z.

◆ exp() [1/3]

apfloat Arcane::math::exp ( apfloat  v)
inline

Exponentielle de v.

Définition à la ligne 54 du fichier MathApfloat.h.

◆ exp() [2/3]

ARCCORE_HOST_DEVICE double Arcane::math::exp ( double  v)
inline

Exponentielle de v.

Définition à la ligne 116 du fichier Math.h.

◆ exp() [3/3]

ARCCORE_HOST_DEVICE long double Arcane::math::exp ( long double  v)
inline

Exponentielle de v.

Définition à la ligne 124 du fichier Math.h.

◆ floor() [1/3]

apfloat Arcane::math::floor ( apfloat  v)
inline

Arondir v à l'entier immédiatement inférieur.

Définition à la ligne 43 du fichier MathApfloat.h.

◆ floor() [2/3]

ARCCORE_HOST_DEVICE double Arcane::math::floor ( double  v)
inline

Arondir v à l'entier immédiatement inférieur.

Définition à la ligne 96 du fichier Math.h.

Référencé par pow(), pow(), et pow().

◆ floor() [3/3]

ARCCORE_HOST_DEVICE long double Arcane::math::floor ( long double  v)
inline

Arondir v à l'entier immédiatement inférieur.

Définition à la ligne 105 du fichier Math.h.

◆ inverseMatrix() [1/2]

ARCCORE_HOST_DEVICE Real3x3 Arcane::math::inverseMatrix ( const Real3x3 m)
inline

Calcul de l'inverse d'une matrice m.

Définition à la ligne 692 du fichier MathUtils.h.

Références Arcane::Real3x3::determinant(), et inverseMatrix().

◆ inverseMatrix() [2/2]

ARCCORE_HOST_DEVICE Real3x3 Arcane::math::inverseMatrix ( const Real3x3 m,
Real  d 
)
inline

Calcul de l'inverse d'une matrice m en supposant connu son déterminant d.

Définition à la ligne 677 du fichier MathUtils.h.

Références Arcane::Real3POD::x, Arcane::Real3x3::x, Arcane::Real3POD::y, Arcane::Real3x3::y, Arcane::Real3POD::z, et Arcane::Real3x3::z.

Référencé par inverseMatrix().

◆ isEqual() [1/2]

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isEqual ( const _Type &  a,
const _Type &  b 
)
inlineconstexpr

Teste l'égalité bit à bit entre deux valeurs.

Valeurs retournées
truesi les deux valeurs sont égales,
falsesinon.

Définition à la ligne 253 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isEqual().

Référencé par Arcane::Real3Proxy::_eq(), Arcane::NumVector< T, Size >::_eq(), Arcane::CaseTable::_findValue(), et Arcane::VariableRefScalarT< DataType >::isEqual().

◆ isEqual() [2/2]

ARCCORE_HOST_DEVICE constexpr bool Arcane::math::isEqual ( Real  a,
Real  b 
)
inlineconstexpr

Surcharge pour les reels.

Définition à la ligne 260 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isEqual().

◆ isNearlyEqual() [1/2]

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isNearlyEqual ( const _Type &  a,
const _Type &  b 
)
inlineconstexpr

Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalente à IsEqual(). Dans le cas de types réels, les deux nombres sont considérés comme égaux si et seulement si la valeur absolue de leur différence relative est inférieure à un epsilon donné. Cet epsilon est égal à float_info<_Type>::nearlyEpsilon().

Valeurs retournées
truesi les deux valeurs sont égales,
falsesinon.

Définition à la ligne 212 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isNearlyEqual().

Référencé par Arcane::MshParallelMeshReader::_computeNodesPartition(), Arcane::SimpleGridMeshPartitioner::_findPart(), Arcane::SimpleTableInternalComparator::compare(), Arcane::SimpleTableInternalComparator::compareElem(), et Arcane::VariableRefScalarT< DataType >::isNearlyEqual().

◆ isNearlyEqual() [2/2]

constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isNearlyEqual ( Real  a,
Real  b 
)
inlineconstexpr

Surcharge pour les reels.

Définition à la ligne 219 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isNearlyEqual().

◆ isNearlyEqualWithEpsilon() [1/2]

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isNearlyEqualWithEpsilon ( const _Type &  a,
const _Type &  b,
const _Type &  epsilon 
)
inlineconstexpr

Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalente à IsEqual(). Dans le cas de types réels, les deux nombres sont considérés comme égaux si et seulement si la valeur absolue de leur différence relative est inférieure à epsilon.

Valeurs retournées
truesi les deux valeurs sont égales,
falsesinon.

Définition à la ligne 235 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isNearlyEqualWithEpsilon().

Référencé par Arcane::SimpleTableInternalComparator::compare(), et Arcane::SimpleTableInternalComparator::compareElem().

◆ isNearlyEqualWithEpsilon() [2/2]

ARCCORE_HOST_DEVICE constexpr bool Arcane::math::isNearlyEqualWithEpsilon ( Real  a,
Real  b,
Real  epsilon 
)
inlineconstexpr

Surcharge pour les reels.

Définition à la ligne 242 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isNearlyEqualWithEpsilon().

◆ isNearlyId()

bool Arcane::math::isNearlyId ( Real3x3  m,
Real  epsilon = 1.e-10 
)
inline

Vérifie qu'une matrice vaut bien la matrice identité.

Définition à la ligne 822 du fichier MathUtils.h.

◆ isNearlyZero() [1/2]

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isNearlyZero ( const _Type &  a)
inlineconstexpr

Teste si une valeur est à peu près égale à zéro à l'epsilon standard près.

L'epsilon standard est celui retourné par FloatInfo<_Type>::nearlyEpsilon().

Voir également
isNearlyZero(const _Type& a,const _Type& epsilon).

Définition à la ligne 289 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isNearlyZero().

◆ isNearlyZero() [2/2]

template<class _Type >
bool Arcane::math::isNearlyZero ( const BuiltInProxy< _Type > &  a)
inlineprivate

Définition à la ligne 154 du fichier BuiltInProxy.h.

◆ isNearlyZeroWithEpsilon()

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isNearlyZeroWithEpsilon ( const _Type &  a,
const _Type &  epsilon 
)
inlineconstexpr

Teste si une valeur est à peu près égale à zéro à un epsilon près.

Pour les types entiers, cette fonction est équivalente à IsZero(). Dans le cas de types réels, la valeur est considérée comme égale à zéro si et seulement si sa valeur absolue est inférieure à un epsilon donné par la fonction float_info<_Type>::nearlyEpsilon().

Valeurs retournées
truesi les deux valeurs sont égales,
falsesinon.

Définition à la ligne 276 du fichier Numeric.h.

◆ isZero() [1/2]

template<class _Type >
constexpr ARCCORE_HOST_DEVICE bool Arcane::math::isZero ( const _Type &  a)
inlineconstexpr

Teste si une valeur est exactement égale à zéro.

Valeurs retournées
truesi vaut zéro,
falsesinon.

Définition à la ligne 300 du fichier Numeric.h.

Références Arcane::TypeEqualT< T >::isZero().

◆ isZero() [2/2]

template<class _Type >
bool Arcane::math::isZero ( const BuiltInProxy< _Type > &  a)
inlineprivate

◆ log() [1/3]

apfloat Arcane::math::log ( apfloat  v)
inline

Logarithme népérien de v.

Définition à la ligne 30 du fichier MathApfloat.h.

Références Arcane::arcaneMathError(), et Arcane::Convert::toDouble().

◆ log() [2/3]

ARCCORE_HOST_DEVICE double Arcane::math::log ( double  v)
inline

Logarithme népérien de v.

Définition à la ligne 40 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ log() [3/3]

ARCCORE_HOST_DEVICE long double Arcane::math::log ( long double  v)
inline

Logarithme népérien de v.

Définition à la ligne 53 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ log10() [1/2]

ARCCORE_HOST_DEVICE double Arcane::math::log10 ( double  v)
inline

Logarithme décimal de v.

Définition à la ligne 68 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ log10() [2/2]

ARCCORE_HOST_DEVICE long double Arcane::math::log10 ( long double  v)
inline

Logarithme décimal de v.

Définition à la ligne 81 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ matDet()

ARCCORE_HOST_DEVICE Real Arcane::math::matDet ( Real3  u,
Real3  v,
Real3  w 
)
inline

Déterminant de la matrice u,v,w.

Définition à la ligne 170 du fichier MathUtils.h.

Références Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.

◆ matrix3x3Id()

ARCCORE_HOST_DEVICE Real3x3 Arcane::math::matrix3x3Id ( )
inline

Matrice identite.

Définition à la ligne 664 du fichier MathUtils.h.

◆ matrix3x3Prod()

Real3x3 Arcane::math::matrix3x3Prod ( Real3x3  m1,
Real3x3  m2 
)
inline

Multiplication de 2 matrices 3x3.

Avertissement
Cette méthode n'utilise pas la convention habituelle des Real3x3. Elle suppose qu'ils sont rangés en colonne. En général, il faut utiliser matrixProduct() à la place.

Définition à la ligne 788 du fichier MathUtils.h.

Références Arcane::Real3x3::fromColumns().

◆ matrixDeterminant()

ARCCORE_HOST_DEVICE Real Arcane::math::matrixDeterminant ( Real3x3  m)
inline

Calcul du déterminant d'une matrice 3x3.

Définition à la ligne 640 du fichier MathUtils.h.

Références Arcane::Real3x3::determinant().

◆ max4Real()

ARCCORE_HOST_DEVICE Real Arcane::math::max4Real ( Real  a,
Real  b,
Real  c,
Real  d 
)
inline

retourne le max de quatre Real

Définition à la ligne 457 du fichier MathUtils.h.

Références max().

Référencé par max8Real(), et minMod().

◆ max8Real()

Real Arcane::math::max8Real ( const Real  a[8])
inline

retourne le max de huit Real

Définition à la ligne 478 du fichier MathUtils.h.

Références max(), et max4Real().

◆ min4Real()

ARCCORE_HOST_DEVICE Real Arcane::math::min4Real ( Real  a,
Real  b,
Real  c,
Real  d 
)
inline

retourne le min de quatre Real

Définition à la ligne 446 du fichier MathUtils.h.

Références min().

Référencé par min8Real(), et minMod().

◆ min8Real()

ARCCORE_HOST_DEVICE Real Arcane::math::min8Real ( const Real  a[8])
inline

retourne le min de huit Real

Définition à la ligne 468 du fichier MathUtils.h.

Références min(), et min4Real().

◆ mixteMul()

SimdReal Arcane::math::mixteMul ( const SimdReal3 u,
const SimdReal3 v,
const SimdReal3 w 
)
inline

Produit mixte de u, v et w.

Définition à la ligne 112 du fichier SimdMathUtils.h.

Références cross(), et dot().

◆ mult() [1/3]

template<typename T >
void Arcane::math::mult ( ArrayView< T >  lhs,
ArrayView< T >  copy_array 
)
inline

Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 984 du fichier MathUtils.h.

Références mult().

◆ mult() [2/3]

template<typename T >
void Arcane::math::mult ( ArrayView< T >  lhs,
ConstArrayView< T >  copy_array 
)
inline

Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 963 du fichier MathUtils.h.

Référencé par mult().

◆ mult() [3/3]

template<typename T >
void Arcane::math::mult ( ArrayView< T >  lhs,
o 
)
inline

Multiplie tous les éléments du tableau par le réel o.

Définition à la ligne 993 du fichier MathUtils.h.

◆ multiply()

ARCCORE_HOST_DEVICE Real3 Arcane::math::multiply ( const Real3x3 m,
Real3  v 
)
inline

Produit matrice 3x3 . vecteur.

Définition à la ligne 809 du fichier MathUtils.h.

Références Arcane::Real3POD::x, Arcane::Real3x3::x, Arcane::Real3POD::y, Arcane::Real3x3::y, Arcane::Real3POD::z, et Arcane::Real3x3::z.

◆ normeR3()

Real Arcane::math::normeR3 ( Real3  v1)
inline

◆ normL2() [1/2]

SimdReal Arcane::math::normL2 ( const SimdReal2 sr)
inline

Définition à la ligne 98 du fichier SimdMathUtils.h.

◆ normL2() [2/2]

SimdReal Arcane::math::normL2 ( const SimdReal3 sr)
inline

Définition à la ligne 87 du fichier SimdMathUtils.h.

◆ pow() [1/5]

apfloat Arcane::math::pow ( apfloat  x,
apfloat  y 
)
inline

Fonction puissance.

Calcul x à la puissance y.

Précondition
x>=0 ou y entier

Définition à la ligne 84 du fichier MathApfloat.h.

Références Arcane::arcaneMathError(), floor(), et Arcane::Convert::toDouble().

◆ pow() [2/5]

ARCCORE_HOST_DEVICE double Arcane::math::pow ( double  x,
double  y 
)
inline

Fonction puissance.

Calcul x à la puissance y.

Précondition
x>=0 ou y entier

Définition à la ligne 166 du fichier Math.h.

Références Arcane::arcaneMathError(), et floor().

Référencé par power().

◆ pow() [3/5]

ARCCORE_HOST_DEVICE long double Arcane::math::pow ( double  x,
long double  y 
)
inline

Fonction puissance.

Calcul x à la puissance y.

Précondition
x>=0 ou y entier

Définition à la ligne 202 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ pow() [4/5]

ARCCORE_HOST_DEVICE long double Arcane::math::pow ( long double  x,
double  y 
)
inline

Fonction puissance.

Calcul x à la puissance y.

Précondition
x>=0 ou y entier

Définition à la ligne 219 du fichier Math.h.

Références Arcane::arcaneMathError(), et floor().

◆ pow() [5/5]

ARCCORE_HOST_DEVICE long double Arcane::math::pow ( long double  x,
long double  y 
)
inline

Fonction puissance.

Calcul x à la puissance y.

Précondition
x>=0 ou y entier

Définition à la ligne 185 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ power()

template<typename T >
void Arcane::math::power ( ArrayView< T >  lhs,
o 
)
inline

Met à la puissance o tous les éléments du tableau.

Définition à la ligne 1004 du fichier MathUtils.h.

Références pow().

◆ prodTens()

SimdReal3x3 Arcane::math::prodTens ( const SimdReal3 u,
const SimdReal3 v 
)
inline

Définition à la ligne 121 du fichier SimdMathUtils.h.

◆ prodTensVec()

ARCCORE_HOST_DEVICE Real2 Arcane::math::prodTensVec ( Real2x2  t,
Real2  v 
)
inline

Définition à la ligne 212 du fichier MathUtils.h.

◆ relativeError() [1/2]

Real Arcane::math::relativeError ( const Real3x3 T1,
const Real3x3 T2 
)
inline

Retourne l'erreur relative entre deux tenseurs T1 et T2.

L'erreur relative est calculée comme le max des erreurs relatives sur chacune des composantes des tenseurs.

Définition à la ligne 549 du fichier MathUtils.h.

Références max(), et relativeError().

◆ relativeError() [2/2]

Real Arcane::math::relativeError ( Real  a,
Real  b 
)
inline

Retourne l'erreur relative entre deux scalaires a et b.

L'erreur relative est calculée par :

\(\frac{a-b}{|a|+|b|}\)

Définition à la ligne 533 du fichier MathUtils.h.

Références isZero().

Référencé par relativeError().

◆ relativeError1()

Real Arcane::math::relativeError1 ( Real  a,
Real  b 
)
inline

Retourne l'erreur relative entre deux scalaires a et b relativement à a.

L'erreur relative est calculée par :

\(\frac{a-b}{(|b|)}\)

Définition à la ligne 591 du fichier MathUtils.h.

Références isZero().

◆ relativeError2()

Real Arcane::math::relativeError2 ( Real  a,
Real  b 
)
inline

Retourne l'erreur relative entre deux scalaires a et b relativement à b.

L'erreur relative est calculée par :

\(\frac{a-b}{(|b|)}\)

Définition à la ligne 575 du fichier MathUtils.h.

Références isZero().

◆ searchExtrema()

bool Arcane::math::searchExtrema ( ConstArrayView< Real2 array,
Real &  xmin,
Real &  xmax,
Real &  ymin,
Real &  ymax,
bool  need_init 
)
inline

Recherche les valeurs extrèmes d'un tableau de couple (x,y).

Définition à la ligne 603 du fichier MathUtils.h.

◆ sqrt() [1/3]

apfloat Arcane::math::sqrt ( apfloat  v)
inline

Racine carrée de v.

Définition à la ligne 65 du fichier MathApfloat.h.

Références Arcane::arcaneMathError(), et Arcane::Convert::toDouble().

◆ sqrt() [2/3]

ARCCORE_HOST_DEVICE double Arcane::math::sqrt ( double  v)
inline

Racine carrée de v.

Définition à la ligne 135 du fichier Math.h.

Références Arcane::arcaneMathError().

Référencé par Arcane::Real3Proxy::_sqrt(), Arcane::NumVector< T, Size >::_sqrt(), normalizeReal3(), et normeR3().

◆ sqrt() [3/3]

ARCCORE_HOST_DEVICE long double Arcane::math::sqrt ( long double  v)
inline

Racine carrée de v.

Définition à la ligne 147 du fichier Math.h.

Références Arcane::arcaneMathError().

◆ sub() [1/2]

template<typename T >
void Arcane::math::sub ( ArrayView< T >  lhs,
ArrayView< T >  copy_array 
)
inline

Soustrait le tableau copy_array de l'instance.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 942 du fichier MathUtils.h.

◆ sub() [2/2]

template<typename T >
void Arcane::math::sub ( ArrayView< T >  lhs,
ConstArrayView< T >  copy_array 
)
inline

Soustrait le tableau copy_array de l'instance.

Comme aucune allocation mémoire n'est effectuée, le nombre d'éléments de copy_array doit être inférieur ou égal au nombre d'éléments courant. S'il est inférieur, les éléments du tableau courant situés à la fin du tableau sont inchangés

Définition à la ligne 923 du fichier MathUtils.h.

◆ transpose()

ARCCORE_HOST_DEVICE Real3x3 Arcane::math::transpose ( const Real3x3 t)
inline

Transpose la matrice.

Obsolète:
Utiliser matrixTranspose() à la place.

Définition à la ligne 258 du fichier MathUtils.h.

◆ truncateDouble() [1/2]

void Arcane::math::truncateDouble ( ArrayView< double values,
Integer  nb_digit 
)
extern

Tronque la précision du tableau de réels values à nb_digit chiffres significatifs.

En sortie, chaque élément de values est modifié comme après appel à truncateDouble(double v,Integer nb_digit).

Définition à la ligne 86 du fichier Math.cc.

◆ truncateDouble() [2/2]

double Arcane::math::truncateDouble ( double  v,
Integer  nb_digit 
)
extern

Tronque la précision du réel v à nb_digit chiffres significatifs.

Pour un réel double précision en IEEE 754, le nombre de bits significatif est de 15 ou 16 suivant la valeur. Il est à noter qu'il n'est possible de manière simple et rapide de tronquer la précision à une valeur donnée. C'est pourquoi nb_digit représente un nombre de chiffre approximatif. Notamment, il n'est pas possible de descendre en dessous de 8 chiffres significatifs.

Si nb_digit est inférieur ou égal à zéro ou supérieur à 15, c'est la valeur v qui est retourné.

Définition à la ligne 77 du fichier Math.cc.