diff --git a/build/pkgs/configure/checksums.ini b/build/pkgs/configure/checksums.ini index 4279dbcab98..2306aa7efe8 100644 --- a/build/pkgs/configure/checksums.ini +++ b/build/pkgs/configure/checksums.ini @@ -1,4 +1,4 @@ tarball=configure-VERSION.tar.gz -sha1=25a360e4892317526249e50eaa51297891511d61 -md5=0fd34b91fc06199e6c3672ad969472ee -cksum=1226224895 +sha1=461fc89608a23f5e06c75bdd0a7480527fc3fa66 +md5=94145a9c6e55496266631d06c3d7fdeb +cksum=613494009 diff --git a/build/pkgs/configure/package-version.txt b/build/pkgs/configure/package-version.txt index d656dec2c38..ede56209a4a 100644 --- a/build/pkgs/configure/package-version.txt +++ b/build/pkgs/configure/package-version.txt @@ -1 +1 @@ -d13f6164a314f330071fe2a99112e78de03347f0 +e9456b2da71c424d3ff188d5bb75e3c60f42be16 diff --git a/src/sage/modular/arithgroup/farey.cpp b/src/sage/modular/arithgroup/farey.cpp index 209391676de..d224b2a8d13 100644 --- a/src/sage/modular/arithgroup/farey.cpp +++ b/src/sage/modular/arithgroup/farey.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -737,7 +738,7 @@ size_t FareySymbol::nu3() const { size_t FareySymbol::rank_pi() const { if( index() == 2 ) return 1; return count_if(pairing.begin(), pairing.end(), - bind2nd(greater(), 0))/2; + bind(greater(), placeholders::_1, 0))/2; } size_t FareySymbol::number_of_cusps() const { diff --git a/src/sage/modular/arithgroup/farey_symbol.pyx b/src/sage/modular/arithgroup/farey_symbol.pyx index 34546c082da..4cfb4b12363 100644 --- a/src/sage/modular/arithgroup/farey_symbol.pyx +++ b/src/sage/modular/arithgroup/farey_symbol.pyx @@ -1,4 +1,6 @@ # distutils: sources = sage/modular/arithgroup/sl2z.cpp sage/modular/arithgroup/farey.cpp +# distutils: language = c++ +# distutils: extra_compile_args = -std=c++11 # sage.doctest: needs sage.libs.pari r""" Farey symbol for arithmetic subgroups of `\PSL_2(\ZZ)` diff --git a/src/sage/rings/polynomial/hilbert.pyx b/src/sage/rings/polynomial/hilbert.pyx index 147db5691c3..9e61c4b129e 100644 --- a/src/sage/rings/polynomial/hilbert.pyx +++ b/src/sage/rings/polynomial/hilbert.pyx @@ -106,7 +106,7 @@ cdef inline list interred(list L) noexcept: # that appears later in L. if not L: return [] - L.sort(key=ETuple.unweighted_degree) + L.sort(key=ETuple._unweighted_degree) cdef size_t i cdef ETuple m cdef list result = [ PyList_GET_ITEM(L, 0)] diff --git a/src/sage/rings/polynomial/polydict.pxd b/src/sage/rings/polynomial/polydict.pxd index 432ae7d8c47..af56cd80364 100644 --- a/src/sage/rings/polynomial/polydict.pxd +++ b/src/sage/rings/polynomial/polydict.pxd @@ -14,6 +14,8 @@ cdef class ETuple: cdef ETuple _new(self) noexcept cdef int get_exp(self, size_t i) noexcept + # need a cdef version for function pointers + cdef int _unweighted_degree(self) except * cpdef int unweighted_degree(self) except * cpdef int weighted_degree(self, tuple w) except * cpdef int unweighted_quotient_degree(self, ETuple other) except * diff --git a/src/sage/rings/polynomial/polydict.pyx b/src/sage/rings/polynomial/polydict.pyx index af24e7ff245..0ecf35e452f 100644 --- a/src/sage/rings/polynomial/polydict.pyx +++ b/src/sage/rings/polynomial/polydict.pyx @@ -1845,7 +1845,7 @@ cdef class ETuple: # additional methods - cpdef int unweighted_degree(self) except *: + cdef int _unweighted_degree(self) except *: r""" Return the sum of entries. @@ -1863,6 +1863,20 @@ cdef class ETuple: degree += self._data[2 * i + 1] return degree + cpdef int unweighted_degree(self) except *: + r""" + Return the sum of entries. + + EXAMPLES:: + + sage: from sage.rings.polynomial.polydict import ETuple + sage: ETuple([1, 1, 0, 2, 0]).unweighted_degree() + 4 + sage: ETuple([-1, 1]).unweighted_degree() + 0 + """ + return self._unweighted_degree() + @cython.boundscheck(False) @cython.wraparound(False) cpdef int weighted_degree(self, tuple w) except *: