diff --git a/lib/awpmd/ivutils/include/pairhash.h b/lib/awpmd/ivutils/include/pairhash.h index 1fbc1b8b64..c29f72773f 100644 --- a/lib/awpmd/ivutils/include/pairhash.h +++ b/lib/awpmd/ivutils/include/pairhash.h @@ -122,12 +122,9 @@ # define PAIRHASH_H /*e @file pairhash.h @brief pair hash table -*/ +*/ -/*r @file pairhash.h @brief работа с хеш-таблицами парных величин -*/ - # include "refobj.h" @@ -146,7 +143,7 @@ public: incr=inc_first ? parent->sizex : 1 ; }; iterator(T *ptr_,size_t incr_):ptr(ptr_),incr(incr_){} - public: + public: iterator(const iterator &other):ptr(other.ptr),incr(other.incr){ } iterator():ptr(NULL),incr(0){} @@ -159,7 +156,7 @@ public: ++*this; return tmp; } - iterator operator+(int delta) const { + iterator operator+(int delta) const { return iterator(ptr+delta*incr,incr); } bool operator!=(const iterator &other) const { @@ -194,7 +191,7 @@ public: init(other.sizex,other.sizey,1); size_t n=get_datasize(sizex,sizey); for(size_t i=0;i=0){ // for changing the managed flag? @@ -241,14 +238,14 @@ public: arr=parr.ptr(); } return 1; - } + } - recmatrix(size_t nx, size_t ny):sizex(0), sizey(0){ + recmatrix(size_t nx, size_t ny):sizex(0), sizey(0){ init(nx,ny,1); } //e initializes by unmanaged pointer - recmatrix(size_t nx, size_t ny , T *ptr):parr(ptr,0),sizex(nx), sizey(ny) { + recmatrix(size_t nx, size_t ny , T *ptr):parr(ptr,0),sizex(nx), sizey(ny) { init(nx,ny); } @@ -264,14 +261,14 @@ public: size_t i, n=get_datasize(sizex,sizey); for(i=0;isizey? sizey: sizex); for(i=0;i class sqmatrix: public recmatrix { - + public: size_t size; @@ -313,18 +310,18 @@ public: return n*n; } - + virtual int init(size_t n, int smanaged=-1){ size=n; return recmatrix::init(n,n,smanaged); - } + } - sqmatrix(size_t n):size(0){ + sqmatrix(size_t n):size(0){ init(n,1); } //e initializes by unmanaged pointer - sqmatrix(size_t n, T * /* ptr */):size(n){ + sqmatrix(size_t n, T * /* ptr */):size(n){ init(n); } @@ -335,7 +332,7 @@ public: recmatrix::parr.reset(ptr,0); } - + }; @@ -355,7 +352,7 @@ public: incr=inc_first ? parent->size : 1 ; }; iterator(T *ptr_,size_t incr_):ptr(ptr_),incr(incr_){} - public: + public: iterator(const iterator &other):ptr(other.ptr),incr(other.incr){ } iterator():ptr(NULL),incr(0){} @@ -368,7 +365,7 @@ public: ++*this; return tmp; } - iterator operator+(int delta) const { + iterator operator+(int delta) const { return iterator(ptr+delta*incr,incr); } bool operator!=(const iterator &other) const { @@ -403,7 +400,7 @@ public: init(other.size,1); size_t n=get_datasize(size); for(size_t i=0;i=0){ // for changing the managed flag? @@ -448,14 +445,14 @@ public: arr=parr.ptr(); } return 1; - } + } - sqmatrix(size_t n):size(0){ + sqmatrix(size_t n):size(0){ init(n,1); } //e initializes by unmanaged pointer - sqmatrix(size_t n, T *ptr):parr(ptr,0),size(n){ + sqmatrix(size_t n, T *ptr):parr(ptr,0),size(n){ init(n); } @@ -470,14 +467,14 @@ public: size_t i, n=get_datasize(size); for(i=0;i int fileout(FILE *f, const matrix_t &matr, const char *elm_fmt, const char *elm_sep=" ", const char *line_sep="\n"){ - size_t i, j; + size_t i, j; int res=0; for(i=0;i class smatrix: public sqmatrix{ typedef sqmatrix base_t; public: - + virtual size_t get_datasize(size_t n) const{ return n*(n+1)/2; } - + size_t index(size_t i, size_t j) const { if(i>=j) return (2*base_t::size-j-1)*j/2+i; - else + else return (2*base_t::size-i-1)*i/2+j; } @@ -572,7 +569,7 @@ public: hmatrix() : smatrix() {} hmatrix(const smatrix &other) : smatrix(other) {} - + //e copy constructor: makes a managed copy hmatrix(const hmatrix &other): smatrix(other){} @@ -671,7 +668,7 @@ public: indm.Set(-1); return 1; } - + virtual ~PairHashM(){ delete [] arr; }