10namespace layer1_foundations {
11namespace geometry_builder {
44 for (i = 0; i <
gg->
GB->
B; i++) {
52 for (i = 1; i <
gg->
GB->
V; i++) {
65 for (i = 0; i <
gg->
GB->
V; i++) {
81 int f_v = (verbose_level >= 1);
84 cout <<
"incidence::init" << endl;
93 cout <<
"incidence::init before Encoding->init" << endl;
97 cout <<
"incidence::init after Encoding->init" << endl;
102 for (j = 0; j <
gg->
GB->
B; j++) {
107 for (j = 0; j <
gg->
GB->
B; j++) {
113 for (i = 0; i <
gg->
GB->
V; i++) {
119 cout <<
"incidence::init before init_pairs" << endl;
123 cout <<
"incidence::init after init_pairs" << endl;
132 cout <<
"incidence::init done" << endl;
141 int f_v = (verbose_level >= 1);
145 cout <<
"incidence::init_pairs" << endl;
150 for (i1 = 1; i1 <=
gg->
GB->
V; i1++) {
152 for (i2 = 0; i2 < i1 - 1; i2++) {
157 cout <<
"incidence::init_pairs done" << endl;
167 for (i1 = 0; i1 < v; i1++) {
169 for (i2 = 0; i2 < v; i2++) {
200 for (i = 0; i < nb_i_vbar; i++) {
202 if (i < nb_i_vbar - 1) {
209 for (i = 0; i < nb_i_hbar; i++) {
211 if (i < nb_i_hbar - 1) {
247 for (i = 0; i < v; i++) {
265 int f_v = (verbose_level >= 1);
268 cout <<
"incidence::install_isomorphism_test_after_a_given_row line = " << row << endl;
270 if (row > 0 && row <= Encoding->v) {
275 cout <<
"incidence::install_isomorphism_test_after_a_given_row "
276 "out of range: i = " << row <<
", v = " <<
Encoding->
v << endl;
287 int f_v = (verbose_level >= 1);
290 cout <<
"incidence::install_isomorphism_test_of_second_kind_after_a_given_row "
291 "line = " << row << endl;
293 if (row > 0 && row < Encoding->v) {
299 cout <<
"incidence::install_isomorphism_test_of_second_kind_after_a_given_row "
300 "out of range: row = " << row <<
", v = " <<
Encoding->
v << endl;
307 if (row > 0 && row < Encoding->v) {
311 cout <<
"incidence::set_range "
312 "out of range: row = " << row <<
", v = " <<
Encoding->
v << endl;
324 for (i = 0; i < v; i++) {
325 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
339 for (i = 0; i < v; i++) {
340 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
357 for (i = 0; i < b; i++) {
358 ost << Blocks[i] <<
" ";
375 for (i = 0; i < b; i++) {
380 for (i = 0; i < v * b; i++) {
385 for (i = 0; i < v; i++) {
386 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
391 for (j = 0; j < b; j++) {
393 for (i = 0; i < v; i++) {
394 if (Incma[i * b + j]) {
395 Blocks[j * v + h++] = i;
406 int i, j, s, b, k, h;
416 for (i = 0; i < v * b; i++) {
421 for (i = 0; i < v; i++) {
422 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
427 for (j = 0; j < b; j++) {
428 for (i = 0; i < v; i++) {
432 for (i = 0; i < v; i++) {
433 if (Incma[i * b + j]) {
442 cout <<
"incidence::compute_blocks_ranked not column tactical" << endl;
454 int i, j, s, b, k, h;
463 for (i = 0; i < v * b; i++) {
468 for (i = 0; i < v; i++) {
469 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
474 for (j = 0; j < b; j++) {
476 for (i = 0; i < v; i++) {
477 if (Incma[i * b + j]) {
486 cout <<
"incidence::compute_blocks not column tactical" << endl;
498 int i, j, s, b, k, h, ret;
507 for (i = 0; i < v * b; i++) {
513 for (i = 0; i < v; i++) {
514 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
519 for (j = 0; j < b; j++) {
521 for (i = 0; i < v; i++) {
522 if (Incma[i * b + j]) {
547 for (i = 0; i < v; i++) {
548 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
554 cout <<
"incidence::geo_to_inc s != nb_flags" << endl;
565 for (i = 0; i < v; i++) {
566 for (j = 0; j <
Encoding->
R[i]; j++, s++) {
572 cout <<
"incidence::inc_to_geo s != nb_flags" << endl;
a collection of combinatorial functions
int rank_k_subset(int *set, int n, int k)
a permutation for use in class gen_geo
classification of geometries with a given row-tactical decomposition
row-by-row encoding of an incidence geometry
int find_square(int m, int n)
void init(int v, int b, int *R, int verbose_level)
void init_pairs(int verbose_level)
void print_blocks(std::ostream &ost, int v, long int *theInc)
void print_inc(std::ostream &ost, int v, long int *theInc)
void init(gen_geo *gg, int v, int b, int *R, int verbose_level)
iso_type * iso_type_no_vhbars
void print_geo(std::ostream &ost, int v, int *theGEO)
iso_type ** iso_type_at_line
int is_block_tactical(int v, long int *theInc)
void inc_to_geo(int v, long int *theInc, int *theGEO, int nb_flags)
void compute_blocks_ranked(long int *&Blocks, int v, long int *theInc)
int compute_k(int v, long int *theInc)
void geo_to_inc(int v, int *theGEO, long int *theInc, int nb_flags)
void set_split(int row, int remainder, int modulo)
void install_isomorphism_test_after_a_given_row(int i, int f_orderly, int verbose_level)
void print_R(int v, cperm *p, cperm *q)
int find_square(int m, int n)
void install_isomorphism_test_of_second_kind_after_a_given_row(int i, int f_orderly, int verbose_level)
void compute_blocks(long int *&Blocks, int *&K, int v, long int *theInc)
classification of geometries based on canonical forms
void init(gen_geo *gg, int v, int f_orderly, int verbose_level)
void set_split(int remainder, int modulo)
#define Int_matrix_print(A, B, C)
the orbiter library for the classification of combinatorial objects