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


Ignore:
Timestamp:
Jul 26, 2004, 7:30:40 PM (21 years ago)
Author:
ansari
Message:

Remplacement methodes Add/Mul/Sub/Div(T x) par AddCst/MulCst/SubCst/DivCst(T x, TArray<T> res) ds TArray - Reza 26 Juillet 2004

File:
1 edited

Legend:

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

    r2421 r2564  
    9393  inline  TMatrix<T>&  operator = (T x)             { SetT(x); return(*this); }
    9494  //! += : add constant value \b x to matrix
    95   inline  TMatrix<T>&  operator += (T x)            { Add(x); return(*this); }
     95  inline  TMatrix<T>&  operator += (T x)            { AddCst(x,*this); return(*this); }
    9696  //! -= : substract constant value \b x to matrix
    97   inline  TMatrix<T>&  operator -= (T x)            { Sub(x); return(*this); }
     97  inline  TMatrix<T>&  operator -= (T x)            { SubCst(x,*this); return(*this); }
    9898  //! *= : multiply matrix by constant value \b x
    99   inline  TMatrix<T>&  operator *= (T x)            { Mul(x); return(*this); }
     99  inline  TMatrix<T>&  operator *= (T x)            { MulCst(x,*this); return(*this); }
    100100  //! /= : divide matrix by constant value \b x
    101   inline  TMatrix<T>&  operator /= (T x)            { Div(x); return(*this); }
     101  inline  TMatrix<T>&  operator /= (T x)            { DivCst(x,*this); return(*this); }
    102102
    103103  //  operations avec matrices
     
    149149  \brief Operator TMatrix = TMatrix + constant */
    150150template <class T> inline TMatrix<T> operator + (const TMatrix<T>& a, T b)
    151     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    152     result.Add(b); return result;}
     151    {TMatrix<T> result; result.SetTemp(true);
     152    a.AddCst(b,result); return result;}
    153153
    154154/*! \ingroup TMatrix \fn operator+(T,const TMatrix<T>&)
    155155  \brief Operator TMatrix = constant + TMatrix */
    156156template <class T> inline TMatrix<T> operator + (T b,const TMatrix<T>& a)
    157     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    158     result.Add(b); return result;}
     157    {TMatrix<T> result; result.SetTemp(true);
     158    a.AddCst(b,result); return result;}
    159159
    160160/*! \ingroup TMatrix \fn operator-(const TMatrix<T>&,T)
    161161  \brief Operator TMatrix = TMatrix - constant */
    162162template <class T> inline TMatrix<T> operator - (const TMatrix<T>& a, T b)
    163     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    164     result.Sub(b); return result;}
     163    {TMatrix<T> result; result.SetTemp(true);
     164    a.SubCst(b,result); return result;}
    165165
    166166/*! \ingroup TMatrix \fn operator-(T,const TMatrix<T>&)
    167167  \brief Operator TMatrix = constant - TMatrix */
    168168template <class T> inline TMatrix<T> operator - (T b,const TMatrix<T>& a)
    169     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    170     result.Sub(b,true); return result;}
     169    {TMatrix<T> result; result.SetTemp(true);
     170    a.SubCst(b,result,true); return result;}
    171171
    172172/*! \ingroup TMatrix \fn operator*(const TMatrix<T>&,T)
    173173  \brief Operator TMatrix = TMatrix * constant */
    174174template <class T> inline TMatrix<T> operator * (const TMatrix<T>& a, T b)
    175     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    176     result.Mul(b); return result;}
     175    {TMatrix<T> result; result.SetTemp(true);
     176    a.MulCst(b,result); return result;}
    177177
    178178/*! \ingroup TMatrix \fn operator*(T,const TMatrix<T>&)
    179179  \brief Operator TMatrix = constant * TMatrix */
    180180template <class T> inline TMatrix<T> operator * (T b,const TMatrix<T>& a)
    181     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    182     result.Mul(b); return result;}
     181    {TMatrix<T> result; result.SetTemp(true);
     182    a.MulCst(b,result); return result;}
    183183
    184184/*! \ingroup TMatrix \fn operator/(const TMatrix<T>&,T)
    185185  \brief Operator TMatrix = TMatrix / constant */
    186186template <class T> inline TMatrix<T> operator / (const TMatrix<T>& a, T b)
    187     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    188     result.Div(b); return result;}
     187    {TMatrix<T> result; result.SetTemp(true);
     188    a.DivCst(b,result); return result;}
    189189
    190190/*! \ingroup TMatrix \fn operator/(T,const TMatrix<T>&)
    191191  \brief Operator TMatrix = constant / TMatrix  */
    192192template <class T> inline TMatrix<T> operator / (T b, const TMatrix<T>& a)
    193     {TMatrix<T> result; result.CloneOrShare(a); result.SetTemp(true);
    194     result.Div(b, true); return result;}
     193    {TMatrix<T> result; result.SetTemp(true);
     194    a.Div(b,result,true); return result;}
    195195
    196196////////////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.