//=============================================================================
//! Samll Real Double-precision Row Vector Class
template<long L> class drovector_small
{
public:
//////// data ////////
static const long l =L;
double array[L];
//////// constructor ////////
drovector_small(){;}
drovector_small(const double& x){
for(long k=0; k<L; k++){ array[k]=x; }
}
~drovector_small(){;}
//////// function ////////
double& operator()(const long& k);
double operator()(const long& k) const;
void zero(){ for(long k=0; k<L; k++){ array[k]=0.; } }
drovector_small<L>& set(const long& k, const double& v){ (*this)(k)=v; return *this; }
_drovector to_drovector() const{
drovector vec(L);
for(long k=0; k<L; k++){
vec(k)=(*this)(k);
}
return _(vec);
}
};