Skip to content

Commit 1185345

Browse files
author
Release Manager
committed
gh-36507: Fix implicit noexcept warnings We have about 7k different occurrences of this warning (about 59k with multiplicities). It turns out to be easy to fix automatically, which we do. There's only one mistake and one doctest error to fix after the automatic step. We also fix a few warnings in regards of `nogil` should appear at the end. Finally, we disable `legacy_implicit_noexcept` option which is no longer necessary. ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. URL: #36507 Reported by: Gonzalo Tornaría Reviewer(s): Matthias Köppe
2 parents 5b0af67 + 9ad02fb commit 1185345

File tree

735 files changed

+7115
-7115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

735 files changed

+7115
-7115
lines changed

src/sage/algebras/clifford_algebra_element.pxd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ from sage.modules.with_basis.indexed_element cimport IndexedFreeModuleElement
55
from sage.data_structures.bitset cimport FrozenBitset
66

77
cdef class CliffordAlgebraElement(IndexedFreeModuleElement):
8-
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff)
9-
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff)
8+
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff) noexcept
9+
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff) noexcept
1010

1111
cdef class ExteriorAlgebraElement(CliffordAlgebraElement):
1212
pass

src/sage/algebras/clifford_algebra_element.pyx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ cdef class CliffordAlgebraElement(IndexedFreeModuleElement):
6464
"""
6565
return repr_from_monomials(self.list(), self._parent._latex_term, True)
6666

67-
cdef _mul_(self, other):
67+
cdef _mul_(self, other) noexcept:
6868
"""
6969
Return ``self`` multiplied by ``other``.
7070
@@ -175,7 +175,7 @@ cdef class CliffordAlgebraElement(IndexedFreeModuleElement):
175175

176176
return self.__class__(self.parent(), d)
177177

178-
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff):
178+
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff) noexcept:
179179
r"""
180180
Multiply ``self * term`` with the ``term`` having support ``supp``
181181
and coefficient ``coeff``.
@@ -223,7 +223,7 @@ cdef class CliffordAlgebraElement(IndexedFreeModuleElement):
223223

224224
return type(self)(self._parent, {supp: coeff}) * self
225225

226-
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff):
226+
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff) noexcept:
227227
r"""
228228
Multiply ``term * self`` with the ``term`` having support ``supp``
229229
and coefficient ``coeff``.
@@ -399,7 +399,7 @@ cdef class ExteriorAlgebraElement(CliffordAlgebraElement):
399399
"""
400400
An element of an exterior algebra.
401401
"""
402-
cdef _mul_(self, other):
402+
cdef _mul_(self, other) noexcept:
403403
"""
404404
Return ``self`` multiplied by ``other``.
405405
@@ -519,7 +519,7 @@ cdef class ExteriorAlgebraElement(CliffordAlgebraElement):
519519

520520
return self.__class__(P, d)
521521

522-
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff):
522+
cdef CliffordAlgebraElement _mul_self_term(self, FrozenBitset supp, coeff) noexcept:
523523
r"""
524524
Multiply ``self * term`` with the ``term`` having support ``supp``
525525
and coefficient ``coeff``.
@@ -609,7 +609,7 @@ cdef class ExteriorAlgebraElement(CliffordAlgebraElement):
609609
del d[k]
610610
return type(self)(self._parent, d)
611611

612-
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff):
612+
cdef CliffordAlgebraElement _mul_term_self(self, FrozenBitset supp, coeff) noexcept:
613613
r"""
614614
Multiply ``term * self`` with the ``term`` having support ``supp``
615615
and coefficient ``coeff``.
@@ -938,7 +938,7 @@ cdef class CohomologyRAAGElement(CliffordAlgebraElement):
938938
939939
:class:`~sage.groups.raag.CohomologyRAAG`
940940
"""
941-
cdef _mul_(self, other):
941+
cdef _mul_(self, other) noexcept:
942942
"""
943943
Return ``self`` multiplied by ``other``.
944944

src/sage/algebras/exterior_algebra_groebner.pxd

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ from sage.algebras.clifford_algebra_element cimport CliffordAlgebraElement
77
from sage.structure.parent cimport Parent
88
from sage.structure.element cimport MonoidElement
99

10-
cdef long degree(FrozenBitset X)
11-
cdef CliffordAlgebraElement build_monomial(Parent E, FrozenBitset supp)
10+
cdef long degree(FrozenBitset X) noexcept
11+
cdef CliffordAlgebraElement build_monomial(Parent E, FrozenBitset supp) noexcept
1212

1313
cdef class GBElement:
1414
cdef CliffordAlgebraElement elt
@@ -24,25 +24,25 @@ cdef class GroebnerStrategy:
2424
cdef Integer rank
2525
cdef public tuple groebner_basis
2626

27-
cdef inline GBElement build_elt(self, CliffordAlgebraElement f)
28-
cdef inline GBElement prod_GB_term(self, GBElement f, FrozenBitset t)
29-
cdef inline GBElement prod_term_GB(self, FrozenBitset t, GBElement f)
30-
cdef inline bint build_S_poly(self, GBElement f, GBElement g)
27+
cdef inline GBElement build_elt(self, CliffordAlgebraElement f) noexcept
28+
cdef inline GBElement prod_GB_term(self, GBElement f, FrozenBitset t) noexcept
29+
cdef inline GBElement prod_term_GB(self, FrozenBitset t, GBElement f) noexcept
30+
cdef inline bint build_S_poly(self, GBElement f, GBElement g) noexcept
3131

32-
cdef inline FrozenBitset leading_support(self, CliffordAlgebraElement f)
33-
cdef inline partial_S_poly_left(self, GBElement f, GBElement g)
34-
cdef inline partial_S_poly_right(self, GBElement f, GBElement g)
35-
cdef set preprocessing(self, list P, list G)
36-
cdef list reduction(self, list P, list G)
32+
cdef inline FrozenBitset leading_support(self, CliffordAlgebraElement f) noexcept
33+
cdef inline partial_S_poly_left(self, GBElement f, GBElement g) noexcept
34+
cdef inline partial_S_poly_right(self, GBElement f, GBElement g) noexcept
35+
cdef set preprocessing(self, list P, list G) noexcept
36+
cdef list reduction(self, list P, list G) noexcept
3737

38-
cpdef CliffordAlgebraElement reduce(self, CliffordAlgebraElement f)
38+
cpdef CliffordAlgebraElement reduce(self, CliffordAlgebraElement f) noexcept
3939
cdef bint reduce_single(self, CliffordAlgebraElement f, CliffordAlgebraElement g) except -1
4040
cdef int reduced_gb(self, list G) except -1
4141

4242
# These are the methods that determine the ordering of the monomials.
4343
# These must be implemented in subclasses. Declare them as "inline" there.
44-
cdef Integer bitset_to_int(self, FrozenBitset X)
45-
cdef FrozenBitset int_to_bitset(self, Integer n)
44+
cdef Integer bitset_to_int(self, FrozenBitset X) noexcept
45+
cdef FrozenBitset int_to_bitset(self, Integer n) noexcept
4646

4747
cdef class GroebnerStrategyNegLex(GroebnerStrategy):
4848
pass

src/sage/algebras/exterior_algebra_groebner.pyx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ from sage.structure.richcmp cimport richcmp, rich_to_bool
2929
from sage.data_structures.blas_dict cimport iaxpy
3030
from copy import copy
3131

32-
cdef inline long degree(FrozenBitset X):
32+
cdef inline long degree(FrozenBitset X) noexcept:
3333
"""
3434
Compute the degree of ``X``.
3535
"""
3636
return bitset_len(X._bitset)
3737

3838

39-
cdef inline CliffordAlgebraElement build_monomial(Parent E, FrozenBitset supp):
39+
cdef inline CliffordAlgebraElement build_monomial(Parent E, FrozenBitset supp) noexcept:
4040
"""
4141
Helper function for the fastest way to build a monomial.
4242
"""
@@ -129,14 +129,14 @@ cdef class GroebnerStrategy:
129129
else:
130130
self.side = 2
131131

132-
cdef inline FrozenBitset leading_support(self, CliffordAlgebraElement f):
132+
cdef inline FrozenBitset leading_support(self, CliffordAlgebraElement f) noexcept:
133133
"""
134134
Return the leading support of the exterior algebra element ``f``.
135135
"""
136136
cdef dict mc = <dict> f._monomial_coefficients
137137
return self.int_to_bitset(max(self.bitset_to_int(k) for k in mc))
138138

139-
cdef inline partial_S_poly_left(self, GBElement f, GBElement g):
139+
cdef inline partial_S_poly_left(self, GBElement f, GBElement g) noexcept:
140140
r"""
141141
Compute one half of the `S`-polynomial for ``f`` and ``g``.
142142
@@ -153,7 +153,7 @@ cdef class GroebnerStrategy:
153153
ret.elt._monomial_coefficients[k] *= inv
154154
return ret
155155

156-
cdef inline partial_S_poly_right(self, GBElement f, GBElement g):
156+
cdef inline partial_S_poly_right(self, GBElement f, GBElement g) noexcept:
157157
r"""
158158
Compute one half of the `S`-polynomial for ``f`` and ``g``.
159159
@@ -170,7 +170,7 @@ cdef class GroebnerStrategy:
170170
ret.elt._monomial_coefficients[k] *= inv
171171
return ret
172172

173-
cdef inline GBElement build_elt(self, CliffordAlgebraElement f):
173+
cdef inline GBElement build_elt(self, CliffordAlgebraElement f) noexcept:
174174
"""
175175
Convert ``f`` into a ``GBElement``.
176176
"""
@@ -180,7 +180,7 @@ cdef class GroebnerStrategy:
180180
cdef Integer r = <Integer> max(self.bitset_to_int(k) for k in mc)
181181
return GBElement(f, self.int_to_bitset(r), r)
182182

183-
cdef inline GBElement prod_GB_term(self, GBElement f, FrozenBitset t):
183+
cdef inline GBElement prod_GB_term(self, GBElement f, FrozenBitset t) noexcept:
184184
"""
185185
Return the GBElement corresponding to ``f * t``.
186186
@@ -192,7 +192,7 @@ cdef class GroebnerStrategy:
192192
cdef FrozenBitset ls = <FrozenBitset> f.ls._union(t)
193193
return GBElement(<CliffordAlgebraElement> ret, ls, self.bitset_to_int(ls))
194194

195-
cdef inline GBElement prod_term_GB(self, FrozenBitset t, GBElement f):
195+
cdef inline GBElement prod_term_GB(self, FrozenBitset t, GBElement f) noexcept:
196196
"""
197197
Return the GBElement corresponding to ``t * f``.
198198
@@ -204,7 +204,7 @@ cdef class GroebnerStrategy:
204204
cdef FrozenBitset ls = <FrozenBitset> f.ls._union(t)
205205
return GBElement(<CliffordAlgebraElement> ret, ls, self.bitset_to_int(ls))
206206

207-
cdef inline bint build_S_poly(self, GBElement f, GBElement g):
207+
cdef inline bint build_S_poly(self, GBElement f, GBElement g) noexcept:
208208
r"""
209209
Check to see if we should build the `S`-polynomial.
210210
@@ -219,7 +219,7 @@ cdef class GroebnerStrategy:
219219

220220
return (<FrozenBitset> f.ls.intersection(g.ls)).isempty()
221221

222-
cdef inline set preprocessing(self, list P, list G):
222+
cdef inline set preprocessing(self, list P, list G) noexcept:
223223
"""
224224
Perform the preprocessing step.
225225
"""
@@ -265,7 +265,7 @@ cdef class GroebnerStrategy:
265265
break
266266
return L
267267

268-
cdef inline list reduction(self, list P, list G):
268+
cdef inline list reduction(self, list P, list G) noexcept:
269269
"""
270270
Perform the reduction of ``P`` mod ``G`` in ``E``.
271271
"""
@@ -450,7 +450,7 @@ cdef class GroebnerStrategy:
450450
cdef list G = [self.build_elt(f) for f in self.groebner_basis]
451451
self.reduced_gb(G)
452452

453-
cpdef CliffordAlgebraElement reduce(self, CliffordAlgebraElement f):
453+
cpdef CliffordAlgebraElement reduce(self, CliffordAlgebraElement f) noexcept:
454454
"""
455455
Reduce ``f`` modulo the ideal with Gröbner basis ``G``.
456456
@@ -515,10 +515,10 @@ cdef class GroebnerStrategy:
515515
iaxpy(-coeff, gp._monomial_coefficients, f._monomial_coefficients)
516516
return was_reduced
517517

518-
cdef Integer bitset_to_int(self, FrozenBitset X):
518+
cdef Integer bitset_to_int(self, FrozenBitset X) noexcept:
519519
raise NotImplementedError
520520

521-
cdef FrozenBitset int_to_bitset(self, Integer n):
521+
cdef FrozenBitset int_to_bitset(self, Integer n) noexcept:
522522
raise NotImplementedError
523523

524524
def sorted_monomials(self, as_dict=False):
@@ -597,7 +597,7 @@ cdef class GroebnerStrategyNegLex(GroebnerStrategy):
597597
"""
598598
Gröbner basis strategy implementing neglex ordering.
599599
"""
600-
cdef inline Integer bitset_to_int(self, FrozenBitset X):
600+
cdef inline Integer bitset_to_int(self, FrozenBitset X) noexcept:
601601
"""
602602
Convert ``X`` to an :class:`Integer`.
603603
"""
@@ -608,7 +608,7 @@ cdef class GroebnerStrategyNegLex(GroebnerStrategy):
608608
elt = bitset_next(X._bitset, elt + 1)
609609
return ret
610610

611-
cdef inline FrozenBitset int_to_bitset(self, Integer n):
611+
cdef inline FrozenBitset int_to_bitset(self, Integer n) noexcept:
612612
"""
613613
Convert a nonnegative integer ``n`` to a :class:`FrozenBitset`.
614614
"""
@@ -628,7 +628,7 @@ cdef class GroebnerStrategyDegRevLex(GroebnerStrategy):
628628
"""
629629
Gröbner basis strategy implementing degree revlex ordering.
630630
"""
631-
cdef inline Integer bitset_to_int(self, FrozenBitset X):
631+
cdef inline Integer bitset_to_int(self, FrozenBitset X) noexcept:
632632
"""
633633
Convert ``X`` to an :class:`Integer`.
634634
"""
@@ -647,7 +647,7 @@ cdef class GroebnerStrategyDegRevLex(GroebnerStrategy):
647647
elt = bitset_next(X._bitset, elt + 1)
648648
return Integer(sum(n.binomial(i) for i in range(deg+1)) - t - 1)
649649

650-
cdef inline FrozenBitset int_to_bitset(self, Integer n):
650+
cdef inline FrozenBitset int_to_bitset(self, Integer n) noexcept:
651651
"""
652652
Convert a nonnegative integer ``n`` to a :class:`FrozenBitset`.
653653
"""
@@ -669,7 +669,7 @@ cdef class GroebnerStrategyDegLex(GroebnerStrategy):
669669
"""
670670
Gröbner basis strategy implementing degree lex ordering.
671671
"""
672-
cdef inline Integer bitset_to_int(self, FrozenBitset X):
672+
cdef inline Integer bitset_to_int(self, FrozenBitset X) noexcept:
673673
"""
674674
Convert ``X`` to an :class:`Integer`.
675675
"""
@@ -688,7 +688,7 @@ cdef class GroebnerStrategyDegLex(GroebnerStrategy):
688688
elt = bitset_next(X._bitset, elt + 1)
689689
return Integer(sum(n.binomial(i) for i in range(deg+1)) - t - 1)
690690

691-
cdef inline FrozenBitset int_to_bitset(self, Integer n):
691+
cdef inline FrozenBitset int_to_bitset(self, Integer n) noexcept:
692692
"""
693693
Convert a nonnegative integer ``n`` to a :class:`FrozenBitset`.
694694
"""

src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
66
cdef Matrix __matrix
77
cdef FiniteDimensionalAlgebraElement __inverse
88

9-
cpdef FiniteDimensionalAlgebraElement unpickle_FiniteDimensionalAlgebraElement(A, vec, mat)
9+
cpdef FiniteDimensionalAlgebraElement unpickle_FiniteDimensionalAlgebraElement(A, vec, mat) noexcept

src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ from sage.rings.integer import Integer
2020

2121
from cpython.object cimport PyObject_RichCompare as richcmp
2222

23-
cpdef FiniteDimensionalAlgebraElement unpickle_FiniteDimensionalAlgebraElement(A, vec, mat):
23+
cpdef FiniteDimensionalAlgebraElement unpickle_FiniteDimensionalAlgebraElement(A, vec, mat) noexcept:
2424
"""
2525
Helper for unpickling of finite dimensional algebra elements.
2626
@@ -341,7 +341,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
341341
return self._vector.ncols()
342342

343343
# (Rich) comparison
344-
cpdef _richcmp_(self, right, int op):
344+
cpdef _richcmp_(self, right, int op) noexcept:
345345
"""
346346
EXAMPLES::
347347
@@ -373,7 +373,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
373373
"""
374374
return richcmp(self._vector, <FiniteDimensionalAlgebraElement>right._vector, op)
375375

376-
cpdef _add_(self, other):
376+
cpdef _add_(self, other) noexcept:
377377
"""
378378
EXAMPLES::
379379
@@ -383,7 +383,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
383383
"""
384384
return self._parent.element_class(self._parent, self._vector + <FiniteDimensionalAlgebraElement>other._vector)
385385

386-
cpdef _sub_(self, other):
386+
cpdef _sub_(self, other) noexcept:
387387
"""
388388
EXAMPLES::
389389
@@ -393,7 +393,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
393393
"""
394394
return self._parent.element_class(self._parent, self._vector - <FiniteDimensionalAlgebraElement>other._vector)
395395

396-
cpdef _mul_(self, other):
396+
cpdef _mul_(self, other) noexcept:
397397
"""
398398
EXAMPLES::
399399
@@ -403,7 +403,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
403403
"""
404404
return self._parent.element_class(self._parent, self._vector * <FiniteDimensionalAlgebraElement>(other)._matrix)
405405

406-
cpdef _lmul_(self, Element other):
406+
cpdef _lmul_(self, Element other) noexcept:
407407
"""
408408
TESTS::
409409
@@ -417,7 +417,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
417417
.format(self.parent(), other.parent()))
418418
return self._parent.element_class(self._parent, self._vector * other)
419419

420-
cpdef _rmul_(self, Element other):
420+
cpdef _rmul_(self, Element other) noexcept:
421421
"""
422422
TESTS::
423423
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cdef _fmat(fvars, Nk_ij, one, a, b, c, d, x, y)
2-
cpdef _backward_subs(factory, bint flatten=*)
3-
cpdef executor(tuple params)
4-
cpdef _solve_for_linear_terms(factory, list eqns=*)
1+
cdef _fmat(fvars, Nk_ij, one, a, b, c, d, x, y) noexcept
2+
cpdef _backward_subs(factory, bint flatten=*) noexcept
3+
cpdef executor(tuple params) noexcept
4+
cpdef _solve_for_linear_terms(factory, list eqns=*) noexcept

0 commit comments

Comments
 (0)