12#ifndef ARCCORE_BASE_MATHREAL3_H
13#define ARCCORE_BASE_MATHREAL3_H
17#include "arccore/base/Real3.h"
18#include "arccore/base/MathBase.h"
34 return v.
x * v.
x + v.
y * v.
y + v.
z * v.
z;
43 inline constexpr ARCCORE_HOST_DEVICE
bool isNearlyZero(
const Real3& v)
45 return math::isNearlyZero(v.
x) && math::isNearlyZero(v.
y) && math::isNearlyZero(v.
z);
49 inline ARCCORE_HOST_DEVICE
Real normL2(
const Real3& v)
63 Real d = math::normL2(v);
77 Real d = math::normL2(v);
93inline constexpr ARCCORE_HOST_DEVICE
bool Real3::
96 return math::isNearlyZero(*
this);
102 return math::normL2(*
this);
108 return math::normL2(*
this);
Classe gérant un vecteur réel de 3 dimensions.
__host__ __device__ Real normL2() const
Retourne la norme L2 du triplet $ .
constexpr __host__ __device__ Real3 & divSame(Real b)
Divise chaque composante du triplet par b.
__host__ __device__ Real abs() const
Retourne la norme du triplet $ .
Espace de nom pour les fonctions mathématiques.
Real2 normalizeL2(const Real2 &v)
Retourne le couple v normalisé par la norme L2.
constexpr __host__ __device__ DataType squareNormL2(const NumVector< DataType, Size > &v)
Retourne le carré de la norme L2 du vecteur.
bool isZero(const BuiltInProxy< _Type > &a)
Teste si une valeur est exactement égale à zéro.
Real2 & mutableNormalize(Real2 &v)
Normalise le couple.
apfloat sqrt(apfloat v)
Racine carrée de v.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
double Real
Type représentant un réel.
Real y
deuxième composante du triplet
Real z
troisième composante du triplet
Real x
première composante du triplet