1 #ifndef _BLOCK_ARRAY_H_
2 #define _BLOCK_ARRAY_H_
14 BlockArray(ulong len, ulong blockLen) {
16 blockLength = blockLen;
17 data = new ulong[n*blockLength/W +1];
23 BlockArray& operator[](ulong i) {
28 void operator=(const ulong x) {
29 Tools::SetField(data,blockLength,index,x);
32 BlockArray& operator=(const BlockArray& ba) {
33 if (this == &ba) return *this;
34 ulong value = Tools::GetField(ba.data, ba.blockLength, ba.index);
35 Tools::SetField(data,blockLength,index,value);
40 return Tools::GetField(data,blockLength,index);
44 return n*blockLength+W; // plus 4 ulong's