4ti2-1.6
OBS-URL: https://build.opensuse.org/package/show/science/4ti2?expand=0&rev=7
This commit is contained in:
parent
c817875501
commit
58f32226c9
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1bbe07f04cd4e9404867ceaf842518d1f978dcbee8841590dfb8f82cde23cd65
|
||||
size 2002404
|
3
4ti2-1.6.tar.gz
Normal file
3
4ti2-1.6.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5edd106a3584408d89c58cb432f8b08eec472aa3277a35928523cdb4e43c769e
|
||||
size 5556747
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:62b4cab56ab3a5d4555732847fb9fa547a04f66422576fee6453079b960691e7
|
||||
size 343396
|
21
4ti2-docdir.diff
Normal file
21
4ti2-docdir.diff
Normal file
@ -0,0 +1,21 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2014-02-05 00:33:39.300262391 +0100
|
||||
|
||||
build: stop misplacing documentation
|
||||
|
||||
docdir must not be statically set as it would override what the
|
||||
user gave to ./configure --docdir=...
|
||||
|
||||
---
|
||||
doc/Makefile.am | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
Index: 4ti2-1.6/doc/Makefile.am
|
||||
===================================================================
|
||||
--- 4ti2-1.6.orig/doc/Makefile.am
|
||||
+++ 4ti2-1.6/doc/Makefile.am
|
||||
@@ -1,4 +1,3 @@
|
||||
-docdir = $(pkgdatadir)/doc
|
||||
|
||||
doc_DATA = 4ti2_manual.pdf
|
||||
|
356
4ti2-gcc.diff
356
4ti2-gcc.diff
@ -1,356 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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<IndexSet>::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<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 remaining_row = upper_triangle(matrix, remaining, 0);
|
||||
@@ -212,15 +212,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;
|
||||
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<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;
|
||||
|
||||
@@ -233,8 +233,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();
|
||||
@@ -258,19 +258,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;
|
||||
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<IndexSet>::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<IndexSet>::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<IndexSet>::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<IndexSet>::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<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";)
|
||||
@@ -944,7 +944,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;)
|
||||
@@ -959,7 +959,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;)
|
||||
@@ -984,7 +984,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;)
|
||||
@@ -996,7 +996,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;)
|
||||
@@ -1012,7 +1012,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;)
|
||||
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<IndexSet>::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<IndexSet>::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<IndexSet>::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<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);
|
||||
@@ -788,7 +788,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();
|
||||
@@ -852,7 +852,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;)
|
||||
@@ -866,7 +866,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_one_diff_added;)
|
||||
@@ -885,7 +885,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;)
|
||||
@@ -905,7 +905,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_one_diff_added;)
|
||||
@@ -918,7 +918,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;)
|
||||
@@ -1045,7 +1045,7 @@ RaySupportAlgorithm<IndexSet>::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();
|
3067
4ti2-glpk.diff
Normal file
3067
4ti2-glpk.diff
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2012-12-06 16:01:44.178343276 +0100
|
||||
|
||||
build: resolve failure to run libtool
|
||||
|
||||
configure would not detect GLPK's presence if the libtool
|
||||
call failed, and it does when --tag is not specified.
|
||||
Happens in libtool < 2.4.
|
||||
|
||||
---
|
||||
m4/glpk-check.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: 4ti2-1.3.2/m4/glpk-check.m4
|
||||
===================================================================
|
||||
--- 4ti2-1.3.2.orig/m4/glpk-check.m4
|
||||
+++ 4ti2-1.3.2/m4/glpk-check.m4
|
||||
@@ -27,7 +27,7 @@ BACKUP_CXXFLAGS=${CXXFLAGS}
|
||||
BACKUP_LIBS=${LIBS}
|
||||
BACKUP_CXX=${CXX}
|
||||
|
||||
-CXX="./libtool --mode=link ${CXX}"
|
||||
+CXX="./libtool --tag=CXX --mode=link ${CXX}"
|
||||
|
||||
AC_MSG_CHECKING(for GLPK)
|
||||
|
@ -1,22 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2012-12-06 15:33:29.895691589 +0100
|
||||
|
||||
build: resolve -Wreturn-type warnings
|
||||
|
||||
qsolve_main.cpp: In function 'bool input_Rel(const char*, _4ti2_::BitSet&, _4ti2_::BitSet&, _4ti2_::BitSet&)':
|
||||
qsolve_main.cpp:336:1: warning: control reaches end of non-void function [-Wreturn-type]
|
||||
|
||||
---
|
||||
src/groebner/qsolve_main.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: 4ti2-1.3.2/src/groebner/qsolve_main.cpp
|
||||
===================================================================
|
||||
--- 4ti2-1.3.2.orig/src/groebner/qsolve_main.cpp
|
||||
+++ 4ti2-1.3.2/src/groebner/qsolve_main.cpp
|
||||
@@ -333,4 +333,5 @@ input_Rel(const char* rel_filename, BitS
|
||||
std::cerr << "INPUT ERROR: Check there are only the characters =, <, and >.\n";
|
||||
exit(1);
|
||||
}
|
||||
+ return 1;
|
||||
}
|
10
4ti2.changes
10
4ti2.changes
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 4 18:39:35 UTC 2014 - jengelh@inai.de
|
||||
|
||||
- Update to new upstream release 1.6
|
||||
* Restore the functionality of "hilbert" to accept "rel" files
|
||||
* When the cone is not pointed, "hilbert" now outputs a "zfree" file,
|
||||
containing a lattice basis, in addition to the "hil" file.
|
||||
- Remove 4ti2-gcc.diff, 4ti2-nonvoid-return.diff, 4ti2-libtool.diff
|
||||
(merged upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 17 08:05:30 UTC 2013 - jengelh@inai.de
|
||||
|
||||
|
39
4ti2.spec
39
4ti2.spec
@ -17,27 +17,24 @@
|
||||
|
||||
|
||||
Name: 4ti2
|
||||
Version: 1.3.2
|
||||
Version: 1.6
|
||||
Release: 0
|
||||
Summary: Package for algebraic, geometric and combinatorial problems on linear spaces
|
||||
License: GPL-2.0+
|
||||
Group: Productivity/Scientific/Math
|
||||
Url: http://4ti2.de/
|
||||
|
||||
Source: %name-%version.tar.xz
|
||||
Source2: %name-doc.tar.xz
|
||||
Patch1: 4ti2-gcc.diff
|
||||
Patch2: 4ti2-missing-libs.diff
|
||||
Patch3: 4ti2-nonvoid-return.diff
|
||||
Patch4: 4ti2-libtool.diff
|
||||
Source: http://4ti2.de/version_1.6/%name-%version.tar.gz
|
||||
Patch1: 4ti2-missing-libs.diff
|
||||
Patch2: 4ti2-glpk.diff
|
||||
Patch3: 4ti2-docdir.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf >= 2.59
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc-c++ >= 3.4
|
||||
BuildRequires: glpk-devel
|
||||
BuildRequires: gcc-c++ >= 4.3
|
||||
BuildRequires: glpk-devel >= 4.52
|
||||
BuildRequires: gmp-devel >= 4.1.4
|
||||
BuildRequires: libtool
|
||||
BuildRequires: xz
|
||||
|
||||
%description
|
||||
4ti2 is a collection of programs that compute and solve algebraic,
|
||||
@ -73,29 +70,25 @@ This subpackage contains the include files and library links for
|
||||
developing against 4ti2's libraries.
|
||||
|
||||
%prep
|
||||
%setup -qa2
|
||||
%patch -P 1 -P 2 -P 3 -P 4 -p1
|
||||
%setup -q
|
||||
%patch -P 1 -P 2 -P 3 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fi;
|
||||
if [ ! -e libtool ]; then
|
||||
# m4/glpk-check.m4 is funny... it requires libtool before
|
||||
# libtool is created.
|
||||
cp "$(which libtool)" ./;
|
||||
fi;
|
||||
%configure --enable-shared --disable-static \
|
||||
--includedir="%_includedir/pkg/%name"
|
||||
--includedir="%_includedir/pkg/%name" --docdir="%_docdir/%name"
|
||||
make %{?_smp_mflags};
|
||||
|
||||
%install
|
||||
b="%buildroot";
|
||||
make install DESTDIR="$b";
|
||||
cp doc/* "$b/%_docdir/%name/"
|
||||
rm -f "$b/%_libdir"/*.la;
|
||||
mkdir -p "$b/%_bindir" "$b/%_libexecdir/%name";
|
||||
mv "$b/%_bindir"/* "$b/%_libexecdir/%name/";
|
||||
pushd "$b/%_libexecdir/%name";
|
||||
for i in 4ti2*; do
|
||||
ln -s "%_libexecdir/%name/$i" "$b/%_bindir/$i";
|
||||
for i in *; do
|
||||
ln -s "%_libexecdir/%name/$i" "$b/%_bindir/4ti2_$i";
|
||||
done;
|
||||
|
||||
%post -n lib4ti2-0 -p /sbin/ldconfig
|
||||
@ -106,14 +99,16 @@ done;
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%_bindir/4ti2*
|
||||
%_libexecdir/%name
|
||||
%doc COPYING doc/*
|
||||
%_libexecdir/%name/
|
||||
%_docdir/%name/
|
||||
|
||||
%files -n lib4ti2-0
|
||||
%defattr(-,root,root)
|
||||
%_libdir/lib4ti2gmp.so.0*
|
||||
%_libdir/lib4ti2int32.so.0*
|
||||
%_libdir/lib4ti2int64.so.0*
|
||||
%_libdir/lib4ti2common.so.0*
|
||||
%_libdir/lib4ti2util.so.0*
|
||||
|
||||
%files -n libzsolve0
|
||||
%defattr(-,root,root)
|
||||
|
Loading…
Reference in New Issue
Block a user