CPPLapack
Public Member Functions | Public Attributes | Friends
dcovector_small< l > Class Template Reference

Samll Real Double-precision Column Vector Class. More...

#include <dcovector_small.hpp>

List of all members.

Public Member Functions

 dcovector_small ()
 dcovector_small (const dcovector &)
 dcovector_small (const double &)
 dcovector_small (const double &, const double &)
 dcovector_small (const double &, const double &, const double &)
 dcovector_small (const double &, const double &, const double &, const double &)
 ~dcovector_small ()
_dcovector to_dcovector () const
double & operator() (const long &)
double operator() (const long &) const
dcovector_small< l > & set (const long &, const double &)
void read (const char *filename)
void write (const char *filename) const
dcovector_small< l > & zero ()
template<long L>
dcovector_small< L > & operator= (const dcovector_small< L > &)

Public Attributes

double array [l]

Friends

template<long _l>
std::ostream & operator<< (std::ostream &, const dcovector_small< _l > &)
template<long _l>
drovector_small< _l > t (const dcovector_small< _l > &)
template<long _l>
double nrm2 (const dcovector_small< _l > &)
template<long _l>
long idamax (const dcovector_small< _l > &)
template<long _l>
double damax (const dcovector_small< _l > &)
template<long L>
dcovector_small< L > & operator+= (dcovector_small< L > &, const dcovector_small< L > &)
template<long L>
dcovector_small< L > & operator-= (dcovector_small< L > &, const dcovector_small< L > &)
template<long L>
dcovector_small< L > & operator*= (dcovector_small< L > &, const double &)
template<long L>
dcovector_small< L > & operator/= (dcovector_small< L > &, const double &)
template<long L>
const dcovector_small< L > & operator+ (const dcovector_small< L > &)
template<long L>
dcovector_small< L > operator- (const dcovector_small< L > &)
template<long L>
dcovector_small< L > operator+ (const dcovector_small< L > &, const dcovector_small< L > &)
template<long L>
dcovector_small< L > operator- (const dcovector_small< L > &, const dcovector_small< L > &)
template<long M, long N>
dgematrix_small< M, N > operator* (const dcovector_small< M > &, const drovector_small< N > &)
template<long L>
dcovector_small< L > operator* (const dcovector_small< L > &, const double &)
template<long L>
dcovector_small< L > operator/ (const dcovector_small< L > &, const double &)
template<long L>
dcovector_small< L > operator* (const double &, const dcovector_small< L > &)

Detailed Description

template<long l>
class dcovector_small< l >

Samll Real Double-precision Column Vector Class.

Definition at line 3 of file dcovector_small.hpp.


Constructor & Destructor Documentation

template<long l>
dcovector_small< l >::dcovector_small ( ) [inline]

Definition at line 4 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  ;
}
template<long l>
dcovector_small< l >::dcovector_small ( const dcovector vec) [inline, explicit]

Definition at line 12 of file dcovector_small-constructors.hpp.

References dcovector::array, and dcovector::l.

{VERBOSE_REPORT;
#ifdef  CPPL_DEBUG
  if( l!=vec.l ){
    ERROR_REPORT;
    std::cerr << "Vector sizes must be the same." << std::endl
              << "Your input was " << l << " and " << vec.l << "." << std::endl;
    exit(1);
  }
#endif//CPPL_DEBUG
  
  for(long k=0; k<l; k++){
    array[k] =vec.array[k];
  }
}
template<long l>
dcovector_small< l >::dcovector_small ( const double &  x) [inline]

Definition at line 31 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  for(long k=0; k<l; k++){
    array[k] =x;
  }
}
template<long l>
dcovector_small< l >::dcovector_small ( const double &  x,
const double &  y 
) [inline]

Definition at line 41 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  array[0] =x;
  array[1] =y;
}
template<long l>
dcovector_small< l >::dcovector_small ( const double &  x,
const double &  y,
const double &  z 
) [inline]

Definition at line 50 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  array[0] =x;
  array[1] =y;
  array[2] =z;
}
template<long l>
dcovector_small< l >::dcovector_small ( const double &  x,
const double &  y,
const double &  z,
const double &  r 
) [inline]

Definition at line 60 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  array[0] =x;
  array[1] =y;
  array[2] =z;
  array[3] =r;
}
template<long l>
dcovector_small< l >::~dcovector_small ( ) [inline]

Definition at line 75 of file dcovector_small-constructors.hpp.

{VERBOSE_REPORT;
  ;
}

Member Function Documentation

template<long l>
_dcovector dcovector_small< l >::to_dcovector ( ) const [inline]

Definition at line 4 of file dcovector_small-functions.hpp.

References _().

{VERBOSE_REPORT;
  dcovector vec(l);
  for(long k=0; k<l; k++){
    vec(k)=(*this)(k);
  }
  return _(vec);
}
template<long l>
double & dcovector_small< l >::operator() ( const long &  k) [inline]

Definition at line 20 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  return array[k];
}
template<long l>
double dcovector_small< l >::operator() ( const long &  k) const [inline]

Definition at line 28 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  return array[k];
}
template<long l>
dcovector_small< l > & dcovector_small< l >::set ( const long &  k,
const double &  v 
) [inline]

Definition at line 36 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  (*this)(k) =v;
  return *this;
}
template<long l>
void dcovector_small< l >::read ( const char *  filename) [inline]

Definition at line 75 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  std::ifstream s( filename );
  if(!s){
    ERROR_REPORT;
    std::cerr << "The file \"" << filename << "\" can not be opened." << std::endl;
    exit(1);
  }
  
  std::string id;
  s >> id;
  if( id != "dcovector" && id != "#dcovector" ){
    ERROR_REPORT;
    std::cerr << "The type name of the file \"" << filename << "\" is not dcovector." << std::endl
              << "Its type name was " << id << " ." << std::endl;
    exit(1);
  }
  
  long _l;
  s >> _l;
  if(l!=_l){
    ERROR_REPORT;
    std::cerr << "Matrix size is invalid." << std::endl;
    exit(1);
  }
  for(long k=0; k<l; k++){
    s >> (*this)(k);
  }
  if(s.eof()){
    ERROR_REPORT;
    std::cerr << "There is something is wrong with the file \"" << filename << "\"." << std::endl
              << "Most likely, there is not enough data components, or a linefeed code or space code is missing at the end of the last line." << std::endl;
    exit(1);
  }
  
  s >> id;//tmp
  if(!s.eof()){
    ERROR_REPORT;
    std::cerr << "There is something is wrong with the file \"" << filename << "\"." << std::endl
              << "Most likely, there are extra data components." << std::endl;
    exit(1);
  }
  
  s.close();    
}
template<long l>
void dcovector_small< l >::write ( const char *  filename) const [inline]

Definition at line 57 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  std::ofstream ofs(filename, std::ios::trunc);
  ofs.setf(std::cout.flags());
  ofs.precision(std::cout.precision());
  ofs.width(std::cout.width());
  ofs.fill(std::cout.fill());
  
  ofs << "#dcovector" << " " << l << std::endl;
  for(long k=0; k<l; k++){
    ofs << (*this)(k) << std::endl;
  }
  ofs.close();
}
template<long l>
dcovector_small< l > & dcovector_small< l >::zero ( ) [inline]

Definition at line 196 of file dcovector_small-functions.hpp.

{VERBOSE_REPORT;
  for(long k=0; k<l; k++){
    array[k] =0.;
  }
  return *this;
}
template<long l>
template<long L>
dcovector_small<L>& dcovector_small< l >::operator= ( const dcovector_small< L > &  ) [inline]

Friends And Related Function Documentation

template<long l>
template<long _l>
std::ostream& operator<< ( std::ostream &  ,
const dcovector_small< _l > &   
) [friend]
template<long l>
template<long _l>
drovector_small<_l> t ( const dcovector_small< _l > &  ) [friend]
template<long l>
template<long _l>
double nrm2 ( const dcovector_small< _l > &  ) [friend]
template<long l>
template<long _l>
long idamax ( const dcovector_small< _l > &  ) [friend]
template<long l>
template<long _l>
double damax ( const dcovector_small< _l > &  ) [friend]
template<long l>
template<long L>
dcovector_small<L>& operator+= ( dcovector_small< L > &  ,
const dcovector_small< L > &   
) [friend]
template<long l>
template<long L>
dcovector_small<L>& operator-= ( dcovector_small< L > &  ,
const dcovector_small< L > &   
) [friend]
template<long l>
template<long L>
dcovector_small<L>& operator*= ( dcovector_small< L > &  ,
const double &   
) [friend]
template<long l>
template<long L>
dcovector_small<L>& operator/= ( dcovector_small< L > &  ,
const double &   
) [friend]
template<long l>
template<long L>
const dcovector_small<L>& operator+ ( const dcovector_small< L > &  ) [friend]
template<long l>
template<long L>
dcovector_small<L> operator- ( const dcovector_small< L > &  ) [friend]
template<long l>
template<long L>
dcovector_small<L> operator+ ( const dcovector_small< L > &  ,
const dcovector_small< L > &   
) [friend]
template<long l>
template<long L>
dcovector_small<L> operator- ( const dcovector_small< L > &  ,
const dcovector_small< L > &   
) [friend]
template<long l>
template<long M, long N>
dgematrix_small<M,N> operator* ( const dcovector_small< M > &  ,
const drovector_small< N > &   
) [friend]
template<long l>
template<long L>
dcovector_small<L> operator* ( const dcovector_small< L > &  ,
const double &   
) [friend]
template<long l>
template<long L>
dcovector_small<L> operator/ ( const dcovector_small< L > &  ,
const double &   
) [friend]
template<long l>
template<long L>
dcovector_small<L> operator* ( const double &  ,
const dcovector_small< L > &   
) [friend]

Member Data Documentation

template<long l>
double dcovector_small< l >::array[l]

Definition at line 9 of file dcovector_small.hpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Friends