mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-22 11:45:56 -04:00
Rebuild for givaro 4.0.1, fflas-ffpack 2.2.0, and linbox 1.4.0.
Add -givaro patch to adapt to header file changes in those releases.
This commit is contained in:
parent
7ba3de24ee
commit
5829ef49ab
2 changed files with 97 additions and 1 deletions
88
sagemath-givaro.patch
Normal file
88
sagemath-givaro.patch
Normal file
|
@ -0,0 +1,88 @@
|
|||
Some functions were moved from linbox to givaro, and some header files were
|
||||
renamed in linbox 1.4 and givaro 4.
|
||||
|
||||
diff -up src/sage/libs/linbox/echelonform.pxd.orig src/sage/libs/linbox/echelonform.pxd
|
||||
--- src/sage/libs/linbox/echelonform.pxd.orig 2015-07-26 07:34:43.000000000 -0600
|
||||
+++ src/sage/libs/linbox/echelonform.pxd 2016-02-27 10:08:25.665593617 -0700
|
||||
@@ -1,23 +1,23 @@
|
||||
from sage.libs.linbox.modular cimport ModDoubleField, ModDoubleFieldElement, ModFloatField, ModFloatFieldElement
|
||||
from libc.stdint cimport uint64_t
|
||||
|
||||
-cdef extern from "linbox/matrix/blas-matrix.h" namespace "LinBox":
|
||||
- cdef cppclass BlasMatrixDouble "LinBox::BlasMatrix<LinBox::Modular<double> >":
|
||||
+cdef extern from "linbox/matrix/densematrix/blas-matrix.h" namespace "LinBox":
|
||||
+ cdef cppclass BlasMatrixDouble "LinBox::BlasMatrix<Givaro::Modular<double> >":
|
||||
BlasMatrixDouble(ModDoubleField F, uint64_t nrows, uint64_t ncols)
|
||||
void setEntry(size_t i, size_t j, ModDoubleFieldElement t)
|
||||
ModDoubleFieldElement &getEntry(size_t i, size_t j)
|
||||
|
||||
- cdef cppclass BlasMatrixFloat "LinBox::BlasMatrix<LinBox::Modular<float> >":
|
||||
+ cdef cppclass BlasMatrixFloat "LinBox::BlasMatrix<Givaro::Modular<float> >":
|
||||
BlasMatrixFloat(ModFloatField F, uint64_t nrows, uint64_t ncols)
|
||||
void setEntry(size_t i, size_t j, ModFloatFieldElement t)
|
||||
ModFloatFieldElement &getEntry(size_t i, size_t j)
|
||||
|
||||
cdef extern from "linbox/algorithms/echelon-form.h":
|
||||
- cdef cppclass EchelonFormDomainDouble "LinBox::EchelonFormDomain<LinBox::Modular<double> >":
|
||||
+ cdef cppclass EchelonFormDomainDouble "LinBox::EchelonFormDomain<Givaro::Modular<double> >":
|
||||
EchelonFormDomainDouble(ModDoubleField)
|
||||
int rowReducedEchelon(BlasMatrixDouble, BlasMatrixDouble)
|
||||
|
||||
- cdef cppclass EchelonFormDomainFloat "LinBox::EchelonFormDomain<LinBox::Modular<float> >":
|
||||
+ cdef cppclass EchelonFormDomainFloat "LinBox::EchelonFormDomain<Givaro::Modular<float> >":
|
||||
EchelonFormDomainFloat(ModFloatField)
|
||||
int rowReducedEchelon(BlasMatrixFloat, BlasMatrixFloat)
|
||||
|
||||
diff -up src/sage/libs/linbox/modular.pxd.orig src/sage/libs/linbox/modular.pxd
|
||||
--- src/sage/libs/linbox/modular.pxd.orig 2015-07-26 07:34:43.000000000 -0600
|
||||
+++ src/sage/libs/linbox/modular.pxd 2016-02-26 20:00:09.329004419 -0700
|
||||
@@ -1,10 +1,10 @@
|
||||
-cdef extern from "linbox/field/modular.h":
|
||||
+cdef extern from "givaro/modular-double.h":
|
||||
# double
|
||||
|
||||
- cdef cppclass ModDoubleFieldElement "LinBox::Modular<double>::Element":
|
||||
+ cdef cppclass ModDoubleFieldElement "Givaro::Modular<double>::Element":
|
||||
pass
|
||||
|
||||
- cdef cppclass ModDoubleField "LinBox::Modular<double>":
|
||||
+ cdef cppclass ModDoubleField "Givaro::Modular<double>":
|
||||
ModDoubleField(int modulus)
|
||||
ModDoubleFieldElement init(ModDoubleFieldElement res, int v)
|
||||
ModDoubleFieldElement init(ModDoubleFieldElement res, double v)
|
||||
@@ -19,11 +19,12 @@ cdef extern from "linbox/field/modular.h
|
||||
bint isZero(ModDoubleFieldElement x)
|
||||
|
||||
|
||||
+cdef extern from "givaro/modular-float.h":
|
||||
# float
|
||||
- cdef cppclass ModFloatFieldElement "LinBox::Modular<float>::Element":
|
||||
+ cdef cppclass ModFloatFieldElement "Givaro::Modular<float>::Element":
|
||||
pass
|
||||
|
||||
- cdef cppclass ModFloatField "LinBox::Modular<float>":
|
||||
+ cdef cppclass ModFloatField "Givaro::Modular<float>":
|
||||
ModFloatField(int modulus)
|
||||
ModFloatFieldElement init(ModFloatFieldElement res, int v)
|
||||
ModFloatFieldElement init(ModFloatFieldElement res, double v)
|
||||
diff -up src/sage/rings/finite_rings/element_givaro.pxd.orig src/sage/rings/finite_rings/element_givaro.pxd
|
||||
--- src/sage/rings/finite_rings/element_givaro.pxd.orig 2015-07-26 07:34:44.000000000 -0600
|
||||
+++ src/sage/rings/finite_rings/element_givaro.pxd 2016-02-26 17:45:57.983303693 -0700
|
||||
@@ -13,7 +13,7 @@ cdef extern from "givaro/givrandom.h":
|
||||
|
||||
GivRandom GivRandomSeeded "Givaro::GivRandom"(unsigned long seed)
|
||||
|
||||
-cdef extern from "givaro/givgfq.h":
|
||||
+cdef extern from "givaro/gfq.h":
|
||||
ctypedef struct intvec "std::vector<unsigned int>":
|
||||
void (* push_back)(int elem)
|
||||
|
||||
@@ -21,7 +21,7 @@ cdef extern from "givaro/givgfq.h":
|
||||
|
||||
intvec intvec_factory "std::vector<unsigned int>"(int len)
|
||||
|
||||
-cdef extern from "givaro/givgfq.h":
|
||||
+cdef extern from "givaro/gfq.h":
|
||||
|
||||
ctypedef struct GivaroGfq "Givaro::GFqDom<int>":
|
||||
#attributes
|
Loading…
Add table
Add a link
Reference in a new issue