WvStreams
wvmatrix.h
00001 /* -*- Mode: C++ -*- */
00002 #ifndef __WVMATRIX_H
00003 #define __WVMATRIX_H
00004 
00005 #include "wvstring.h"
00006 
00007 class WvMatrix
00008 {
00009 public:
00010     int *data;
00011 
00012     int m;
00013     int n;
00014 
00015     WvMatrix(const int _m, const int _n, const int *_data = 0);
00016     ~WvMatrix();
00017 
00018     WvMatrix(const WvMatrix& mx);
00019     WvMatrix& operator= (const WvMatrix& mx);
00020 
00021     int& operator() (const int row, const int col)
00022         { return data[n*row + col]; }
00023     int operator() (const int row, const int col) const
00024         { return data[n*row + col]; }
00025 
00026     WvMatrix operator+ (const WvMatrix &rhs) const;
00027     WvMatrix operator* (const WvMatrix &rhs) const;
00028 
00029     WvString printable();
00030 };
00031 
00032 #endif // __WVMATRIX_H