[linbox] Enable FPLLL support. Adjust BRs for texlive 2012.
Jerry James
jjames at fedoraproject.org
Mon Dec 10 23:48:14 UTC 2012
commit 2440af5ee95c434fcdfa73ee9c15a5a20a77c62d
Author: Jerry James <jamesjer at betterlinux.com>
Date: Mon Dec 10 16:47:53 2012 -0700
Enable FPLLL support.
Adjust BRs for texlive 2012.
linbox-fplll.patch | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++
linbox.spec | 13 ++++++-
2 files changed, 98 insertions(+), 2 deletions(-)
---
diff --git a/linbox-fplll.patch b/linbox-fplll.patch
new file mode 100644
index 0000000..dc0ce66
--- /dev/null
+++ b/linbox-fplll.patch
@@ -0,0 +1,87 @@
+--- ./linbox/algorithms/lattice.h.orig 2012-06-07 02:30:32.000000000 -0600
++++ ./linbox/algorithms/lattice.h 2012-12-10 16:03:03.114827079 -0700
+@@ -48,18 +48,7 @@
+
+
+ #ifdef __LINBOX_HAVE_FPLLL
+-// this is a damn FPLLL bug !!!
+-namespace FPLLL {
+-#define round
+-#define trunc
+ #include <fplll/fplll.h>
+-#include <fplll/heuristic.h>
+-#include <fplll/proved.h>
+-#include <fplll/wrapper.h>
+-#undef round
+-#undef trunc
+-}
+-
+ #endif
+
+
+--- ./linbox/algorithms/lattice.inl.orig 2012-06-07 02:30:32.000000000 -0600
++++ ./linbox/algorithms/lattice.inl 2012-12-10 16:05:04.846262737 -0700
+@@ -335,31 +335,31 @@ namespace LinBox
+ if (withU)
+ throw NotImplementedYet("not U");
+ // Convert H
+- FPLLL::ZZ_mat<ZT> B(H.rowdim(),H.coldim()) ;
++ fplll::ZZ_mat<ZT> B(H.rowdim(),H.coldim()) ;
+ for (size_t i = 0 ; i < H.rowdim() ; ++i) {
+ for (size_t j = 0 ; j < H.coldim() ; ++j) {
+- B.Set(i,j,FPLLL::Z_NR<ZT>(H.getEntry(i,j)) );
++ B.Set(i,j,fplll::Z_NR<ZT>(H.getEntry(i,j)) );
+ }
+ }
+ // LLL()
+ switch (meth.getMeth()) {
+ case (latticeMethod::latticeFPLLL::P) :
+ {
+- FPLLL::proved<ZT,double> lllMethod(&B,meth.getPrecision(),
++ fplll::proved<ZT,double> lllMethod(&B,meth.getPrecision(),
+ meth.getEta(),meth.getDelta());
+ lllMethod.LLL();
+ }
+ break;
+ case (latticeMethod::latticeFPLLL::W) :
+ {
+- FPLLL::wrapper lllMethod(&B,meth.getPrecision(),
++ fplll::wrapper lllMethod(&B,meth.getPrecision(),
+ meth.getEta(),meth.getDelta());
+ lllMethod.LLL();
+ }
+ break;
+ case (latticeMethod::latticeFPLLL::H) :
+ {
+- FPLLL::heuristic<ZT,double> lllMethod(&B,meth.getPrecision(),
++ fplll::heuristic<ZT,double> lllMethod(&B,meth.getPrecision(),
+ meth.getEta(),meth.getDelta(),
+ meth.getSiegel());
+ lllMethod.LLL();
+--- ./linbox/algorithms/rational-reconstruction.h.orig 2012-06-07 02:30:32.000000000 -0600
++++ ./linbox/algorithms/rational-reconstruction.h 2012-12-10 16:05:42.491217743 -0700
+@@ -1734,7 +1734,7 @@ namespace LinBox
+ for (size_t i=1;i< k+1;++i){
+ Lattice.setEntry(i,i, mod );
+ _r.convert(tmp, real_approximation[bad_num_index+i-1]);
+- Lattice.setEntry(0,i,FPLLL::Z_NR<mpz_t>(tmp.get_mpz()));
++ Lattice.setEntry(0,i,fplll::Z_NR<mpz_t>(tmp.get_mpz()));
+ }
+
+
+--- ./configure.orig 2012-12-10 16:02:55.325073492 -0700
++++ ./configure 2012-12-10 16:03:03.118827059 -0700
+@@ -17018,12 +17018,11 @@ fi
+ /* end confdefs.h. */
+
+ #include <fplll/fplll.h>
+- #include <fplll/solver.h>
+
+ int
+ main ()
+ {
+-enum EvaluatorType a ;
++enum fplll::MatPrintMode a ;
+ ;
+ return 0;
+ }
diff --git a/linbox.spec b/linbox.spec
index 8f949ec..b9ccc4a 100644
--- a/linbox.spec
+++ b/linbox.spec
@@ -1,6 +1,6 @@
Name: linbox
Version: 1.3.2
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: C++ Library for High-Performance Exact Linear Algebra
Group: Development/Libraries
License: LGPLv2+
@@ -18,11 +18,14 @@ Patch3: %{name}-underlink.patch
Patch4: %{name}-driver.patch
# Fix detection of LAPACK support in FFLAS-FFPACK
Patch5: %{name}-lapack.patch
+# Adapt to FPLLL 4.x
+Patch6: %{name}-fplll.patch
BuildRequires: atlas-devel
BuildRequires: fflas-ffpack-devel
BuildRequires: givaro-devel
BuildRequires: iml-devel
+BuildRequires: libfplll-devel
BuildRequires: m4ri-devel
BuildRequires: m4rie-devel
BuildRequires: mpfr-devel
@@ -32,6 +35,7 @@ BuildRequires: doxygen
BuildRequires: ghostscript
BuildRequires: gnuplot
BuildRequires: tex(latex)
+BuildRequires: tex(stmaryrd.sty)
%description
LinBox is a C++ template library for exact, high-performance linear
@@ -69,6 +73,7 @@ Documentation for %{name}.
%patch3
%patch4
%patch5
+%patch6
%build
CFLAGS="%{optflags}"
@@ -133,6 +138,10 @@ LD_LIBRARY_PATH=`pwd`/linbox/.libs make %{?_smp_mflags} check
%changelog
+* Mon Dec 10 2012 Jerry James <loganjerry at gmail.com> - 1.3.2-5
+- Enable FPLLL support
+- Adjust BRs for texlive 2012
+
* Tue Oct 2 2012 Jerry James <loganjerry at gmail.com> - 1.3.2-4
- Rebuild for givaro 3.7.1
- Fix all linkage problems in the same patch
@@ -174,7 +183,7 @@ LD_LIBRARY_PATH=`pwd`/linbox/.libs make %{?_smp_mflags} check
* Mon Aug 29 2011 Jerry James <loganjerry at gmail.com> - 1.2.1-1
- Final 1.2.1 release
-* Tue Jul 4 2011 Jerry James <loganjerry at gmail.com> - 1.2.1-0.1.svn3901
+* Tue Jul 5 2011 Jerry James <loganjerry at gmail.com> - 1.2.1-0.1.svn3901
- Update to snapshot with fixes for Fedora
- Drop all patches, now upstream
- Remove unnecessary spec file elements (%%defattr, etc.)
More information about the scm-commits
mailing list