passagemath-brial 10.8.1a3__cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. passagemath_brial/__init__.py +3 -0
  2. passagemath_brial-10.8.1a3.dist-info/METADATA +96 -0
  3. passagemath_brial-10.8.1a3.dist-info/RECORD +39 -0
  4. passagemath_brial-10.8.1a3.dist-info/WHEEL +6 -0
  5. passagemath_brial-10.8.1a3.dist-info/top_level.txt +3 -0
  6. passagemath_brial.libs/libbrial-a2b87c7c.so.3.0.7 +0 -0
  7. passagemath_brial.libs/libbrial_groebner-607bf574.so.3.0.7 +0 -0
  8. passagemath_brial.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
  9. passagemath_brial.libs/libm4ri-4311ab86.so.2.0.1 +0 -0
  10. passagemath_brial.libs/libpng16-5d944a30.so.16.54.0 +0 -0
  11. sage/all__sagemath_brial.py +9 -0
  12. sage/libs/all__sagemath_brial.py +1 -0
  13. sage/libs/polybori/__init__.pxd +2 -0
  14. sage/libs/polybori/decl.pxd +401 -0
  15. sage/libs/polybori/pb_wrap.h +133 -0
  16. sage/rings/all__sagemath_brial.py +1 -0
  17. sage/rings/polynomial/all__sagemath_brial.py +1 -0
  18. sage/rings/polynomial/pbori/PyPolyBoRi.py +124 -0
  19. sage/rings/polynomial/pbori/__init__.py +46 -0
  20. sage/rings/polynomial/pbori/blocks.py +499 -0
  21. sage/rings/polynomial/pbori/cnf.py +241 -0
  22. sage/rings/polynomial/pbori/easy_polynomials.py +59 -0
  23. sage/rings/polynomial/pbori/fglm.py +93 -0
  24. sage/rings/polynomial/pbori/frontend.py +70 -0
  25. sage/rings/polynomial/pbori/gbcore.py +644 -0
  26. sage/rings/polynomial/pbori/gbrefs.py +129 -0
  27. sage/rings/polynomial/pbori/heuristics.py +35 -0
  28. sage/rings/polynomial/pbori/interpolate.py +122 -0
  29. sage/rings/polynomial/pbori/interred.py +34 -0
  30. sage/rings/polynomial/pbori/ll.py +302 -0
  31. sage/rings/polynomial/pbori/nf.py +671 -0
  32. sage/rings/polynomial/pbori/parallel.py +308 -0
  33. sage/rings/polynomial/pbori/pbori.cpython-314-aarch64-linux-gnu.so +0 -0
  34. sage/rings/polynomial/pbori/pbori.pxd +127 -0
  35. sage/rings/polynomial/pbori/pbori.pyx +8103 -0
  36. sage/rings/polynomial/pbori/randompoly.py +111 -0
  37. sage/rings/polynomial/pbori/rank.py +27 -0
  38. sage/rings/polynomial/pbori/specialsets.py +119 -0
  39. sage/rings/polynomial/pbori/statistics.py +35 -0
@@ -0,0 +1,3 @@
1
+ # sage_setup: distribution = sagemath-brial
2
+
3
+ from sage.all__sagemath_brial import *
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-brial
3
+ Version: 10.8.1a3
4
+ Summary: passagemath: Boolean Ring Algebra with BRiAl
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
27
+ Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
29
+ Requires-Python: <3.15,>=3.11
30
+ Description-Content-Type: text/x-rst
31
+ Requires-Dist: cysignals!=1.12.4; sys_platform == "win32"
32
+ Requires-Dist: cysignals!=1.12.0,>=1.11.2
33
+ Requires-Dist: passagemath-categories==10.8.1.alpha3
34
+ Provides-Extra: test
35
+ Requires-Dist: passagemath-modules; extra == "test"
36
+ Requires-Dist: passagemath-ntl; extra == "test"
37
+ Requires-Dist: passagemath-flint; extra == "test"
38
+ Requires-Dist: passagemath-pari; extra == "test"
39
+ Requires-Dist: passagemath-repl; extra == "test"
40
+ Requires-Dist: passagemath-singular; extra == "test"
41
+
42
+ =========================================================================
43
+ passagemath: Boolean Ring Algebra with BRiAl
44
+ =========================================================================
45
+
46
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
47
+ source mathematical software in Python, released under the GNU General
48
+ Public Licence GPLv2+.
49
+
50
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
51
+ developed 2005-2025 under the motto “Creating a Viable Open Source
52
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
53
+
54
+ The passagemath fork uses the motto "Creating a Free Passage Between the
55
+ Scientific Python Ecosystem and Mathematical Software Communities."
56
+ It was created in October 2024 with the following goals:
57
+
58
+ - providing modularized installation with pip,
59
+ - establishing first-class membership in the scientific Python
60
+ ecosystem,
61
+ - giving `clear attribution of upstream
62
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
63
+ - providing independently usable Python interfaces to upstream
64
+ libraries,
65
+ - offering `platform portability and integration testing
66
+ services <https://github.com/passagemath/passagemath/issues/704>`__
67
+ to upstream projects,
68
+ - inviting collaborations with upstream projects,
69
+ - `building a professional, respectful, inclusive
70
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
71
+ - `empowering Sage users to participate in the scientific Python ecosystem
72
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
73
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
74
+ serverless deployment with Javascript,
75
+ - developing a native Windows port.
76
+
77
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
78
+ available online.
79
+
80
+ passagemath attempts to support and provides binary wheels suitable for
81
+ all major Linux distributions and recent versions of macOS.
82
+
83
+ Binary wheels for native Windows (x86_64) are are available for a subset of
84
+ the passagemath distributions. Use of the full functionality of passagemath
85
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
86
+ or virtualization.
87
+
88
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
89
+
90
+
91
+ About this pip-installable distribution package
92
+ -----------------------------------------------
93
+
94
+ This pip-installable source distribution ``passagemath-brial`` provides
95
+ a Boolean Ring Algebra implementation using binary decision diagrams,
96
+ implemented by the BRiAl library, the successor to PolyBoRi.
@@ -0,0 +1,39 @@
1
+ passagemath_brial/__init__.py,sha256=u3JOuHEFYqH_QD2APr5v33fbb-mXCTSzBtw6MCCcXNk,84
2
+ passagemath_brial.libs/libbrial-a2b87c7c.so.3.0.7,sha256=dR90BHFyenROH3GdAl16vLmvDS9S-QlLqMPWHH_6Wq8,10503625
3
+ passagemath_brial.libs/libbrial_groebner-607bf574.so.3.0.7,sha256=6zZRQHhvu7qpVhn0HkuB-1b-eg-jCn_6nj8j331EwsY,20569865
4
+ passagemath_brial.libs/libgmp-93ebf16a.so.10.5.0,sha256=J_oguU4vvekVCVuY5w0xJjRsPinQWaZ9HqUVq6yFhas,668537
5
+ passagemath_brial.libs/libm4ri-4311ab86.so.2.0.1,sha256=NVtbhZ90ROh4EgO7JNNZ4lvyWNYRqMFTb2C-xh96UCA,1250769
6
+ passagemath_brial.libs/libpng16-5d944a30.so.16.54.0,sha256=T9ZCvVAtYrPiFypaCeFuqlMkODCSXnyKoWWf7OCnEag,1384689
7
+ sage/all__sagemath_brial.py,sha256=3pdx_TyESRdnfj0a-BFotJd7IohjzFSV7y0adPc8jdc,181
8
+ sage/libs/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
9
+ sage/libs/polybori/__init__.pxd,sha256=aFtUBJSK6uu2h1fqD5xOraYKZHzYQK--ellmPEkdDBA,96
10
+ sage/libs/polybori/decl.pxd,sha256=MmjQbEcG-TKiG2lE6nbsnLJMqxvqVYyDYHQiz_0EqVc,13068
11
+ sage/libs/polybori/pb_wrap.h,sha256=_ANpLeG1ZUzoL88LzrLXaZYY84jWeRA8LU19HGOJsZ8,3814
12
+ sage/rings/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
13
+ sage/rings/polynomial/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
14
+ sage/rings/polynomial/pbori/PyPolyBoRi.py,sha256=PL_frkfT7NhJNmEldWIz2084Ce5Ql31L54UKG8yutW8,3357
15
+ sage/rings/polynomial/pbori/__init__.py,sha256=oa0vKWiihNIbKPAYPlHbzSMeDOiouHsEhzhdvPzQpOM,2108
16
+ sage/rings/polynomial/pbori/blocks.py,sha256=Vp3LkNUNQpw7fPfcO7F9OnGunmB_hrDYLZ_VADxKCLk,15569
17
+ sage/rings/polynomial/pbori/cnf.py,sha256=nKjNGdenHwwDGzDh9aW1JizQflQ75LqU_P9wOPt3Dqw,9156
18
+ sage/rings/polynomial/pbori/easy_polynomials.py,sha256=YA1D86INvZ5bueUANLO5XPNq1yHIZRwasGteoyTVEe4,2046
19
+ sage/rings/polynomial/pbori/fglm.py,sha256=047RrCKXeiC8s3LbD6DRKgdatWKAX78Egqzb6vc6F_s,3414
20
+ sage/rings/polynomial/pbori/frontend.py,sha256=bZQHO9Q73VHhAjNX_dz_Ms4J_-VkYWPC9-PcNPCHxvY,1690
21
+ sage/rings/polynomial/pbori/gbcore.py,sha256=T7kuQWUUuEkzXcTeteMIvqEUBiI5WjJBUIwrcQwIS6k,21028
22
+ sage/rings/polynomial/pbori/gbrefs.py,sha256=MOtP2YtcRBIO3kjuYyvtpPUvNi0A5A52JbetyvcB20w,3393
23
+ sage/rings/polynomial/pbori/heuristics.py,sha256=4jf56TdHw-YIPfkUjIaWffWQ1SfVe04n3URIC7ycWak,871
24
+ sage/rings/polynomial/pbori/interpolate.py,sha256=x4_h-lMs04kZbGW5W5xETKC08XN3uArfpqeLVGKipYo,3958
25
+ sage/rings/polynomial/pbori/interred.py,sha256=zSqSo4S9qojVl3NrEwTR913s4_pwNInWOY8FxOwerrc,1005
26
+ sage/rings/polynomial/pbori/ll.py,sha256=ophQ0epXYR2SPLdq2fDwyt12B2pzdMqg8T0mx4Wrxnk,10598
27
+ sage/rings/polynomial/pbori/nf.py,sha256=4lj82HQiGC5eqdxYZY6hvJ6-n4wISFwhhB1tkat1hv4,22374
28
+ sage/rings/polynomial/pbori/parallel.py,sha256=igbW4G2JpqQbbxosLdOYCBNjDbKZgu2JtAWZx7v8nyo,8850
29
+ sage/rings/polynomial/pbori/pbori.cpython-314-aarch64-linux-gnu.so,sha256=OFCuSU2f0JRqaRxoMLm02gCetBVTRzrJEKmQ6_Pv6VE,14392641
30
+ sage/rings/polynomial/pbori/pbori.pxd,sha256=zN8LPgF_gE30SN4Vrs-BRsj9U2MEAkVyWG3Dd0yhd0c,3845
31
+ sage/rings/polynomial/pbori/pbori.pyx,sha256=Ly2AAJYYN1czQHSsILBgi_ftDvqnn3m4sgKV2Re-178,249433
32
+ sage/rings/polynomial/pbori/randompoly.py,sha256=P1TXjOi4fQThHtWZs3AIwZqoE-lnb-zP4xJh-KMkg9c,4298
33
+ sage/rings/polynomial/pbori/rank.py,sha256=k8r_T2okbuZpgdNRi-H5rxIaA5cMyzHipXo8Cyq0FBU,699
34
+ sage/rings/polynomial/pbori/specialsets.py,sha256=kS4sii6FLxaLRkVAUPi9yjM2c33h7Hn_y_Y6s8Ti1ro,3692
35
+ sage/rings/polynomial/pbori/statistics.py,sha256=1XbDXlIevARUfjmRO17UKg60p7t0d-lRDdVfAGPTcQA,867
36
+ passagemath_brial-10.8.1a3.dist-info/METADATA,sha256=wf4WuZOQ01CUKkbCAx4Wb8L7nE3DX3-1VOKunPNX1tE,4612
37
+ passagemath_brial-10.8.1a3.dist-info/WHEEL,sha256=0pvOHbmfRgKx5XLW_GLLcBRMiVWAGGbU5VJH4qo_KVg,155
38
+ passagemath_brial-10.8.1a3.dist-info/top_level.txt,sha256=IaysPN4SFFFJLfRhdy8REPwed_xkmY6Qtx0N0YEoDyk,24
39
+ passagemath_brial-10.8.1a3.dist-info/RECORD,,
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: false
4
+ Tag: cp314-cp314-manylinux_2_24_aarch64
5
+ Tag: cp314-cp314-manylinux_2_28_aarch64
6
+
@@ -0,0 +1,3 @@
1
+
2
+ passagemath_brial
3
+ sage
@@ -0,0 +1,9 @@
1
+ # sage_setup: distribution = sagemath-brial
2
+ # delvewheel: patch
3
+
4
+ from .all__sagemath_categories import *
5
+
6
+ try:
7
+ from .all__sagemath_modules import *
8
+ except ImportError:
9
+ pass
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-brial
@@ -0,0 +1,2 @@
1
+ # sage_setup: distribution = sagemath-brial
2
+ # Insert a comment here to prevent repo corruption.
@@ -0,0 +1,401 @@
1
+ # sage_setup: distribution = sagemath-brial
2
+ # distutils: language = c++
3
+ # distutils: extra_compile_args = -std=c++17
4
+
5
+ from libcpp.string cimport string as std_string
6
+ from libcpp.vector cimport vector
7
+
8
+
9
+ cdef extern from "polybori/pbori_defs.h" namespace "COrderEnums":
10
+ cdef enum ordercodes:
11
+ pblp "CTypes::lp"
12
+ pbdlex "CTypes::dlex"
13
+ pbdp_asc "CTypes::dp_asc"
14
+ pbblock_dlex "CTypes::block_dlex"
15
+ pbblock_dp_asc "CTypes::block_dp_asc"
16
+ pbdp "static_cast<COrderEnums::ordercodes>(17)"
17
+ pbblock_dp "static_cast<COrderEnums::ordercodes>(19)"
18
+
19
+ cdef enum comparecodes:
20
+ less_than "CTypes::less_than"
21
+ equality "CTypes::equality"
22
+ greater_than "CTypes::greater_than"
23
+ less_or_equal_max "CTypes::less_or_equal_max"
24
+ greater_or_equal_min "CTypes::greater_or_equal_min"
25
+
26
+
27
+ cdef extern from "pb_wrap.h":
28
+ cdef cppclass PBNavigator "CCuddNavigator":
29
+ PBNavigator thenBranch()
30
+ PBNavigator elseBranch()
31
+ int value "operator*"()
32
+ bint isConstant()
33
+ bint isTerminated()
34
+ bint operator==(const PBNavigator&)
35
+ size_t hash()
36
+
37
+ cdef cppclass PBBlockIter "COrderingBase::block_iterator":
38
+ long dereference "operator*"()
39
+ void increment "operator++"()
40
+ bint operator!=(const PBBlockIter&)
41
+
42
+ cdef cppclass PBOrdering "COrderingBase":
43
+ int getOrderCode()
44
+ int getBaseOrderCode()
45
+ void appendBlock(int nextBlockStartIndex)
46
+ PBBlockIter blockBegin()
47
+ PBBlockIter blockEnd()
48
+ int lastBlockStart()
49
+ bint isDegreeOrder()
50
+
51
+ cdef cppclass PBSet "DefaultRinged<BooleSet> "
52
+ cdef cppclass PBPoly "DefaultRinged<BoolePolynomial> "
53
+
54
+ cdef cppclass PBBooleVariable "BooleVariable":
55
+ PBBooleVariable(int idx, const PBRing& r)
56
+
57
+ cdef cppclass PBVar "DefaultRinged<BooleVariable> ":
58
+ void operator=(const PBBooleVariable&)
59
+ int index()
60
+ bint operator==(const PBVar&)
61
+
62
+ cdef cppclass PBRing "BoolePolyRing":
63
+ PBRing()
64
+ PBRing(int nvars, int order)
65
+ size_t id()
66
+ size_t nVariables()
67
+ PBVar variable(int n)
68
+ PBOrdering ordering()
69
+ void changeOrdering(int)
70
+ size_t hash()
71
+ void setVariableName(int idx, char *varname)
72
+ char* getVariableName(int idx)
73
+ PBRing clone()
74
+ PBPoly coerce(PBPoly rhs)
75
+ PBPoly zero()
76
+ PBPoly one()
77
+
78
+ cdef cppclass PBVarBlock "VariableBlock":
79
+ PBVarBlock(int size, int start_index, int offset, bint reverse,
80
+ PBRing r)
81
+ PBVar operator()(int index)
82
+
83
+ cdef cppclass PBMonomIter "BooleMonomial::const_iterator":
84
+ int dereference()
85
+ void increment()
86
+ bint operator==(const PBMonomIter&)
87
+
88
+ cdef cppclass PBMonomVarIter "BooleMonomial::variable_iterator":
89
+ PBVar dereference()
90
+ void increment()
91
+ bint operator==(const PBMonomVarIter&)
92
+
93
+ cdef cppclass PBMonom "DefaultRinged<BooleMonomial> ":
94
+ PBMonom()
95
+ PBMonom(PBRing r)
96
+ PBMonom(PBVar m)
97
+ void operator=(const PBBooleSet&)
98
+ bint reducibleBy(PBMonom rhs)
99
+ int deg()
100
+ size_t hash()
101
+ size_t stableHash()
102
+ int firstIndex()
103
+ comparecodes compare(PBMonom rhs)
104
+ PBSet set()
105
+ PBSet divisors()
106
+ PBSet multiples(PBMonom rhs)
107
+ PBMonomIter begin()
108
+ PBMonomIter end()
109
+ PBMonomVarIter variableBegin()
110
+ PBMonomVarIter variableEnd()
111
+ void imul "operator*="(PBMonom right)
112
+ void idiv "operator/="(PBMonom right)
113
+ PBNavigator navigation()
114
+ PBMonom GCD(PBMonom rhs)
115
+ PBRing ring()
116
+
117
+ cdef cppclass PBSetIter "BooleSet::const_iterator":
118
+ PBSetIter(const PBSetIter&)
119
+ PBMonom dereference()
120
+ void increment()
121
+ bint operator==(const PBSetIter&)
122
+
123
+ cdef cppclass PBBooleSet "BooleSet":
124
+ PBBooleSet()
125
+ PBBooleSet(PBRing r)
126
+ PBBooleSet(PBPoly p)
127
+ PBBooleSet(PBNavigator d, PBRing r)
128
+ PBBooleSet(int ind, PBNavigator a, PBNavigator b, PBRing r)
129
+
130
+ cdef cppclass PBSet "DefaultRinged<BooleSet> ":
131
+ void operator=(const PBBooleSet&)
132
+ bint owns(PBMonom val)
133
+ int nNodes()
134
+ int nSupport()
135
+ int size()
136
+ size_t hash()
137
+ size_t stableHash()
138
+ PBNavigator navigation()
139
+ PBSet cartesianProduct(PBSet rhs)
140
+ PBSet diff(PBSet rhs)
141
+ PBSet divide(PBMonom rhs)
142
+ PBSet change(int idx)
143
+ PBSet subset0(int i)
144
+ PBSet subset1(int i)
145
+ PBSet unite(PBSet rhs)
146
+ PBSet intersect(PBSet rhs)
147
+ PBMonom usedVariables()
148
+ PBSet divisorsOf(PBMonom rhs)
149
+ PBSet multiplesOf(PBMonom rhs)
150
+ double sizeDouble()
151
+ PBSetIter begin()
152
+ PBSetIter end()
153
+ bint isZero()
154
+ bint isOne()
155
+
156
+ PBSet pb_include_divisors "include_divisors"(PBSet p)
157
+ PBSet pb_minimal_elements "minimal_elements"(PBSet p)
158
+
159
+ cdef cppclass PBPolyIter "BoolePolynomial::ordered_iterator":
160
+ PBPolyIter(const PBPolyIter&)
161
+ PBMonom dereference()
162
+ void increment()
163
+ bint operator==(const PBPolyIter&)
164
+
165
+ cdef cppclass PBBoolePolynomial "BoolePolynomial":
166
+ void operator=(const PBPoly&)
167
+ PBBoolePolynomial(PBRing r)
168
+ PBBoolePolynomial(PBSet d)
169
+ PBBoolePolynomial(PBMonom d)
170
+ PBBoolePolynomial(PBVar d)
171
+ PBBoolePolynomial(int d, PBRing r)
172
+
173
+ cdef cppclass PBPoly "DefaultRinged<BoolePolynomial> ":
174
+ PBPoly()
175
+ void operator=(const PBBoolePolynomial&)
176
+ int deg()
177
+ int leadDeg()
178
+ int lexLeadDeg()
179
+ int totalDeg()
180
+ int length()
181
+ int eliminationLength()
182
+ int nUsedVariables()
183
+ int nNodes()
184
+ size_t hash()
185
+ size_t stableHash()
186
+ bint isZero()
187
+ bint isOne()
188
+ bint isConstant()
189
+ bint isSingleton()
190
+ bint isPair()
191
+ bint isSingletonOrPair()
192
+ bint hasConstantPart()
193
+ bint firstReducibleBy(PBPoly rhs)
194
+ PBMonom lead()
195
+ PBMonom lexLead()
196
+ PBMonom firstTerm()
197
+ PBMonom usedVariables()
198
+ PBPoly gradedPart(int d)
199
+ PBSet diagram()
200
+ PBSet set()
201
+ PBSet leadDivisors()
202
+ PBNavigator navigation()
203
+ PBPolyIter orderedBegin()
204
+ PBPolyIter orderedEnd()
205
+ void iadd "operator+="(PBPoly right)
206
+ void iadd_PBMonom "operator+="(PBMonom right)
207
+ void imul "operator*="(PBPoly right)
208
+ void imul_monom "operator*="(PBMonom right)
209
+ void idiv "operator/="(PBPoly right)
210
+ void idiv_monom "operator/="(PBMonom right)
211
+ bint operator==(const PBPoly&)
212
+
213
+ PBSet pb_zeros "zeros"(PBPoly p, PBSet s)
214
+ PBPoly pb_spoly "spoly"(PBPoly p, PBPoly r)
215
+ PBPoly pb_map_every_x_to_x_plus_one "map_every_x_to_x_plus_one"(PBPoly)
216
+
217
+
218
+ ctypedef vector[PBBoolePolynomial] PBPolyVector
219
+ ctypedef vector[PBBoolePolynomial].iterator PBPolyVectorIter
220
+
221
+
222
+ cdef extern from *:
223
+ cdef cppclass PBPolyEntry "PolyEntry":
224
+ PBPoly p
225
+
226
+ cdef cppclass PBRedStrategy "ReductionStrategy":
227
+ PBRedStrategy()
228
+ PBRedStrategy(const PBRing&)
229
+ PBSet leadingTerms
230
+ PBSet minimalLeadingTerms
231
+ PBSet leadingTerms11
232
+ PBSet leadingTerms00
233
+ PBSet llReductor
234
+ PBSet monomials
235
+ PBSet monomials_plus_one
236
+ bint optBrutalReductions
237
+ bint optLL
238
+ PBPoly nf(PBPoly p)
239
+ bint optRedTailDegGrowth
240
+ bint optRedTail
241
+ void setupSetsForLastElement()
242
+ bint canRewrite(PBPoly p)
243
+ void addGenerator(PBPoly p)
244
+ int select1(PBMonom p)
245
+
246
+ int select_short(PBPoly p)
247
+ PBPoly headNormalForm(PBPoly p)
248
+ PBPoly reducedNormalForm(PBPoly p)
249
+
250
+ size_t size()
251
+ PBPolyEntry operator[](int)
252
+
253
+ cdef cppclass PBFGLMStrategy "FGLMStrategy":
254
+ PBFGLMStrategy(PBRing from_ring, PBRing to_ring, PBPolyVector vec)
255
+ PBPolyVector main()
256
+
257
+ cdef cppclass PBGBStrategy "GroebnerStrategy":
258
+ PBGBStrategy(PBRing)
259
+ bint reduceByTailReduced
260
+ PBRedStrategy generators
261
+
262
+ bint enabledLog
263
+ unsigned int reductionSteps
264
+ int normalForms
265
+ int currentDegree
266
+ int chainCriterions
267
+ int variableChainCriterions
268
+ int easyProductCriterions
269
+ int extendedProductCriterions
270
+ int averageLength
271
+
272
+ bint optHFE
273
+ bint optLazy
274
+
275
+ bint optDelayNonMinimals
276
+
277
+ bint optExchange
278
+ bint optAllowRecursion
279
+
280
+ bint optStepBounded
281
+ bint optLinearAlgebraInLastBlock
282
+ bint optModifiedLinearAlgebra
283
+ bint optRedTailInLastBlock
284
+ bint optDrawMatrices
285
+ std_string matrixPrefix
286
+
287
+ PBSet llReductor
288
+ PBSet minimalLeadingTerms
289
+ PBSet leadingTerms
290
+ bint containsOne()
291
+ bint variableHasValue(int idx)
292
+ int addGenerator(PBPoly, bint is_impl)
293
+ void addGeneratorDelayed(PBPoly)
294
+ void addAsYouWish(PBPoly)
295
+ void addNonTrivialImplicationsDelayed(const PBPolyEntry&)
296
+ void symmGB_F2()
297
+ void llReduceAll()
298
+ void cleanTopByChainCriterion "pairs.cleanTopByChainCriterion"()
299
+ size_t npairs "pairs.queue.size"()
300
+ int suggestPluginVariable()
301
+ PBPoly nextSpoly()
302
+ PBPoly nf(PBPoly p)
303
+ PBPolyVector allGenerators()
304
+ PBPolyVector minimalize()
305
+ PBPolyVector minimalizeAndTailReduce()
306
+ PBPolyVector faugereStepDense(PBPolyVector v)
307
+
308
+ int pairs_top_sugar(PBGBStrategy strat)
309
+ PBPolyVector someNextDegreeSpolys(PBGBStrategy strat, size_t n)
310
+ PBPolyVector nextDegreeSpolys(PBGBStrategy strat)
311
+ PBPolyVector small_next_degree_spolys(PBGBStrategy strat, double f, size_t n)
312
+ void implications(PBGBStrategy strat, int i)
313
+
314
+ PBPoly cheap_reductions(PBRedStrategy strat, PBPoly p)
315
+
316
+ PBPoly pb_add_up_polynomials "add_up_polynomials" \
317
+ (PBPolyVector v, PBPoly p)
318
+
319
+ PBPoly pb_nf3 "nf3" (PBRedStrategy strat, PBPoly p, PBMonom m)
320
+
321
+ PBPoly pb_red_tail "red_tail" (PBRedStrategy strat, PBPoly p)
322
+
323
+ PBPoly pb_interpolate "interpolate" (PBSet z, PBSet o)
324
+
325
+ PBPoly pb_interpolate_smallest_lex "interpolate_smallest_lex" \
326
+ (PBSet z, PBSet o)
327
+
328
+ PBSet pb_contained_variables_cudd_style "contained_variables_cudd_style" \
329
+ (PBSet m)
330
+
331
+ PBSet pb_mod_var_set "mod_var_set" (PBSet a, PBSet v)
332
+
333
+ PBPoly pb_mult_fast_sim "mult_fast_sim" (PBPolyVector v, PBRing r)
334
+
335
+ PBSet pb_recursively_insert "recursively_insert"(PBNavigator p,
336
+ int idx, PBSet m)
337
+ PBPoly pb_ll_red_nf_noredsb "ll_red_nf_noredsb"(PBPoly p,
338
+ PBSet reductors)
339
+ PBPoly pb_ll_red_nf_noredsb_single_recursive_call "ll_red_nf_noredsb_single_recursive_call" \
340
+ (PBPoly p, PBSet reductors)
341
+
342
+ PBPoly pb_ll_red_nf "ll_red_nf"(PBPoly p, PBSet reductors)
343
+
344
+ PBSet pb_mod_mon_set "mod_mon_set"(PBSet as, PBSet vs)
345
+
346
+ PBPolyVector pb_parallel_reduce "parallel_reduce" \
347
+ (PBPolyVector inp, PBGBStrategy strat, int average_steps, double delay_f)
348
+
349
+ PBPolyVector pb_gauss_on_polys "gauss_on_polys" (PBPolyVector inp)
350
+
351
+ PBPolyVector pb_easy_linear_factors "easy_linear_factors"(PBPoly p)
352
+
353
+ PBPoly pb_substitute_variables "substitute_variables<BoolePolyRing, std::vector<BoolePolynomial>, BoolePolynomial>" \
354
+ (PBRing ring, PBPolyVector vec, PBPoly poly) except +
355
+
356
+ void pb_set_variable_name "BooleEnv::setVariableName" \
357
+ (int idx, char *varname)
358
+
359
+ char * pb_get_variable_name "BooleEnv::getVariableName" \
360
+ (int idx)
361
+
362
+ PBSet pb_random_set "random_set" (PBMonom variables, int length)
363
+ void pb_set_random_seed "set_random_seed" (unsigned int seed)
364
+
365
+ void PBPolyVector_set(PBPolyVector v, int i, PBPoly p)
366
+
367
+ cdef cppclass PBConstant "BooleConstant":
368
+ PBConstant()
369
+ PBConstant(int val)
370
+ bint isZero()
371
+ bint isOne()
372
+ bint isConstant()
373
+ bint hasConstantPart()
374
+ int deg()
375
+
376
+ cdef cppclass PBVariableFactory "VariableFactory":
377
+ PBVariableFactory(const PBRing&)
378
+
379
+ cdef cppclass PBVarFactory "DefaultRinged<VariableFactory> ":
380
+ void operator=(const PBVariableFactory&)
381
+ PBVar operator()(long index)
382
+
383
+ cdef cppclass PBMonomialFactory "MonomialFactory":
384
+ PBMonomialFactory(const PBRing&)
385
+
386
+ cdef cppclass PBMonomFactory "DefaultRinged<MonomialFactory> ":
387
+ void operator=(const PBMonomialFactory&)
388
+ PBMonom operator()()
389
+
390
+ cdef cppclass PBPolynomialFactory "PolynomialFactory":
391
+ PBPolynomialFactory(const PBRing &)
392
+
393
+ cdef cppclass PBPolyFactory "DefaultRinged<PolynomialFactory> ":
394
+ void operator=(const PBPolynomialFactory&)
395
+ PBPoly operator()(long)
396
+ PBPoly operator()(PBPoly)
397
+ PBPoly operator()(PBMonom)
398
+
399
+ cdef cppclass PBRefCounter:
400
+ PBRefCounter()
401
+ bint released()