// Specializations of FCVec template for 2-dim'l vectors template<> class FDVec<2> { private: double e[2]; public: FDVec() { e[0] = e[1] = 0.0; } FDVec<2> &sum(FDVec<2> &y, FDVec<2> &out) { out.e[0] = e[0] + y.e[0]; out.e[1] = e[1] + y.e[1]; return out; } FDVec<2> &mult(double s, FDVec<2> &out) { out.e[0] = s*e[0]; out.e[1] = s*e[1]; return out; } }