12#ifndef ARCANE_UTILS_REAL2X2_H
13#define ARCANE_UTILS_REAL2X2_H
17#include "arcane/utils/Real2.h"
82 constexpr ARCCORE_HOST_DEVICE
explicit Real2x2(Real v)
121 constexpr ARCCORE_HOST_DEVICE
Real2x2 copy()
const {
return (*
this); }
161 std::istream& assign(std::istream& i);
163 std::ostream& print(std::ostream& o)
const;
165 std::ostream& printXy(std::ostream& o)
const;
253 return (x ==
b.x) && (y ==
b.y);
263 return !operator==(
b);
272 ARCCORE_CHECK_AT(i, 2);
282 ARCCORE_CHECK_AT(i, 2);
293 ARCCORE_CHECK_AT(i, 2);
294 ARCCORE_CHECK_AT(
j, 2);
304 ARCCORE_CHECK_AT(i, 2);
314 ARCCORE_CHECK_AT(i, 2);
325 ARCCORE_CHECK_AT(i, 2);
326 ARCCORE_CHECK_AT(
j, 2);
373 return (v1.
x < v2.
x);
383 constexpr ARCCORE_HOST_DEVICE
static bool _eq(Real a, Real
b)
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe gérant un vecteur de réel de dimension 2.
constexpr ARCCORE_HOST_DEVICE bool isNearlyZero() const
Indique si l'instance est proche de l'instance nulle.
Classe gérant une matrice de réel de dimension 2x2.
constexpr ARCCORE_HOST_DEVICE Real2x2 & operator=(Real v)
Affecte à l'instance le couple (v,v,v).
constexpr ARCCORE_HOST_DEVICE Real2x2 & mulSame(Real2 b)
Multiplie chaque composante du couple par b.
constexpr static ARCCORE_HOST_DEVICE Real2x2 null()
Construit la matrice nulle.
ARCCORE_HOST_DEVICE Real2 operator()(Integer i) const
Accès en lecture seule à la i-ème (entre 0 et 1 inclus) ligne de l'instance.
constexpr ARCCORE_HOST_DEVICE Real2x2 copy() const
Retourne une copie du couple.
constexpr ARCCORE_HOST_DEVICE Real2x2 & div(Real2x2 b)
Multiple chaque composante du couple par la composant correspondant de b.
Real2 x
Première composante.
constexpr static ARCCORE_HOST_DEVICE Real2x2 fromLines(Real ax, Real bx, Real ay, Real by)
Construit le couple ((ax,bx),(ay,by)).
ARCANE_DEPRECATED_116 Real2x2(Real ax, Real ay, Real bx, Real by)
Construit le couple ((ax,bx),(ay,by)).
Real2 y
Deuxième composante.
constexpr ARCCORE_HOST_DEVICE bool operator!=(Real2x2 b) const
Compare deux couples. Pour la notion d'égalité, voir operator==()
friend constexpr ARCCORE_HOST_DEVICE Real2x2 operator*(Real2x2 vec, Real sca)
Multiplication par un scalaire.
constexpr ARCCORE_HOST_DEVICE Real2x2 & add(Real2x2 b)
Ajoute b au couple.
ARCCORE_HOST_DEVICE Real & operator()(Integer i, Integer j)
Accès à la i-ème ligne et j-ème colonne.
constexpr ARCCORE_HOST_DEVICE bool isNearlyZero() const
Compare la matrice avec la matrice nulle.
friend constexpr ARCCORE_HOST_DEVICE bool operator<(Real2x2 v1, Real2x2 v2)
Opérateur de comparaison.
constexpr ARCCORE_HOST_DEVICE Real2x2 & assign(Real2 ax, Real2 ay)
Affecte à l'instance le couple (ax,ay,az)
constexpr ARCCORE_HOST_DEVICE Real2x2(Real v)
Construit l'instance avec le triplet (v,v,v).
constexpr ARCCORE_HOST_DEVICE Real2x2(const Real2x2POD &f)
Construit un couple identique à f.
constexpr ARCCORE_HOST_DEVICE void operator/=(Real b)
Divise chaque composante du couple par la composant correspondant de b.
friend std::istream & operator>>(std::istream &i, Real2x2 &t)
Lit le couple t à partir du flot o.
ARCCORE_HOST_DEVICE Real operator()(Integer i, Integer j) const
Accès en lecture seule à la i-ème ligne et j-ème colonne.
constexpr ARCCORE_HOST_DEVICE Real2x2 & addSame(Real2 b)
Ajoute b à chaque composante du couple.
Real2x2(const Real2x2 &f)=default
Construit un couple identique à f.
constexpr static ARCCORE_HOST_DEVICE bool _eq(Real a, Real b)
Compare les valeurs de a et b avec le comparateur TypeEqualT.
constexpr ARCCORE_HOST_DEVICE Real2x2 & sub(Real2x2 b)
Soustrait b au couple.
constexpr ARCCORE_HOST_DEVICE Real2x2 & reset()
Réinitialise le couple avec les constructeurs par défaut.
constexpr ARCCORE_HOST_DEVICE Real2x2 operator-() const
Créé un tenseur opposé au tenseur actuel.
Real2x2 & operator=(const Real2x2 &f)=default
Opérateur de recopie.
constexpr ARCCORE_HOST_DEVICE Real2x2 & operator+=(Real2x2 b)
Ajoute b au couple.
constexpr ARCCORE_HOST_DEVICE Real2x2 & assign(Real2x2 f)
Copie le couple f.
constexpr static ARCCORE_HOST_DEVICE Real2x2 fromColumns(Real ax, Real ay, Real bx, Real by)
Construit le couple ((ax,bx),(ay,by)).
constexpr ARCCORE_HOST_DEVICE void operator*=(Real b)
Multiple chaque composante du couple par la composant correspondant de b.
friend constexpr ARCCORE_HOST_DEVICE Real2x2 operator*(Real sca, Real2x2 vec)
Multiplication par un scalaire.
constexpr ARCCORE_HOST_DEVICE Real2x2(Real2 ax, Real2 ay)
Construit le couple (ax,ay)
ARCCORE_HOST_DEVICE Real2 & operator()(Integer i)
Accès à la i-ème ligne (entre 0 et 1 inclus) de l'instance.
constexpr ARCCORE_HOST_DEVICE Real2x2 & divSame(Real2 b)
Divise chaque composante du couple par b.
constexpr ARCCORE_HOST_DEVICE Real2x2()
Construit la matrice nulle.
constexpr ARCCORE_HOST_DEVICE Real2x2 operator+(Real2x2 b) const
Créé un couple qui vaut ce couple ajouté à b.
ARCCORE_HOST_DEVICE Real2 operator[](Integer i) const
Accès en lecture seule à la i-ème (entre 0 et 1 inclus) ligne de l'instance.
friend constexpr ARCCORE_HOST_DEVICE Real2x2 operator/(Real2x2 vec, Real sca)
Division par un scalaire.
friend std::ostream & operator<<(std::ostream &o, Real2x2 t)
Ecrit le couple t sur le flot o.
constexpr ARCCORE_HOST_DEVICE Real2x2 & subSame(Real2 b)
Soustrait b à chaque composante du couple.
constexpr ARCCORE_HOST_DEVICE Real2x2 operator-(Real2x2 b) const
Créé un couple qui vaut b soustrait de ce couple.
constexpr ARCCORE_HOST_DEVICE Real2x2 & operator-=(Real2x2 b)
Soustrait b au couple.
ARCCORE_HOST_DEVICE Real2 & operator[](Integer i)
Accès à la i-ème ligne (entre 0 et 1 inclus) de l'instance.
constexpr ARCCORE_HOST_DEVICE bool operator==(Real2x2 b) const
Compare composant pas composante l'instance courante à b.
Opérations de comparaisons pour un type numérique T.
Espace de nom pour l'utilisation des accélérateurs.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Structure POD pour un Real2x2.