|
25 | 25 | from typing import Iterator
|
26 | 26 |
|
27 | 27 | from sage.categories.commutative_rings import CommutativeRings
|
| 28 | +from sage.categories.integral_domains import IntegralDomains |
28 | 29 | from sage.categories.fields import Fields
|
29 | 30 | from sage.misc.latex import latex
|
30 | 31 | from sage.rings.integer import Integer
|
@@ -278,8 +279,11 @@ def __init__(self, coefficient_ring, prec, prime) -> None:
|
278 | 279 | self._prec = prec
|
279 | 280 | self._prime = prime
|
280 | 281 |
|
281 |
| - Parent.__init__(self, base=coefficient_ring, |
282 |
| - category=CommutativeRings()) |
| 282 | + if self._coefficient_ring in IntegralDomains(): |
| 283 | + cat = IntegralDomains() |
| 284 | + else: |
| 285 | + cat = CommutativeRings() |
| 286 | + Parent.__init__(self, base=ZZ, category=cat) |
283 | 287 |
|
284 | 288 | def __iter__(self) -> Iterator:
|
285 | 289 | """
|
@@ -385,7 +389,7 @@ def _generate_sum_and_product_polynomials(self, coefficient_ring, prec, p):
|
385 | 389 | #
|
386 | 390 | # Remark: Since when is SIXTEEN bits sufficient for anyone???
|
387 | 391 | #
|
388 |
| - if p**(prec-1) >= 2**16: |
| 392 | + if p**(prec - 1) >= 2**16: |
389 | 393 | implementation = 'generic'
|
390 | 394 | else:
|
391 | 395 | implementation = 'singular'
|
@@ -811,7 +815,7 @@ def __init__(self, coefficient_ring, prec, prime) -> None:
|
811 | 815 | sage: type(W)
|
812 | 816 | <class 'sage.rings.padics.witt_vector_ring.WittVectorRing_phantom_with_category'>
|
813 | 817 |
|
814 |
| - sage: TestSuite(W).run() |
| 818 | + sage: TestSuite(W).run(skip="_test_fraction_field") |
815 | 819 | """
|
816 | 820 | if not (coefficient_ring.characteristic() == prime
|
817 | 821 | and (coefficient_ring in Fields().Finite()
|
|
0 commit comments