Changeset 970 in Sophya for trunk/SophyaLib/TArray/tmatrix.h
- Timestamp:
- Apr 26, 2000, 7:55:11 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/tmatrix.h
r967 r970 136 136 template <class T> 137 137 inline 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 139 143 140 144 /*! \ingroup TArray \fn operator-(const TMatrix<T>&,const TMatrix<T>&) … … 142 146 template <class T> 143 147 inline 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; } 145 152 146 153 // Surcharge d'operateurs C = A * B … … 148 155 \brief * : multiply matrixes \b a and \b b */ 149 156 template <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)); } 151 158 152 159 // Typedef pour simplifier et compatibilite Peida
Note:
See TracChangeset
for help on using the changeset viewer.