Skip to content

Commit 57ef5fb

Browse files
committed
fix: Remove all references to Python 2's long type
Compatibility with Python is not needed any more and Cython 3.1.0 breaks references to long if languagelevel is set to 3.
1 parent a65c88c commit 57ef5fb

10 files changed

Lines changed: 23 additions & 30 deletions

File tree

src/flint/test/test_all.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99

1010
import flint
1111

12-
if sys.version_info[0] >= 3:
13-
long = int
14-
1512
PYPY = platform.python_implementation() == "PyPy"
1613

1714
ctx = flint.ctx
@@ -95,8 +92,8 @@ def test_fmpz():
9592
assert raises(lambda: flint.fmpz([]), TypeError)
9693
for s in L:
9794
for t in L:
98-
for ltype in (flint.fmpz, int, long):
99-
for rtype in (flint.fmpz, int, long):
95+
for ltype in (flint.fmpz, int):
96+
for rtype in (flint.fmpz, int):
10097

10198
assert (ltype(s) == rtype(t)) == (s == t)
10299
assert (ltype(s) != rtype(t)) == (s != t)
@@ -370,7 +367,7 @@ def test_fmpz_poly():
370367
assert raises(lambda: Z({}), TypeError)
371368
# XXX: This should probably be made to work:
372369
assert raises(lambda: Z((1,2,3)), TypeError)
373-
for ztype in [int, long, flint.fmpz]:
370+
for ztype in [int, flint.fmpz]:
374371
assert Z([1,2,3]) + ztype(5) == Z([6,2,3])
375372
assert ztype(5) + Z([1,2,3]) == Z([6,2,3])
376373
assert Z([1,2,3]) - ztype(5) == Z([-4,2,3])
@@ -526,8 +523,6 @@ def test_fmpz_mat():
526523
assert raises(lambda: a + c, ValueError)
527524
assert (a * 3).entries() == [3,6,9,12,15,18]
528525
assert (3 * a).entries() == [3,6,9,12,15,18]
529-
assert (a * long(3)).entries() == [3,6,9,12,15,18]
530-
assert (long(3) * a).entries() == [3,6,9,12,15,18]
531526
assert (a * flint.fmpz(3)).entries() == [3,6,9,12,15,18]
532527
assert (flint.fmpz(3) * a).entries() == [3,6,9,12,15,18]
533528
assert M.randrank(5,7,3,10).rank() == 3
@@ -756,7 +751,7 @@ def test_fmpq():
756751
assert 1 != Q(2)
757752
assert Q(1) != ()
758753
assert Q(1,2) != 1
759-
assert Q(2,3) == Q(flint.fmpz(2),long(3))
754+
assert Q(2,3) == Q(flint.fmpz(2),3)
760755
assert Q(-2,-4) == Q(1,2)
761756
assert Q("1") == Q(1)
762757
assert Q("1/2") == Q(1,2)
@@ -1481,8 +1476,6 @@ def test_nmod_mat():
14811476
assert raises(lambda: a + c, ValueError)
14821477
assert (a * 3).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
14831478
assert (3 * a).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
1484-
assert (a * long(3)).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
1485-
assert (long(3) * a).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
14861479
assert (a * flint.fmpz(3)).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
14871480
assert (flint.fmpz(3) * a).entries() == [G(x,17) for x in [3,6,9,12,15,18]]
14881481
assert M(2,2,[1,1,2,2],17).rank() == 1

src/flint/types/acb_mat.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ cimport cython
2525
cdef acb_mat_coerce_operands(x, y):
2626
if isinstance(y, (fmpz_mat, fmpq_mat, arb_mat)):
2727
return x, acb_mat(y)
28-
if isinstance(y, (int, long, float, complex, fmpz, fmpq, arb, acb)):
28+
if isinstance(y, (int, float, complex, fmpz, fmpq, arb, acb)):
2929
return x, acb_mat(x.nrows(), x.ncols(), y)
3030
return NotImplemented, NotImplemented
3131

3232
cdef acb_mat_coerce_scalar(x, y):
33-
if isinstance(y, (int, long, float, complex, fmpz, fmpq, arb, acb)):
33+
if isinstance(y, (int, float, complex, fmpz, fmpq, arb, acb)):
3434
return x, any_as_acb(y)
3535
return NotImplemented, NotImplemented
3636

@@ -134,7 +134,7 @@ cdef class acb_mat(flint_mat):
134134
elif len(args) == 3:
135135
m, n, entries = args
136136
acb_mat_init(self.val, m, n)
137-
if isinstance(entries, (int, long, float, complex, fmpz, fmpq, arb, acb)):
137+
if isinstance(entries, (int, float, complex, fmpz, fmpq, arb, acb)):
138138
c = entries
139139
entries = [0] * (m * n)
140140
for i in range(min(m,n)):

src/flint/types/acb_poly.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ from flint.flintlib.acb_poly cimport *
2020
cimport libc.stdlib
2121

2222
cdef acb_poly_coerce_operands(x, y):
23-
if isinstance(y, (int, long, float, complex, fmpz, fmpq, arb, acb, fmpz_poly, fmpq_poly, arb_poly)):
23+
if isinstance(y, (int, float, complex, fmpz, fmpq, arb, acb, fmpz_poly, fmpq_poly, arb_poly)):
2424
return x, acb_poly(y)
2525
return NotImplemented, NotImplemented
2626

@@ -328,7 +328,7 @@ cdef class acb_poly(flint_poly):
328328
u = acb.__new__(acb)
329329
acb_poly_evaluate((<acb>u).val, (<acb_poly>s).val, (<acb>t).val, getprec())
330330
return u
331-
if isinstance(t, (int, long, float, complex, fmpz, fmpq, arb)):
331+
if isinstance(t, (int, float, complex, fmpz, fmpq, arb)):
332332
return s(acb(t))
333333
if isinstance(t, (fmpz_poly, fmpq_poly, arb_poly)):
334334
return s(acb_poly(t))

src/flint/types/acb_series.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ cimport cython
2626
cimport libc.stdlib
2727

2828
cdef acb_series_coerce_operands(x, y):
29-
if isinstance(y, (int, long, float, complex, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly, fmpq_series, arb, arb_poly, arb_series, acb, acb_poly)):
29+
if isinstance(y, (int, float, complex, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly, fmpq_series, arb, arb_poly, arb_series, acb, acb_poly)):
3030
return x, acb_series(y)
3131
return NotImplemented, NotImplemented
3232

src/flint/types/arb.pyx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ cdef arb_set_mpmath_mpf(arb_t x, obj):
5454
else:
5555
arb_indeterminate(x)
5656
else:
57-
man = fmpz(long(man))
57+
man = fmpz(int(man))
5858
exp = fmpz(exp)
5959

6060
arb_set_fmpz(x, (<fmpz>man).val)
@@ -368,15 +368,15 @@ cdef class arb(flint_scalar):
368368
import mpmath
369369
mpmath_mpz = mpmath.libmp.MPZ
370370
except ImportError:
371-
mpmath_mpz = long
371+
mpmath_mpz = int
372372
if not self.is_finite():
373373
return (0, mpmath_mpz(0), -123, -1)
374374
man, exp = self.mid().man_exp()
375-
man = mpmath_mpz(long(man))
375+
man = mpmath_mpz(int(man))
376376
if man < 0:
377-
return (1, -man, long(exp), man.bit_length())
377+
return (1, -man, int(exp), man.bit_length())
378378
else:
379-
return (0, man, long(exp), man.bit_length())
379+
return (0, man, int(exp), man.bit_length())
380380

381381
def repr(self):
382382
mid = self.mid()

src/flint/types/arb_mat.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ cimport cython
2222
cdef arb_mat_coerce_operands(x, y):
2323
if isinstance(y, (fmpz_mat, fmpq_mat)):
2424
return x, arb_mat(y)
25-
if isinstance(y, (int, long, float, fmpz, fmpq, arb)):
25+
if isinstance(y, (int, float, fmpz, fmpq, arb)):
2626
return x, arb_mat(x.nrows(), x.ncols(), y)
2727
if isinstance(y, (complex, acb)):
2828
return acb_mat(x), acb_mat(x.nrows(), x.ncols(), y)
2929
return NotImplemented, NotImplemented
3030

3131
cdef arb_mat_coerce_scalar(x, y):
32-
if isinstance(y, (int, long, float, fmpz, fmpq, arb)):
32+
if isinstance(y, (int, float, fmpz, fmpq, arb)):
3333
return x, any_as_arb(y)
3434
if isinstance(y, (complex, acb)):
3535
return acb_mat(x), any_as_acb(y)
@@ -132,7 +132,7 @@ cdef class arb_mat(flint_mat):
132132
elif len(args) == 3:
133133
m, n, entries = args
134134
arb_mat_init(self.val, m, n)
135-
if isinstance(entries, (int, long, float, fmpz, fmpq, arb)):
135+
if isinstance(entries, (int, float, fmpz, fmpq, arb)):
136136
c = entries
137137
entries = [0] * (m * n)
138138
for i in range(min(m,n)):

src/flint/types/arb_poly.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ cimport cython
1818
cimport libc.stdlib
1919

2020
cdef arb_poly_coerce_operands(x, y):
21-
if isinstance(y, (int, long, float, fmpz, fmpq, arb, fmpz_poly, fmpq_poly)):
21+
if isinstance(y, (int, float, fmpz, fmpq, arb, fmpz_poly, fmpq_poly)):
2222
return x, arb_poly(y)
2323
if isinstance(y, (complex, acb)):
2424
return acb_poly(x), acb_poly(y)
@@ -330,7 +330,7 @@ cdef class arb_poly(flint_poly):
330330
u = acb.__new__(acb)
331331
arb_poly_evaluate_acb((<acb>u).val, (<arb_poly>s).val, (<acb>t).val, getprec())
332332
return u
333-
if isinstance(t, (int, long, float, fmpz, fmpq)):
333+
if isinstance(t, (int, float, fmpz, fmpq)):
334334
return s(arb(t))
335335
if isinstance(t, (fmpz_poly, fmpq_poly)):
336336
return s(arb_poly(t))

src/flint/types/arb_series.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ from flint.flintlib.arb_hypgeom cimport *
2222
ctx = thectx
2323

2424
cdef arb_series_coerce_operands(x, y):
25-
if isinstance(y, (int, long, float, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly, fmpq_series, arb, arb_poly)):
25+
if isinstance(y, (int, float, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly, fmpq_series, arb, arb_poly)):
2626
return x, arb_series(y)
2727
if isinstance(y, (complex, acb, acb_poly, acb_series)):
2828
return acb_series(x), acb_series(y)

src/flint/types/fmpq_series.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ from flint.flintlib.fmpz cimport fmpz_is_zero,fmpz_set,fmpz_equal
1919
from flint.flintlib.fmpq_poly cimport *
2020

2121
cdef fmpq_series_coerce_operands(x, y):
22-
if isinstance(y, (int, long, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly)):
22+
if isinstance(y, (int, fmpz, fmpz_poly, fmpz_series, fmpq, fmpq_poly)):
2323
return x, fmpq_series(y)
2424
#if isinstance(y, (nmod, nmod_poly, nmod_series)):
2525
# return nmod_series(x), nmod_series(y)

src/flint/types/fmpz_series.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ from flint.flintlib.fmpz cimport fmpz_is_zero, fmpz_is_pm1
1818
from flint.flintlib.fmpz_poly cimport *
1919

2020
cdef fmpz_series_coerce_operands(x, y):
21-
if isinstance(y, (int, long, fmpz, fmpz_poly)):
21+
if isinstance(y, (int, fmpz, fmpz_poly)):
2222
return x, fmpz_series(y)
2323
if isinstance(y, (fmpq, fmpq_poly, fmpq_series)):
2424
return fmpq_series(x), fmpq_series(y)

0 commit comments

Comments
 (0)