Skip to content

Commit 77c25aa

Browse files
author
Matthias Koeppe
committed
sage.rings.polynomial.multi_polynomial_ring_base: Add ABC BooleanPolynomialRing_base (fixup)
1 parent 5cd2df9 commit 77c25aa

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

src/sage/rings/polynomial/multi_polynomial_ring_base.pyx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,6 +1738,28 @@ cdef class MPolynomialRing_base(sage.rings.ring.CommutativeRing):
17381738
return DifferentialWeylAlgebra(self)
17391739

17401740

1741+
cdef class BooleanPolynomialRing_base(MPolynomialRing_base):
1742+
r"""
1743+
Abstract base class for :class:`~sage.rings.polynomial.pbori.pbori.BooleanPolynomialRing`.
1744+
1745+
This class is defined for the purpose of ``isinstance`` tests. It should not be
1746+
instantiated.
1747+
1748+
EXAMPLES::
1749+
1750+
sage: from sage.rings.polynomial.multi_polynomial_ring_base import BooleanPolynomialRing_base
1751+
sage: R.<x, y, z> = BooleanPolynomialRing()
1752+
sage: isinstance(R, BooleanPolynomialRing_base)
1753+
True
1754+
1755+
By design, there is only one direct implementation subclass::
1756+
1757+
sage: len(BooleanPolynomialRing_base.__subclasses__()) <= 1
1758+
True
1759+
"""
1760+
pass
1761+
1762+
17411763
####################
17421764
# Leave *all* old versions!
17431765

src/sage/rings/polynomial/pbori/pbori.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from libcpp.memory cimport unique_ptr, shared_ptr, make_shared
22

3-
from sage.rings.polynomial.multi_polynomial_ring_base cimport BooleanPolynomialRing_base
3+
from sage.rings.polynomial.multi_polynomial_ring_base cimport MPolynomialRing_base, BooleanPolynomialRing_base
44
from sage.rings.polynomial.multi_polynomial cimport MPolynomial
55
from sage.structure.element cimport MonoidElement
66

src/sage/rings/polynomial/pbori/pbori.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ block_dp_asc = int(pbblock_dp_asc)
257257
rings = sage.misc.weak_dict.WeakValueDictionary()
258258

259259

260-
cdef class BooleanPolynomialRing(MPolynomialRing_base):
260+
cdef class BooleanPolynomialRing(BooleanPolynomialRing_base):
261261
"""
262262
Construct a boolean polynomial ring with the following parameters:
263263
@@ -410,7 +410,7 @@ cdef class BooleanPolynomialRing(MPolynomialRing_base):
410410
pbnames = tuple(names)
411411
names = [name.replace('(', '').replace(')', '') for name in pbnames]
412412

413-
MPolynomialRing_base.__init__(self, GF((2,1)), n, names, order)
413+
BooleanPolynomialRing_base.__init__(self, GF((2,1)), n, names, order)
414414

415415
counter = 0
416416
for i in range(len(order.blocks()) - 1):
@@ -7645,7 +7645,7 @@ cdef BooleanPolynomialRing BooleanPolynomialRing_from_PBRing(PBRing _ring):
76457645

76467646
self._pbring = _ring
76477647

7648-
MPolynomialRing_base.__init__(self, GF(2), n, names, T)
7648+
BooleanPolynomialRing_base.__init__(self, GF(2), n, names, T)
76497649

76507650
self._zero_element = new_BP(self)
76517651
(<BooleanPolynomial>self._zero_element)._pbpoly = PBBoolePolynomial(0, self._pbring)

0 commit comments

Comments
 (0)