//=============================================================================
//! Samll Real Double-precision Column Vector Class
template<long l> class dcovector_small
{
public:
//////// data ////////
double array[l];
//////// constructor ////////
dcovector_small(){;}
dcovector_small(const double& x){
for(long k=0; k<l; k++){ array[k]=x; }
}
dcovector_small(const double& x, const double& y, const double& z){
array[0]=x; array[1]=y; array[2]=z;
}
~dcovector_small(){;}
//////// function ////////
double& operator()(const long& k);
double operator()(const long& k) const;
//long get_m(){ return n; }
//long get_n(){ return n; }
void zero(){ for(long k=0; k<l; k++){array[k]=0.;} }
dcovector_small<l>& set(const long& k, const double& v){ (*this)(k)=v; return *this; }
_dcovector to_dcovector()const{
dcovector vec(l);
for(long k=0; k<l; k++){
vec(k)=(*this)(k);
}
return _(vec);
}
};