12#ifndef ARCANE_UTILS_REAL2X2PROXY_H
13#define ARCANE_UTILS_REAL2X2PROXY_H
17#include "arcane/utils/Real2x2.h"
18#include "arcane/utils/Real2Proxy.h"
36 : x(value.x,info), y(value.y,info), m_value(value), m_info(info) {}
39 : x(f.x), y(f.y), m_value(f.m_value), m_info(f.m_info) {}
41 { x=f.
x; y=f.
y;
return (*
this); }
42 const Real2x2Proxy& operator=(Real2x2 f)
43 { x=f.
x; y=f.y;
return (*
this); }
46 { x = v; y = v;
return (*
this); }
66 { x = ax; y = ay;
return (*
this); }
69 { x = f.
x; y = f.
y;
return (*
this); }
97 ostream&
print(ostream& o)
const;
128 void operator/= (Real b) { x/=b; y/=b; }
154 m_info.setReadOrWrite();
164 static bool _eq(Real a,Real b)
165 {
return TypeEqualT<Real>::isEqual(a,b); }
172operator==(
const Real2x2& a,
const Real2x2Proxy& b)
174 return a==b.getValue();
177operator==(
const Real2x2Proxy& a,
const Real2x2& b)
179 return a.getValue()==b;
182operator==(
const Real2x2Proxy& a,
const Real2x2Proxy& b)
184 return a.getValue()==b.getValue();
191operator!=(
const Real2x2& a,
const Real2x2Proxy& b)
193 return a!=b.getValue();
196operator!=(
const Real2x2Proxy& a,
const Real2x2& b)
198 return a.getValue()!=b;
201operator!=(
const Real2x2Proxy& a,
const Real2x2Proxy& b)
203 return a.getValue()!=b.getValue();
Classe gérant un vecteur de réel de dimension 2.
RealProxy x
première composante du couple
bool isNearlyZero() const
Compare le couple avec le couple nul.
Classe gérant un vecteur de réel de dimension 2.
Real2x2 operator-(Real2x2 b) const
Créé un couple qui vaut b soustrait de ce couple.
Real2x2Proxy & divSame(Real2 b)
Divise chaque composante du couple par b.
ostream & print(ostream &o) const
Ecrit le couple sur le flot o lisible par un assign()
Real2x2Proxy & add(Real2x2 b)
Ajoute b au couple.
bool isNearlyZero() const
Compare la matrice avec la matrice nulle.
void operator*=(Real b)
Multiple chaque composante du couple par la composant correspondant de b.
Real2x2Proxy & assign(Real2x2Proxy f)
Copie le couple f.
Real2x2Proxy(const Real2x2Proxy &f)
Construit un couple identique à f.
Real2x2Proxy & mulSame(Real2 b)
Multiplie chaque composante du couple par b.
Real2x2 operator-() const
Créé un tenseur opposé au tenseur actuel.
Real2x2Proxy & operator+=(Real2x2 b)
Ajoute b au couple.
Real2x2Proxy & subSame(Real2 b)
Soustrait b à chaque composante du couple.
Real2x2Proxy(Real2x2 &value, const MemoryAccessInfo &info)
Construit le couple (ax,ay)
Real2x2 operator+(Real2x2 b) const
Créé un couple qui vaut ce couple ajouté à b.
Real2x2Proxy & addSame(Real2 b)
Ajoute b à chaque composante du couple.
const Real2x2Proxy & operator=(Real v)
Affecte à l'instance le couple (v,v,v).
Real2x2Proxy & operator-=(Real2x2 b)
Soustrait b au couple.
Real2x2Proxy & div(Real2x2 b)
Multiple chaque composante du couple par la composant correspondant de b.
const Real2x2 & getValue() const
Créé un couple qui vaut ce couple dont chaque composant a été multipliée par la composante correspond...
Real2Proxy x
Première composante.
istream & assign(istream &i)
Lit la matrice sur le flot i La matrice est lue sous la forme de trois Real2.
Real2x2Proxy & assign(Real2 ax, Real2 ay)
Affecte à l'instance le couple (ax,ay,az)
Real2Proxy y
Deuxième composante.
Real2x2Proxy & reset()
Réinitialise le couple avec les constructeurs par défaut.
Real2x2Proxy & sub(Real2x2 b)
Soustrait b au couple.
Real2x2 copy() const
Retourne une copie du couple.
ostream & printXy(ostream &o) const
Ecrit le couple sur le flot o sous la forme (x,y,z)
Classe gérant une matrice de réel de dimension 2x2.
Real2 x
Première composante.
Real2 y
Deuxième composante.
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication par un scalaire.
bool operator<(const Item &item1, const Item &item2)
Compare deux entités.
Real2 operator/(const Real2Proxy &vec, Real sca)
Division par un scalaire.