diff --git a/.github/workflows/buildwheel.yml b/.github/workflows/buildwheel.yml index 73981d50..12a380e5 100644 --- a/.github/workflows/buildwheel.yml +++ b/.github/workflows/buildwheel.yml @@ -179,7 +179,7 @@ jobs: fail-fast: false matrix: # Supported Flint versions: - flint-tag: ['v3.0.1', 'v3.1.3-p1', 'v3.2.2'] + flint-tag: ['v3.0.1', 'v3.1.3-p1', 'v3.2.2', 'v3.3.1'] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 diff --git a/src/flint/test/test_all.py b/src/flint/test/test_all.py index f38f1b35..59d1c46a 100644 --- a/src/flint/test/test_all.py +++ b/src/flint/test/test_all.py @@ -696,6 +696,12 @@ def test_fmpz_series(): assert s1._equal_repr(1) is False assert Z([])._equal_repr(Z([0])) is True assert Z([1])._equal_repr(Z([0])) is False + p = Z([1,2]) + assert p.prec == 10 + p4 = Z([1,2], prec=4) + assert p4.prec == 4 + p4 = Z(p, prec=4) + assert p4.prec == 4 # XXX: this gives a core dump: # s = Z([1,2]) # s[10**10] = 1 @@ -1200,6 +1206,12 @@ def test_fmpq_series(): assert s1._equal_repr(sz3) is False assert Q([1])._equal_repr(flint.fmpq(1)) is False assert Q([1])._equal_repr(1) is False + p = Q([1,2]) + assert p.prec == 10 + p4 = Q([1,2], prec=4) + assert p4.prec == 4 + p4 = Q(p, prec=4) + assert p4.prec == 4 # XXX: this gives a core dump: # s = Q([1,2]) # s[10**10] = 1 diff --git a/src/flint/types/fmpq_series.pyx b/src/flint/types/fmpq_series.pyx index 1ce75c10..a99f530c 100644 --- a/src/flint/types/fmpq_series.pyx +++ b/src/flint/types/fmpq_series.pyx @@ -75,10 +75,10 @@ cdef class fmpq_series(flint_series): if val is not None: if typecheck(val, fmpq_series): fmpq_poly_set(self.val, (val).val) - self._prec = min((val)._prec, getcap()) + self._prec = min((val)._prec, self._prec) elif typecheck(val, fmpz_series): fmpq_poly_set_fmpz_poly(self.val, (val).val) - self._prec = min((val)._prec, getcap()) + self._prec = min((val)._prec, self._prec) elif typecheck(val, fmpz_poly): fmpq_poly_set_fmpz_poly(self.val, (val).val) elif typecheck(val, fmpq_poly): diff --git a/src/flint/types/fmpz_series.pyx b/src/flint/types/fmpz_series.pyx index 06ff936d..07bc519d 100644 --- a/src/flint/types/fmpz_series.pyx +++ b/src/flint/types/fmpz_series.pyx @@ -68,7 +68,7 @@ cdef class fmpz_series(flint_series): if val is not None: if typecheck(val, fmpz_series): fmpz_poly_set(self.val, (val).val) - self._prec = min((val)._prec, getcap()) + self._prec = min((val)._prec, self._prec) elif typecheck(val, fmpz_poly): fmpz_poly_set(self.val, (val).val) elif typecheck(val, list):