Skip to content

Commit ee6e8bc

Browse files
Merge pull request #306 from oscarbenjamin/pr_prec_series
fix: set prec when creating series from series
2 parents 037f00a + 1584435 commit ee6e8bc

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

src/flint/test/test_all.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@ def test_fmpz_series():
696696
assert s1._equal_repr(1) is False
697697
assert Z([])._equal_repr(Z([0])) is True
698698
assert Z([1])._equal_repr(Z([0])) is False
699+
p = Z([1,2])
700+
assert p.prec == 10
701+
p4 = Z([1,2], prec=4)
702+
assert p4.prec == 4
703+
p4 = Z(p, prec=4)
704+
assert p4.prec == 4
699705
# XXX: this gives a core dump:
700706
# s = Z([1,2])
701707
# s[10**10] = 1
@@ -1200,6 +1206,12 @@ def test_fmpq_series():
12001206
assert s1._equal_repr(sz3) is False
12011207
assert Q([1])._equal_repr(flint.fmpq(1)) is False
12021208
assert Q([1])._equal_repr(1) is False
1209+
p = Q([1,2])
1210+
assert p.prec == 10
1211+
p4 = Q([1,2], prec=4)
1212+
assert p4.prec == 4
1213+
p4 = Q(p, prec=4)
1214+
assert p4.prec == 4
12031215
# XXX: this gives a core dump:
12041216
# s = Q([1,2])
12051217
# s[10**10] = 1

src/flint/types/fmpq_series.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ cdef class fmpq_series(flint_series):
7575
if val is not None:
7676
if typecheck(val, fmpq_series):
7777
fmpq_poly_set(self.val, (<fmpq_series>val).val)
78-
self._prec = min((<fmpq_series>val)._prec, getcap())
78+
self._prec = min((<fmpq_series>val)._prec, self._prec)
7979
elif typecheck(val, fmpz_series):
8080
fmpq_poly_set_fmpz_poly(self.val, (<fmpz_series>val).val)
81-
self._prec = min((<fmpz_series>val)._prec, getcap())
81+
self._prec = min((<fmpz_series>val)._prec, self._prec)
8282
elif typecheck(val, fmpz_poly):
8383
fmpq_poly_set_fmpz_poly(self.val, (<fmpz_poly>val).val)
8484
elif typecheck(val, fmpq_poly):

src/flint/types/fmpz_series.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ cdef class fmpz_series(flint_series):
6868
if val is not None:
6969
if typecheck(val, fmpz_series):
7070
fmpz_poly_set(self.val, (<fmpz_series>val).val)
71-
self._prec = min((<fmpz_series>val)._prec, getcap())
71+
self._prec = min((<fmpz_series>val)._prec, self._prec)
7272
elif typecheck(val, fmpz_poly):
7373
fmpz_poly_set(self.val, (<fmpz_poly>val).val)
7474
elif typecheck(val, list):

0 commit comments

Comments
 (0)