|
|
3d04b28 |
diff -up 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp.gcc47 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp
|
|
|
3d04b28 |
--- 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp.gcc47 2012-03-05 14:25:16.459407811 -0500
|
|
|
3d04b28 |
+++ 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp 2012-03-05 14:32:14.090831152 -0500
|
|
|
3d04b28 |
@@ -152,23 +152,23 @@ CircuitMatrixAlgorithm<IndexSet>::comput
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining);
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
int start = 0; int end = vs.get_number(); int middle;
|
|
|
3d04b28 |
// We sort the vectors into nonzeros and then zeros.
|
|
|
3d04b28 |
- sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int nonzero_start = start, nonzero_end = middle;
|
|
|
3d04b28 |
//int zero_start = middle, zero_end = end;
|
|
|
3d04b28 |
// We sort the nonzeros into rays and circuits.
|
|
|
3d04b28 |
- sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle);
|
|
|
3d04b28 |
+ this->sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle);
|
|
|
3d04b28 |
int ray_start = nonzero_start, ray_end = middle;
|
|
|
3d04b28 |
int cir_start = middle, cir_end = nonzero_end;
|
|
|
3d04b28 |
// We sort the rays into positives and then negatives.
|
|
|
3d04b28 |
- sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int pos_ray_start = ray_start, pos_ray_end = middle;
|
|
|
3d04b28 |
int neg_ray_start = middle, neg_ray_end = ray_end;
|
|
|
3d04b28 |
// We sort the circuits into positives and then negatives.
|
|
|
3d04b28 |
- sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int pos_cir_start = cir_start, pos_cir_end = middle;
|
|
|
3d04b28 |
int neg_cir_start = middle, neg_cir_end = cir_end;
|
|
|
3d04b28 |
|
|
|
3d04b28 |
@@ -185,8 +185,8 @@ CircuitMatrixAlgorithm<IndexSet>::comput
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Switch the positive and negative supports, so that it is as if all
|
|
|
3d04b28 |
// vectors have a positive entry in the next column.
|
|
|
3d04b28 |
- switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
- switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
matrix = orig_matrix;
|
|
|
3d04b28 |
int remaining_row = upper_triangle(matrix, remaining, 0);
|
|
|
3d04b28 |
@@ -212,15 +212,15 @@ CircuitMatrixAlgorithm<IndexSet>::comput
|
|
|
3d04b28 |
rays.insert(rays.end(), vs.get_number()-previous_size, false);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Switch back the positive and negative supports.
|
|
|
3d04b28 |
- switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
- switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Update the supp vectors for the next_col.
|
|
|
3d04b28 |
- update_supports(supps, next_col, nonzero_start, nonzero_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(supps, next_col, nonzero_start, nonzero_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
*out << "\r";
|
|
|
3d04b28 |
*out << " Left = " << std::setw(3) << num_remaining;
|
|
|
3d04b28 |
diff -up 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp.gcc47 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp
|
|
|
3d04b28 |
--- 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp.gcc47 2012-03-05 14:21:20.103997937 -0500
|
|
|
3d04b28 |
+++ 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp 2012-03-05 14:31:39.629208802 -0500
|
|
|
3d04b28 |
@@ -188,23 +188,23 @@ CircuitSupportAlgorithm<IndexSet>::compu
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining);
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
int start = 0; int end = vs.get_number(); int middle;
|
|
|
3d04b28 |
// We sort the vectors into nonzeros and then zeros.
|
|
|
3d04b28 |
- sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_nonzeros(vs, start, end, rays, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int nonzero_start = start, nonzero_end = middle;
|
|
|
3d04b28 |
//int zero_start = middle, zero_end = end;
|
|
|
3d04b28 |
// We sort the nonzeros into rays and circuits.
|
|
|
3d04b28 |
- sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle);
|
|
|
3d04b28 |
+ this->sort_rays(vs, nonzero_start, nonzero_end, rays, supps, pos_supps, neg_supps, middle);
|
|
|
3d04b28 |
int ray_start = nonzero_start, ray_end = middle;
|
|
|
3d04b28 |
int cir_start = middle, cir_end = nonzero_end;
|
|
|
3d04b28 |
// We sort the rays into positives and then negatives.
|
|
|
3d04b28 |
- sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_positives(vs, ray_start, ray_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int pos_ray_start = ray_start, pos_ray_end = middle;
|
|
|
3d04b28 |
int neg_ray_start = middle, neg_ray_end = ray_end;
|
|
|
3d04b28 |
// We sort the circuits into positives and the negatives.
|
|
|
3d04b28 |
- sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
+ this->sort_positives(vs, cir_start, cir_end, supps, pos_supps, neg_supps, next_col, middle);
|
|
|
3d04b28 |
int pos_cir_start = cir_start, pos_cir_end = middle;
|
|
|
3d04b28 |
int neg_cir_start = middle, neg_cir_end = cir_end;
|
|
|
3d04b28 |
|
|
|
3d04b28 |
@@ -233,8 +233,8 @@ CircuitSupportAlgorithm<IndexSet>::compu
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Switch the positive and negative supports, so that it is as if all
|
|
|
3d04b28 |
// vectors have a positive entry in the next column.
|
|
|
3d04b28 |
- switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
- switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
//DEBUG_4ti2(*out << "Remaining row " << remaining_row << "\n";)
|
|
|
3d04b28 |
int previous_size = vs.get_number();
|
|
|
3d04b28 |
@@ -258,19 +258,19 @@ CircuitSupportAlgorithm<IndexSet>::compu
|
|
|
3d04b28 |
rays.insert(rays.end(), vs.get_number()-previous_size, false);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Switch back the positive and negative supports.
|
|
|
3d04b28 |
- switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
- switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_ray_start, neg_ray_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
+ this->switch_supports(neg_cir_start, neg_cir_end, pos_supps, neg_supps);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Update the supp vectors for the next_col.
|
|
|
3d04b28 |
- update_supports(supps, next_col, nonzero_start, nonzero_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, col_map[next_col], neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
- update_supports(pos_supps, col_map[next_col], neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, col_map[next_col], pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
- update_supports(neg_supps, col_map[next_col], pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(supps, next_col, nonzero_start, nonzero_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, next_col, pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, next_col, pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, col_map[next_col], neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(pos_supps, col_map[next_col], neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, next_col, neg_ray_start, neg_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, next_col, neg_cir_start, neg_cir_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, col_map[next_col], pos_ray_start, pos_ray_end);
|
|
|
3d04b28 |
+ this->update_supports(neg_supps, col_map[next_col], pos_cir_start, pos_cir_end);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
*out << "\r";
|
|
|
3d04b28 |
*out << " Left = " << std::setw(3) << num_remaining;
|
|
|
3d04b28 |
diff -up 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp.gcc47 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp
|
|
|
3d04b28 |
--- 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp.gcc47 2008-11-14 21:08:37.000000000 -0500
|
|
|
3d04b28 |
+++ 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp 2012-03-05 14:28:04.450566861 -0500
|
|
|
3d04b28 |
@@ -146,7 +146,7 @@ RayMatrixAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -161,7 +161,7 @@ RayMatrixAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
matrix = orig_matrix;
|
|
|
3d04b28 |
@@ -218,7 +218,7 @@ RayMatrixAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
continue;
|
|
|
3d04b28 |
@@ -226,14 +226,14 @@ RayMatrixAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
continue;
|
|
|
3d04b28 |
}
|
|
|
3d04b28 |
if (rank_check(matrix, temp_matrix, temp_diff, r1_rows))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -351,7 +351,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -366,7 +366,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
matrix = orig_matrix;
|
|
|
3d04b28 |
@@ -416,7 +416,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -442,7 +442,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_one_diff_added;
|
|
|
3d04b28 |
@@ -452,7 +452,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
if (rank_check(matrix, temp_matrix, temp_diff, r1_rows))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -468,7 +468,7 @@ RayMatrixAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -600,7 +600,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -615,7 +615,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, fathers, zeros, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, fathers, zeros, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
matrix = orig_matrix;
|
|
|
3d04b28 |
@@ -665,7 +665,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -689,7 +689,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
if (fathers[r1] == r2 || fathers[r2] == r1)
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
//++num_fathers;
|
|
|
3d04b28 |
@@ -705,7 +705,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
//++num_one_diff_added;
|
|
|
3d04b28 |
@@ -714,7 +714,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
#endif
|
|
|
3d04b28 |
if (rank_check(matrix, temp_matrix, temp_diff, r1_rows))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -730,7 +730,7 @@ RayMatrixAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, fathers, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -865,7 +865,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
DEBUG_4ti2(unsigned long long int num_checks = 0;)
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -880,7 +880,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
DEBUG_4ti2(*out << "Rays:\n" << vs << "\n";)
|
|
|
3d04b28 |
@@ -944,7 +944,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -959,7 +959,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -984,7 +984,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -996,7 +996,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
DEBUG_4ti2(++num_checks;)
|
|
|
3d04b28 |
if (rank_check(matrix, temp_matrix, temp_diff, r1_rows))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_added;)
|
|
|
3d04b28 |
@@ -1012,7 +1012,7 @@ RayMatrixAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
diff -up 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp.gcc47 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp
|
|
|
3d04b28 |
--- 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp.gcc47 2012-03-05 14:23:20.076683203 -0500
|
|
|
3d04b28 |
+++ 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp 2012-03-05 14:28:38.437194415 -0500
|
|
|
3d04b28 |
@@ -138,7 +138,7 @@ RaySupportAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -153,7 +153,7 @@ RaySupportAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Note that the tree needs the ordering of the current vectors to be
|
|
|
3d04b28 |
@@ -206,7 +206,7 @@ RaySupportAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -226,7 +226,7 @@ RaySupportAlgorithm<IndexSet>::compute0(
|
|
|
3d04b28 |
++num_support_checks;
|
|
|
3d04b28 |
if (!tree.dominated(temp_supp, r1, r2))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -337,7 +337,7 @@ RaySupportAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -352,7 +352,7 @@ RaySupportAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Note that the tree needs the ordering of the current vectors to be
|
|
|
3d04b28 |
@@ -404,7 +404,7 @@ RaySupportAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -424,7 +424,7 @@ RaySupportAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
zero_supp.set_union(supports[index]);
|
|
|
3d04b28 |
if (index >= r2_start && index < r2_finish)
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -443,7 +443,7 @@ RaySupportAlgorithm<IndexSet>::compute1(
|
|
|
3d04b28 |
++num_support_checks;
|
|
|
3d04b28 |
if (!tree.dominated(temp_supp, r1, r2))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -550,7 +550,7 @@ RaySupportAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -565,7 +565,7 @@ RaySupportAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Note that the tree needs the ordering of the current vectors to be
|
|
|
3d04b28 |
@@ -619,7 +619,7 @@ RaySupportAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -638,7 +638,7 @@ RaySupportAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
zero_supp.set_union(supports[index]);
|
|
|
3d04b28 |
if (index >= r2_start && index < r2_finish)
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -661,7 +661,7 @@ RaySupportAlgorithm<IndexSet>::compute2(
|
|
|
3d04b28 |
++num_support_checks;
|
|
|
3d04b28 |
if (!tree.dominated(temp_supp, r1, r2))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -773,7 +773,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -788,7 +788,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
int original_size = vs.get_number();
|
|
|
3d04b28 |
@@ -852,7 +852,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_added;)
|
|
|
3d04b28 |
@@ -866,7 +866,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -885,7 +885,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
zero_supp.set_union(supports[index]);
|
|
|
3d04b28 |
if (index >= r2_index && index < r2_finish)
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_added;)
|
|
|
3d04b28 |
@@ -905,7 +905,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -918,7 +918,7 @@ RaySupportAlgorithm<IndexSet>::compute3(
|
|
|
3d04b28 |
DEBUG_4ti2(++num_checks;)
|
|
|
3d04b28 |
if (!tree.dominated(temp_supp, r1, r2))
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_added;)
|
|
|
3d04b28 |
@@ -1030,7 +1030,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// Find the next column.
|
|
|
3d04b28 |
int next_positive_count, next_negative_count, next_zero_count;
|
|
|
3d04b28 |
- Index next_col = next_column(vs, remaining,
|
|
|
3d04b28 |
+ Index next_col = this->next_column(vs, remaining,
|
|
|
3d04b28 |
next_positive_count,
|
|
|
3d04b28 |
next_negative_count,
|
|
|
3d04b28 |
next_zero_count);
|
|
|
3d04b28 |
@@ -1045,7 +1045,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
)
|
|
|
3d04b28 |
|
|
|
3d04b28 |
// We sort the vectors into zeros, positives, then negatives.
|
|
|
3d04b28 |
- sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
+ RayImplementation<IndexSet>::sort(vs, supports, next_col, next_zero_count, next_positive_count,
|
|
|
3d04b28 |
next_negative_count);
|
|
|
3d04b28 |
|
|
|
3d04b28 |
int original_size = vs.get_number();
|
|
|
3d04b28 |
@@ -1114,7 +1114,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
IndexSet::set_difference(supports[r2], r1_supp, temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -1134,7 +1134,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
zero_supp.set_union(supports[index]);
|
|
|
3d04b28 |
if (index >= r2_start && index < r2_finish)
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, index, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
++num_added;
|
|
|
3d04b28 |
@@ -1148,7 +1148,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff);
|
|
|
3d04b28 |
if (temp_diff.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -1168,7 +1168,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
IndexSet::set_difference(r1_supp, supports[r2], temp_diff2);
|
|
|
3d04b28 |
if (temp_diff2.power_of_2())
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
DEBUG_4ti2(++num_one_diff_added;)
|
|
|
3d04b28 |
@@ -1183,7 +1183,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
int count = temp_supp.count();
|
|
|
3d04b28 |
next_supports[count].push_back(temp_supp);
|
|
|
3d04b28 |
next_indices[count].push_back(std::pair<int,int>(r1,r2));
|
|
|
3d04b28 |
- //create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ //this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
// next_positive_count, next_negative_count,
|
|
|
3d04b28 |
// temp, temp_supp);
|
|
|
3d04b28 |
//++num_added;
|
|
|
3d04b28 |
@@ -1216,7 +1216,7 @@ RaySupportAlgorithm<IndexSet>::compute4(
|
|
|
3d04b28 |
{
|
|
|
3d04b28 |
int r1 = next_indices[i][j].first;
|
|
|
3d04b28 |
int r2 = next_indices[i][j].second;
|
|
|
3d04b28 |
- create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
+ this->create_new_vector(vs, supports, r1, r2, next_col,
|
|
|
3d04b28 |
next_positive_count, next_negative_count,
|
|
|
3d04b28 |
temp, temp_supp);
|
|
|
3d04b28 |
next_tree.insert(next_supports[i][j], vs.get_number()-1);
|