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();