00001 00005 template<class T, class S> class matrix 00006 { 00007 private: 00008 public: 00012 virtual ~matrix() 00013 {} 00019 virtual void multiply(const packed_vector<S> &_x, packed_vector<S> &_b) const = 0; 00020 }; 00027 template<class T, class S> 00028 void multiply(const matrix<T, S> &_A, const packed_vector<S> &_x, packed_vector<S> &_b) 00029 { 00030 _A.multiply(_x, _b); 00031 }