14namespace layer2_discreta {
17#define MAX_BTREE_PAGE_TABLE 100
21static int *btree_page_table_f_used = NULL;
27static int btree_page_registry_key_pair_compare_void_void(
void *K1v,
void *K2v);
35 int f_v = (verbose_level >= 1);
39 cout <<
"page_table_init" << endl;
45 btree_page_table[i] = NULL;
46 btree_page_table_f_used[i] =
FALSE;
53 int f_v = (verbose_level >= 1);
56 cout <<
"page_table_exit" << endl;
58 if (btree_page_table) {
59 delete [] btree_page_table;
60 btree_page_table = NULL;
62 if (btree_page_table_f_used) {
63 delete [] btree_page_table_f_used;
64 btree_page_table_f_used = NULL;
71 int f_v = (verbose_level >= 1);
72 int f_vv = (verbose_level >= 2);
76 cout <<
"page_table_alloc, verbose_level=" << verbose_level << endl;
79 if (!btree_page_table_f_used[i]) {
81 cout <<
"page_table_alloc allocating slot " << i << endl;
85 btree_page_table[i]->
init(verbose_level - 1);
87 btree_page_table_f_used[i] =
TRUE;
89 cout <<
" slot " << i <<
" is " << btree_page_table[i] << endl;
94 cout <<
"page_table_alloc() no free btree_data_table" << endl;
100 int f_v = (verbose_level >= 1);
104 cout <<
"page_table_free freeing slot " << idx << endl;
106 if (!btree_page_table_f_used[idx]) {
107 cout <<
"page_table_free slot " << idx <<
" is not used" << endl;
110 if (btree_page_table[idx] == NULL) {
111 cout <<
"page_table_free btree_data_table[idx] == NULL" << endl;
116 cout <<
"before delete btree_page_table[idx]" << endl;
118 delete btree_page_table[idx];
120 cout <<
"after delete btree_page_table[idx]" << endl;
123 btree_page_table[idx] = NULL;
124 btree_page_table_f_used[idx] =
FALSE;
126 cout <<
"page_table_free done" << endl;
135 cout <<
"page_table_pointer illegal slot" << endl;
136 cout <<
"slot=" << slot << endl;
139 T = btree_page_table[slot];
141 cout <<
"page_table_pointer T == NULL" << endl;
148static int btree_page_registry_key_pair_compare_void_void(
void *K1v,
void *K2v)
158 if (K1->idx < K2->idx)
160 if (K1->idx > K2->idx)
199 int f_v = (verbose_level >= 1);
200 int f_vv = (verbose_level >= 1);
203 cout <<
"page_table::init, verbose_level=" << verbose_level << endl;
227 int f_v = (verbose_level >= 1);
228 int f_vv = (verbose_level >= 1);
231 cout <<
"page_table::reallocate_table" << endl;
257 cout <<
"i : x : idx : ref" << endl;
298 c = btree_page_registry_key_pair_compare_void_void(K,
btree_table + m);
320 int f_v = (verbose_level >= 1);
325 cout <<
"page_table::save_page" << endl;
331 cout <<
"making a new table entry" << endl;
345 cout <<
"page_table::save_page cannot find the page in the table (2nd time)" << endl;
346 cout <<
"x=" << x << endl;
347 cout <<
"buf_idx=" << buf_idx << endl;
359 int f_v = (verbose_level >= 1);
364 cout <<
"page_table::load_page x=" << x << endl;
369 cout <<
"page_table::load_page cannot find the page in the table" << endl;
370 cout <<
"x=" << x << endl;
371 cout <<
"buf_idx=" << buf_idx << endl;
385 int f_v = (verbose_level >= 1);
390 cout <<
"page_table::allocate_rec x=" << x << endl;
400 cout <<
"page_table::allocate_rec error, found entry in the table" << endl;
401 cout <<
"page_table::allocate_rec btree_table: at " << idx <<
" x=" << x <<
" buf_idx = " << buf_idx <<
" ref=" << ref << endl;
420 int f_v = (verbose_level >= 1);
425 cout <<
"page_table::write_pages_to_file" << endl;
433 cout <<
"writing page " << x <<
" (ref=" << ref <<
")" << endl;
437 B->
file_write(P,
"page_table::write_pages_to_file");
bulk storage of group elements in compressed form
long int store(uchar *elt)
void init(int entry_size, int page_length_log, int verbose_level)
DISCRETA class for a database.
void file_write(PageTyp *page, const char *message)
void file_seek(int page_no)
DISCRETA class for bulk storage.
int search_key_pair(int len, btree_page_registry_key_pair *K, int &idx)
void allocate_rec(Buffer *BF, int buf_idx, int x, int verbose_level)
void save_page(Buffer *BF, int buf_idx, int verbose_level)
int btree_page_registry_length
int load_page(Buffer *BF, int x, int buf_idx, int verbose_level)
layer1_foundations::data_structures::page_storage * btree_pages
void reallocate_table(int verbose_level)
btree_page_registry_key_pair * btree_table
int btree_page_registry_allocated_length
void write_pages_to_file(btree *B, int buf_idx, int verbose_level)
int search(int len, int btree_idx, int btree_x, int &idx)
void init(int verbose_level)
#define BTREE_PAGE_LENGTH_LOG
void fill_char(void *v, int cnt, int c)
struct btree_page_registry_key_pair btree_page_registry_key_pair
struct orbiter::layer2_discreta::buffer Buffer
DISCRETA auxiliary class related to the class database.
void page_table_exit(int verbose_level)
int page_table_alloc(int verbose_level)
void page_table_free(int idx, int verbose_level)
page_table * page_table_pointer(int slot)
void page_table_init(int verbose_level)
class page_table page_table
DISCRETA internal class related to class database.
the orbiter library for the classification of combinatorial objects
#define MAX_BTREE_PAGE_TABLE
DISCRETA internal class related to class database.
DISCRETA auxiliary class related to the class database.
DISCRETA auxiliary class related to the class database.