6 /// simplest matrix storage. refer to its baseclass for the doco.
7 class Full_storage : public virtual_smat
23 bool valid(int i, int j) const {
24 return (i>=0 && i < h)
29 void resize_rows(int);
30 void resize_cols(int);
33 virtual int rows() const {
36 virtual int cols() const {
41 virtual void set_size(int i, int j)
43 resize(i,j); //this could be more efficient.
46 virtual void set_size(int i) {
49 virtual void resize(int i, int j);
50 virtual void resize(int i) {
54 virtual Real& elem(int i,int j) {
58 virtual const Real& elem(int i, int j) const {
62 virtual svec<Real> row(int i) const;
63 virtual svec<Real> column(int j) const;
68 Full_storage(int i, int j) {
72 Full_storage(Full_storage&);
78 void operator=(Full_storage const &);
80 virtual void insert_row(int k);
81 virtual void delete_row(int k);
82 virtual void delete_column(int k);
86 virtual bool mult_ok(int i, int j)const;
87 virtual void mult_next(int &i, int &j) const ;
88 virtual bool trans_ok(int i, int j) const;
89 virtual void trans_next(int &i, int &j) const;
90 virtual virtual_smat * clone();