13#ifndef ARCCORE_BASE_MATHNUMERIC_H
14#define ARCCORE_BASE_MATHNUMERIC_H
18#include "arccore/base/NumVector.h"
19#include "arccore/base/NumMatrix.h"
21#include "arccore/base/MathReal2.h"
22#include "arccore/base/MathReal3.h"
23#include "arccore/base/MathReal2x2.h"
24#include "arccore/base/MathReal3x3.h"
42template <
typename DataType,
int Size>
constexpr ARCCORE_HOST_DEVICE
bool
45 bool is_nearly_zero =
true;
46 for (
int i = 0; i < Size; ++i)
47 is_nearly_zero = is_nearly_zero && math::isNearlyZero(v[i]);
48 return is_nearly_zero;
64template <
typename DataType,
int RowSize,
int ColumnSize>
constexpr ARCCORE_HOST_DEVICE
bool
67 bool is_nearly_zero =
true;
68 for (
int i = 0; i < RowSize; ++i)
69 is_nearly_zero = is_nearly_zero && math::isNearlyZero(v.row(i));
70 return is_nearly_zero;
77template <
typename DataType,
int Size>
constexpr ARCCORE_HOST_DEVICE DataType
81 for (
int i = 0; i < Size; ++i)
90template <
typename DataType,
int Size> ARCCORE_HOST_DEVICE
Real
Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.
Petit vecteur de taille fixe de points de données numériques de taille Size.
Espace de nom pour les fonctions mathématiques.
constexpr __host__ __device__ DataType squareNormL2(const NumVector< DataType, Size > &v)
Retourne le carré de la norme L2 du vecteur.
apfloat sqrt(apfloat v)
Racine carrée de v.
double Real
Type représentant un réel.