Files Classes Functions Hierarchy
00001 00002 00003 00004 #include <cell.h> 00005 00006 cell::~cell() 00007 { 00008 delete[] vi; 00009 delete[] fi; 00010 delete[] count; 00011 delete[] index; 00012 } 00013 00014 cell::cell() 00015 : N(0) 00016 { 00017 W = WW = 0; 00018 count = 0; 00019 index = 0; 00020 vi = 0; 00021 fi = 0; 00022 } 00023 00024 void cell::reset(uintc N_) 00025 { 00026 if (count) 00027 delete[] count; 00028 if (vi) 00029 delete[] vi; 00030 if (index) 00031 delete[] index; 00032 if (fi) 00033 delete[] fi; 00034 00035 N = N_; 00036 W = (uint)( sqrt((double)N) )+1; 00037 WW = W*W; 00038 count = new uint[WW]; 00039 index = new uint[WW+1]; 00040 index[WW] = N; // Sentinal value 00041 // suchthat index[k+1]-index[k] = count[k] 00042 vi = new uint[N]; 00043 00044 fi = new uint[N]; 00045 00046 for (uint i=0; i<WW; ++i) 00047 count[i]=0; 00048 } 00049 00050 cell::cell(uintc N_) 00051 { 00052 reset(N_); 00053 } 00054 00055 00056 00057
1.5.8