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


Ignore:
Timestamp:
Apr 26, 2000, 7:55:11 PM (25 years ago)
Author:
ansari
Message:

Passage des TArray en partage de donnees par defaut pour constructeur de copie - Copie pour l'operateur = , cmv+Reza 26/4/2000

File:
1 edited

Legend:

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

    r967 r970  
    136136template <class T>
    137137inline TMatrix<T> operator + (const TMatrix<T>& a,const TMatrix<T>& b)
    138     {TMatrix<T> result(a); result.SetTemp(true); result.AddElt(b); return result;}
     138    {TMatrix<T> result; result.SetTemp(true);
     139    if (b.IsTemp())  { result.Share(b); result.AddElt(a); }
     140    else { result.CloneOrShare(a); result.AddElt(b); }
     141    return result; }
     142
    139143
    140144/*! \ingroup TArray \fn operator-(const TMatrix<T>&,const TMatrix<T>&)
     
    142146template <class T>
    143147inline TMatrix<T> operator - (const TMatrix<T>& a,const TMatrix<T>& b)
    144     {TMatrix<T> result(a); result.SetTemp(true); result.SubElt(b); return result;}
     148    {TMatrix<T> result; result.SetTemp(true);
     149    if (b.IsTemp())  { result.Share(b); result.SubElt(a, true); }
     150    else { result.CloneOrShare(a); result.SubElt(b); }
     151    return result; }
    145152
    146153// Surcharge d'operateurs C = A * B
     
    148155  \brief * : multiply matrixes \b a and \b b */
    149156template <class T> inline TMatrix<T> operator * (const TMatrix<T>& a, const TMatrix<T>& b)
    150 { TMatrix<T> result(a); result.SetTemp(true); return(result.Multiply(b)); }
     157   { return(a.Multiply(b)); }
    151158
    152159// Typedef pour simplifier et compatibilite Peida
Note: See TracChangeset for help on using the changeset viewer.