--- ./src/groebner/RayMatrixAlgorithm.tpp.orig 2008-09-25 17:19:31.000000000 -0600 +++ ./src/groebner/RayMatrixAlgorithm.tpp 2012-10-04 21:28:57.747594231 -0600 @@ -648,7 +648,7 @@ RayMatrixAlgorithm<IndexSet>::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); @@ -663,7 +663,7 @@ RayMatrixAlgorithm<IndexSet>::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";) @@ -729,7 +729,7 @@ RayMatrixAlgorithm<IndexSet>::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;) @@ -744,7 +744,7 @@ RayMatrixAlgorithm<IndexSet>::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;) @@ -769,7 +769,7 @@ RayMatrixAlgorithm<IndexSet>::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;) @@ -781,7 +781,7 @@ RayMatrixAlgorithm<IndexSet>::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;) @@ -797,7 +797,7 @@ RayMatrixAlgorithm<IndexSet>::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;) --- ./src/groebner/CircuitMatrixAlgorithm.tpp.orig 2008-12-22 14:40:19.000000000 -0700 +++ ./src/groebner/CircuitMatrixAlgorithm.tpp 2012-10-04 21:24:06.106134980 -0600 @@ -164,24 +164,24 @@ CircuitMatrixAlgorithm<IndexSet>::comput ) // Find the next column. - Index next_col = next_column(vs, remaining); + Index next_col = this->next_column(vs, remaining); DEBUG_4ti2(*out << "\nNext column is " << next_col << "\n";) 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; @@ -198,8 +198,8 @@ CircuitMatrixAlgorithm<IndexSet>::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 relaxed_row = upper_triangle(matrix, relaxed, 0); @@ -230,15 +230,15 @@ CircuitMatrixAlgorithm<IndexSet>::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; --- ./src/groebner/CircuitSupportAlgorithm.tpp.orig 2008-12-22 14:40:19.000000000 -0700 +++ ./src/groebner/CircuitSupportAlgorithm.tpp 2012-10-04 21:20:29.436625223 -0600 @@ -195,23 +195,23 @@ CircuitSupportAlgorithm<IndexSet>::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; @@ -240,8 +240,8 @@ CircuitSupportAlgorithm<IndexSet>::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(); @@ -265,19 +265,19 @@ CircuitSupportAlgorithm<IndexSet>::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; --- ./src/groebner/RaySupportAlgorithm.tpp.orig 2008-09-25 17:19:31.000000000 -0600 +++ ./src/groebner/RaySupportAlgorithm.tpp 2012-10-04 21:27:04.012774537 -0600 @@ -790,7 +790,7 @@ RaySupportAlgorithm<IndexSet>::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); @@ -805,7 +805,7 @@ RaySupportAlgorithm<IndexSet>::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(); @@ -869,7 +869,7 @@ RaySupportAlgorithm<IndexSet>::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;) @@ -883,7 +883,7 @@ RaySupportAlgorithm<IndexSet>::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_added;) @@ -901,7 +901,7 @@ RaySupportAlgorithm<IndexSet>::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;) @@ -920,7 +920,7 @@ RaySupportAlgorithm<IndexSet>::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_added;) @@ -932,7 +932,7 @@ RaySupportAlgorithm<IndexSet>::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;)