Changeset 2575 in Sophya for trunk/SophyaLib/TArray/tvector.cc


Ignore:
Timestamp:
Jul 29, 2004, 2:31:16 PM (21 years ago)
Author:
ansari
Message:

1/ Remplacement des methodes Add/Sub/Mul/DivElt(a) par

Add/Sub/Mul/DivElt(TArray a, TArray res)

2/ Operateurs += -= A+B A-B TArray et TMatrix/TVecteur modifies en consequence
3/ Ajout methode TArray::ScalarProduct()
4/ Methode TArray::SetT renomme en SetCst() SetT garde en alias
5/ Ajout parametre bool fzero (mise a zero) ajoute ds constructeur et

ReSize() de TMatrix et TVecteur.

Reza 29/07/2004

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/TArray/tvector.cc

    r2267 r2575  
    1 // $Id: tvector.cc,v 1.15 2002-11-15 09:35:44 ansari Exp $
     1// $Id: tvector.cc,v 1.16 2004-07-29 12:31:16 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "machdefs.h"
     
    5252  \param lcv : line or column vector ?
    5353  \param mm : memory mapping type
     54  \param fzero : if \b true , set vector elements to zero
    5455  \sa SelectVectorType
    5556 */
    5657template <class T>
    57 TVector<T>::TVector(sa_size_t n, short lcv, short mm)
     58TVector<T>::TVector(sa_size_t n, short lcv, short mm, bool fzero)
    5859// Constructeur
    59   : TMatrix<T>(1,1,mm)
     60  : TMatrix<T>(1,1,mm,false)
    6061{
    6162  arrtype_ = 2;   // Type = Vector
    6263  lcv = SelectVectorType(lcv);
    63   ReSize(n,lcv);
     64  ReSize(n,lcv,fzero);
    6465}
    6566
     
    145146 */
    146147template <class T>
    147 void TVector<T>::ReSize(sa_size_t n, short lcv)
     148void TVector<T>::ReSize(sa_size_t n, short lcv, bool fzero)
    148149{
    149150  if( n == 0 )
     
    154155  if (lcv == ColumnVector) { r = n;  c = 1; }
    155156  else { c = n; r = 1; }
    156   TMatrix<T>::ReSize(r,c);
     157  TMatrix<T>::ReSize(r,c,BaseArray::SameMemoryMapping,fzero);
    157158  veceli_ = (lcv ==  ColumnVector ) ?  marowi_ : macoli_;
    158159}
     
    191192  TVector sv( mtx(rr, cr) , true, GetVectorType(), GetMemoryMapping() );
    192193  return(sv); 
    193 }
    194 
    195 //! Return the norm \f$ \sum{V(i)^2} \f$
    196 template <class T>
    197 T TVector<T>::Norm2() const
    198 {
    199   T ret = 0;
    200   for(sa_size_t k=0; k<Size(); k++)   ret += (*this)(k)*(*this)(k);
    201   return ret;
    202194}
    203195
Note: See TracChangeset for help on using the changeset viewer.