/** * @file Vector.hpp * * Vector class. * * @author James Goppert */ #pragma once #include namespace matrix { template class Matrix; template class Vector : public Matrix { public: virtual ~Vector() {}; Vector() : Matrix() { } Vector(const Vector & other) : Matrix(other) { } Vector(const Matrix & other) : Matrix(other) { } inline Type operator()(size_t i) const { const Matrix &v = *this; return v(i, 0); } inline Type &operator()(size_t i) { Matrix &v = *this; return v(i, 0); } Type dot(const Vector & b) const { const Vector &a(*this); Type r = 0; for (int i = 0; i