Update of /cvsroot/fink/dists/10.7/stable/main/finkinfo/sci In directory vz-cvs-3.sog:/tmp/cvs-serv26356
Modified Files: 4ti2.info Added Files: 4ti2.patch Log Message: update for modern compilers (thanks to Jack Howarth for the patch) Index: 4ti2.info =================================================================== RCS file: /cvsroot/fink/dists/10.7/stable/main/finkinfo/sci/4ti2.info,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- 4ti2.info 4 Dec 2011 16:30:30 -0000 1.4 +++ 4ti2.info 29 Sep 2012 16:39:21 -0000 1.5 @@ -1,19 +1,21 @@ Package: 4ti2 Version: 1.3.2 -Revision: 101 +Revision: 103 BuildDepends: gmp5 (>= 5.0.2-1), glpk-dev (>= 4.44-1) Depends: gmp5-shlibs (>= 5.0.2-1), libgmpxx5-shlibs (>= 5.0.2-1), glpk-shlibs (>= 4.44-1) Source: http://4ti2.de/version_%v/4ti2-%v.tar.gz Source-MD5: 93367e63944d8bb18192c4984544ed0d +PatchFile: %n.patch +PatchFile-MD5: 1bdba6baffb3a5c0b76dc853dd4c5117 License: GPL2+ GCC: 4.0 -SetCC: llvm-gcc-4.2 -SetCXX: llvm-g++-4.2 DocFiles: COPYING NEWS README TODO +InfoTest: TestScript: make check || : SplitOff: << Package: %N-dev Conflicts: %N (<= 1.3.2-1), libecat Replaces: %N (<= 1.3.2-1), libecat + BuildDependsOnly: true Files: include lib DocFiles: COPYING NEWS README TODO << @@ -34,4 +36,6 @@ As of rev. 2, we do create a -dev splitoff, so that conflicts between 4ti2's include files and those of other packages can be easily resolved. + + Thanks to Jack Howarth for patching this for use with modern compilers. << --- NEW FILE: 4ti2.patch --- diff -uNr 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp 4ti2-1.3.2.clang/src/groebner/CircuitMatrixAlgorithm.tpp --- 4ti2-1.3.2/src/groebner/CircuitMatrixAlgorithm.tpp 2008-11-14 21:08:37.000000000 -0500 +++ 4ti2-1.3.2.clang/src/groebner/CircuitMatrixAlgorithm.tpp 2012-09-26 10:08:32.000000000 -0400 @@ -152,23 +152,23 @@ ) // 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 @@ // 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 @@ 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; diff -uNr 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp 4ti2-1.3.2.clang/src/groebner/CircuitSupportAlgorithm.tpp --- 4ti2-1.3.2/src/groebner/CircuitSupportAlgorithm.tpp 2008-11-14 21:08:37.000000000 -0500 +++ 4ti2-1.3.2.clang/src/groebner/CircuitSupportAlgorithm.tpp 2012-09-26 10:08:32.000000000 -0400 @@ -188,23 +188,23 @@ ) // 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 @@ // 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 @@ 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; diff -uNr 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp 4ti2-1.3.2.clang/src/groebner/RayMatrixAlgorithm.tpp --- 4ti2-1.3.2/src/groebner/RayMatrixAlgorithm.tpp 2008-11-14 21:08:37.000000000 -0500 +++ 4ti2-1.3.2.clang/src/groebner/RayMatrixAlgorithm.tpp 2012-09-26 10:08:32.000000000 -0400 @@ -865,7 +865,7 @@ 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 @@ ) // 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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;) diff -uNr 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp 4ti2-1.3.2.clang/src/groebner/RaySupportAlgorithm.tpp --- 4ti2-1.3.2/src/groebner/RaySupportAlgorithm.tpp 2008-11-14 21:08:37.000000000 -0500 +++ 4ti2-1.3.2.clang/src/groebner/RaySupportAlgorithm.tpp 2012-09-26 10:08:32.000000000 -0400 @@ -773,7 +773,7 @@ // 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 @@ ) // 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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;) ------------------------------------------------------------------------------ How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.cvs