From: Jan Engelhardt Date: 2012-12-06 11:33:01.767857267 +0100 build: resolve coding errors after stricter C++ checks CircuitMatrixAlgorithm.tpp:155:51: error: 'next_column' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] CircuitMatrixAlgorithm.tpp:155:51: note: declarations in dependent base '_4ti2_::CircuitImplementation<_4ti2_::ShortDenseIndexSet>' are not found by unqualified lookup CircuitMatrixAlgorithm.tpp:155:51: note: use 'this->next_column' instead [...] --- src/groebner/CircuitMatrixAlgorithm.tpp | 28 ++++++++++++------------ src/groebner/CircuitSupportAlgorithm.tpp | 36 +++++++++++++++---------------- src/groebner/RayMatrixAlgorithm.tpp | 20 ++++++++--------- src/groebner/RaySupportAlgorithm.tpp | 22 +++++++++--------- 4 files changed, 53 insertions(+), 53 deletions(-) Index: 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp =================================================================== --- 4ti2-1.3.2.orig/src/groebner/CircuitMatrixAlgorithm.tpp +++ 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp @@ -152,23 +152,23 @@ CircuitMatrixAlgorithm::comput ) // Find the next column. - Index next_col = next_column(vs, remaining); + Index next_col = this->next_column(vs, remaining); int start = 0; int end = vs.get_number(); int middle; // We sort the vectors into nonzeros and then zeros. - sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle); + this->sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle); int nonzero_start = start, nonzero_end = middle; //int zero_start = middle, zero_end = end; // We sort the nonzeros into rays and circuits. - sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle); + this->sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle); int ray_start = nonzero_start, ray_end = middle; int cir_start = middle, cir_end = nonzero_end; // We sort the rays into positives and then negatives. - sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle); + this->sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle); int pos_ray_start = ray_start, pos_ray_end = middle; int neg_ray_start = middle, neg_ray_end = ray_end; // We sort the circuits into positives and then negatives. - sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle); + this->sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle); int pos_cir_start = cir_start, pos_cir_end = middle; int neg_cir_start = middle, neg_cir_end = cir_end; @@ -185,8 +185,8 @@ CircuitMatrixAlgorithm::comput // Switch the positive and negative supports, so that it is as if all // vectors have a positive entry in the next column. - switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); - switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); + this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); + this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); matrix = orig_matrix; int remaining_row = upper_triangle(matrix, remaining, 0); @@ -212,15 +212,15 @@ CircuitMatrixAlgorithm::comput rays.insert(rays.end(), vs.get_number()-previous_size, false); // Switch back the positive and negative supports. - switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); - switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); + this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); + this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); // Update the supp vectors for the next_col. - update_supports(supps, next_col, nonzero_start, nonzero_end); - update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end); - update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end); - update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end); - update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end); + this->update_supports(supps, next_col, nonzero_start, nonzero_end); + this->update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end); + this->update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end); + this->update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end); + this->update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end); *out << "\r"; *out << " Left = " << std::setw(3) << num_remaining; Index: 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp =================================================================== --- 4ti2-1.3.2.orig/src/groebner/CircuitSupportAlgorithm.tpp +++ 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp @@ -188,23 +188,23 @@ CircuitSupportAlgorithm::compu ) // Find the next column. - Index next_col = next_column(vs, remaining); + Index next_col = this->next_column(vs, remaining); int start = 0; int end = vs.get_number(); int middle; // We sort the vectors into nonzeros and then zeros. - sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle); + this->sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle); int nonzero_start = start, nonzero_end = middle; //int zero_start = middle, zero_end = end; // We sort the nonzeros into rays and circuits. - sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle); + this->sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle); int ray_start = nonzero_start, ray_end = middle; int cir_start = middle, cir_end = nonzero_end; // We sort the rays into positives and then negatives. - sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle); + this->sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle); int pos_ray_start = ray_start, pos_ray_end = middle; int neg_ray_start = middle, neg_ray_end = ray_end; // We sort the circuits into positives and the negatives. - sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle); + this->sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle); int pos_cir_start = cir_start, pos_cir_end = middle; int neg_cir_start = middle, neg_cir_end = cir_end; @@ -233,8 +233,8 @@ CircuitSupportAlgorithm::compu // Switch the positive and negative supports, so that it is as if all // vectors have a positive entry in the next column. - switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); - switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); + this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); + this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); //DEBUG_4ti2(*out << "Remaining row " << remaining_row << "\n";) int previous_size = vs.get_number(); @@ -258,19 +258,19 @@ CircuitSupportAlgorithm::compu rays.insert(rays.end(), vs.get_number()-previous_size, false); // Switch back the positive and negative supports. - switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); - switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); + this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps); + this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps); // Update the supp vectors for the next_col. - update_supports(supps, next_col, nonzero_start, nonzero_end); - update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end); - update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end); - update_supports(pos_supps, col_map[next_col], neg_ray_start, neg_ray_end); - update_supports(pos_supps, col_map[next_col], neg_cir_start, neg_cir_end); - update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end); - update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end); - update_supports(neg_supps, col_map[next_col], pos_ray_start, pos_ray_end); - update_supports(neg_supps, col_map[next_col], pos_cir_start, pos_cir_end); + this->update_supports(supps, next_col, nonzero_start, nonzero_end); + this->update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end); + this->update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end); + this->update_supports(pos_supps, col_map[next_col], neg_ray_start, neg_ray_end); + this->update_supports(pos_supps, col_map[next_col], neg_cir_start, neg_cir_end); + this->update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end); + this->update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end); + this->update_supports(neg_supps, col_map[next_col], pos_ray_start, pos_ray_end); + this->update_supports(neg_supps, col_map[next_col], pos_cir_start, pos_cir_end); *out << "\r"; *out << " Left = " << std::setw(3) << num_remaining; Index: 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp =================================================================== --- 4ti2-1.3.2.orig/src/groebner/RayMatrixAlgorithm.tpp +++ 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp @@ -161,7 +161,7 @@ RayMatrixAlgorithm::compute1( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); matrix = orig_matrix; @@ -366,7 +366,7 @@ RayMatrixAlgorithm::compute0( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); matrix = orig_matrix; @@ -615,7 +615,7 @@ RayMatrixAlgorithm::compute2( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, fathers, zeros, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, fathers, zeros, next_col, next_zero_count, next_positive_count, next_negative_count); matrix = orig_matrix; @@ -865,7 +865,7 @@ RayMatrixAlgorithm::compute3( DEBUG_4ti2(unsigned long long int num_checks = 0;) // Find the next column. int next_positive_count, next_negative_count, next_zero_count; - Index next_col = next_column(vs, remaining, + Index next_col = this->next_column(vs, remaining, next_positive_count, next_negative_count, next_zero_count); @@ -880,7 +880,7 @@ RayMatrixAlgorithm::compute3( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); DEBUG_4ti2(*out << "Rays:\n" << vs << "\n";) @@ -944,7 +944,7 @@ RayMatrixAlgorithm::compute3( IndexSet::set_difference(supports[r2], r1_supp, temp_diff); if (temp_diff.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) @@ -959,7 +959,7 @@ RayMatrixAlgorithm::compute3( IndexSet::set_difference(r1_supp, supports[r2], temp_diff); if (temp_diff.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) @@ -984,7 +984,7 @@ RayMatrixAlgorithm::compute3( IndexSet::set_difference(r1_supp, supports[r2], temp_diff2); if (temp_diff2.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) @@ -996,7 +996,7 @@ RayMatrixAlgorithm::compute3( DEBUG_4ti2(++num_checks;) if (rank_check(matrix, temp_matrix, temp_diff, r1_rows)) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_added;) @@ -1012,7 +1012,7 @@ RayMatrixAlgorithm::compute3( IndexSet::set_difference(supports[r2], r1_supp, temp_diff); if (temp_diff.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) Index: 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp =================================================================== --- 4ti2-1.3.2.orig/src/groebner/RaySupportAlgorithm.tpp +++ 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp @@ -153,7 +153,7 @@ RaySupportAlgorithm::compute0( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); // Note that the tree needs the ordering of the current vectors to be @@ -352,7 +352,7 @@ RaySupportAlgorithm::compute1( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); // Note that the tree needs the ordering of the current vectors to be @@ -565,7 +565,7 @@ RaySupportAlgorithm::compute2( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); // Note that the tree needs the ordering of the current vectors to be @@ -773,7 +773,7 @@ RaySupportAlgorithm::compute3( // Find the next column. int next_positive_count, next_negative_count, next_zero_count; - Index next_col = next_column(vs, remaining, + Index next_col = this->next_column(vs, remaining, next_positive_count, next_negative_count, next_zero_count); @@ -788,7 +788,7 @@ RaySupportAlgorithm::compute3( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); int original_size = vs.get_number(); @@ -852,7 +852,7 @@ RaySupportAlgorithm::compute3( IndexSet::set_difference(supports[r2], r1_supp, temp_diff); if (temp_diff.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_added;) @@ -866,7 +866,7 @@ RaySupportAlgorithm::compute3( IndexSet::set_difference(r1_supp, supports[r2], temp_diff); if (temp_diff.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) @@ -885,7 +885,7 @@ RaySupportAlgorithm::compute3( zero_supp.set_union(supports[index]); if (index >= r2_index && index < r2_finish) { - create_new_vector(vs, supports, r1, index, next_col, + this->create_new_vector(vs, supports, r1, index, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_added;) @@ -905,7 +905,7 @@ RaySupportAlgorithm::compute3( IndexSet::set_difference(r1_supp, supports[r2], temp_diff2); if (temp_diff2.power_of_2()) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_one_diff_added;) @@ -918,7 +918,7 @@ RaySupportAlgorithm::compute3( DEBUG_4ti2(++num_checks;) if (!tree.dominated(temp_supp, r1, r2)) { - create_new_vector(vs, supports, r1, r2, next_col, + this->create_new_vector(vs, supports, r1, r2, next_col, next_positive_count, next_negative_count, temp, temp_supp); DEBUG_4ti2(++num_added;) @@ -1045,7 +1045,7 @@ RaySupportAlgorithm::compute4( ) // We sort the vectors into zeros, positives, then negatives. - sort(vs, supports, next_col, next_zero_count, next_positive_count, + this->sort(vs, supports, next_col, next_zero_count, next_positive_count, next_negative_count); int original_size = vs.get_number();