Changeset 1103 in Sophya for trunk/SophyaLib/TArray/tmatrix.h


Ignore:
Timestamp:
Jul 27, 2000, 2:00:10 AM (25 years ago)
Author:
ansari
Message:

Suite operations entre matrices de <> MemOrg, Amelioration des Sequences - Reza 27/7/2000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/TArray/tmatrix.h

    r1099 r1103  
    8282
    8383  // = : fill matrix with a Sequence \b seq
    84   inline  TMatrix<T>&  operator = (Sequence seq)    { SetSeq(seq); return(*this); }
     84  inline  TMatrix<T>&  operator = (Sequence const & seq)    { SetSeq(seq); return(*this); }
    8585
    8686  // Operations diverses  avec une constante
     
    137137              r*step_[marowi_] + c*step_[macoli_] ) );
    138138}
     139////////////////////////////////////////////////////////////////
     140// Surcharge d'operateurs A (+,-,*,/) (T) x
     141
     142/*! \ingroup TMatrix \fn operator+(const TMatrix<T>&,T)
     143  \brief Operator TMatrix = TMatrix + constant */
     144template <class T> inline TMatrix<T> operator + (const TMatrix<T>& a, T b)
     145    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     146    result.Add(b); return result;}
     147
     148/*! \ingroup TMatrix \fn operator+(T,const TMatrix<T>&)
     149  \brief Operator TMatrix = constant + TMatrix */
     150template <class T> inline TMatrix<T> operator + (T b,const TMatrix<T>& a)
     151    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     152    result.Add(b); return result;}
     153
     154/*! \ingroup TMatrix \fn operator-(const TMatrix<T>&,T)
     155  \brief Operator TMatrix = TMatrix - constant */
     156template <class T> inline TMatrix<T> operator - (const TMatrix<T>& a, T b)
     157    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     158    result.Sub(b); return result;}
     159
     160/*! \ingroup TMatrix \fn operator-(T,const TMatrix<T>&)
     161  \brief Operator TMatrix = constant - TMatrix */
     162template <class T> inline TMatrix<T> operator - (T b,const TMatrix<T>& a)
     163    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     164    result.Sub(b,true); return result;}
     165
     166/*! \ingroup TMatrix \fn operator*(const TMatrix<T>&,T)
     167  \brief Operator TMatrix = TMatrix * constant */
     168template <class T> inline TMatrix<T> operator * (const TMatrix<T>& a, T b)
     169    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     170    result.Mul(b); return result;}
     171
     172/*! \ingroup TMatrix \fn operator*(T,const TMatrix<T>&)
     173  \brief Operator TMatrix = constant * TMatrix */
     174template <class T> inline TMatrix<T> operator * (T b,const TMatrix<T>& a)
     175    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     176    result.Mul(b); return result;}
     177
     178/*! \ingroup TMatrix \fn operator/(const TMatrix<T>&,T)
     179  \brief Operator TMatrix = TMatrix / constant */
     180template <class T> inline TMatrix<T> operator / (const TMatrix<T>& a, T b)
     181    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     182    result.Div(b); return result;}
     183
     184/*! \ingroup TMatrix \fn operator/(T,const TMatrix<T>&)
     185  \brief Operator TMatrix = constant / TMatrix  */
     186template <class T> inline TMatrix<T> operator / (T b, const TMatrix<T>& a)
     187    {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
     188    result.Div(b, true); return result;}
     189
    139190
    140191// Surcharge d'operateurs C = A (+,-) B
Note: See TracChangeset for help on using the changeset viewer.