Changeset 2564 in Sophya for trunk/SophyaLib/TArray/tmatrix.h
- Timestamp:
- Jul 26, 2004, 7:30:40 PM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/tmatrix.h
r2421 r2564 93 93 inline TMatrix<T>& operator = (T x) { SetT(x); return(*this); } 94 94 //! += : 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); } 96 96 //! -= : 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); } 98 98 //! *= : 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); } 100 100 //! /= : 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); } 102 102 103 103 // operations avec matrices … … 149 149 \brief Operator TMatrix = TMatrix + constant */ 150 150 template <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;} 153 153 154 154 /*! \ingroup TMatrix \fn operator+(T,const TMatrix<T>&) 155 155 \brief Operator TMatrix = constant + TMatrix */ 156 156 template <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;} 159 159 160 160 /*! \ingroup TMatrix \fn operator-(const TMatrix<T>&,T) 161 161 \brief Operator TMatrix = TMatrix - constant */ 162 162 template <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;} 165 165 166 166 /*! \ingroup TMatrix \fn operator-(T,const TMatrix<T>&) 167 167 \brief Operator TMatrix = constant - TMatrix */ 168 168 template <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;} 171 171 172 172 /*! \ingroup TMatrix \fn operator*(const TMatrix<T>&,T) 173 173 \brief Operator TMatrix = TMatrix * constant */ 174 174 template <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;} 177 177 178 178 /*! \ingroup TMatrix \fn operator*(T,const TMatrix<T>&) 179 179 \brief Operator TMatrix = constant * TMatrix */ 180 180 template <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;} 183 183 184 184 /*! \ingroup TMatrix \fn operator/(const TMatrix<T>&,T) 185 185 \brief Operator TMatrix = TMatrix / constant */ 186 186 template <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;} 189 189 190 190 /*! \ingroup TMatrix \fn operator/(T,const TMatrix<T>&) 191 191 \brief Operator TMatrix = constant / TMatrix */ 192 192 template <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;} 195 195 196 196 ////////////////////////////////////////////////////////////////
Note:
See TracChangeset
for help on using the changeset viewer.