@@ -513,13 +513,18 @@ cdef class Polynomial_ZZ_pEX(Polynomial_template):
513
513
sage: f. reverse( degree=200)
514
514
2* x^ 200 + 3* x^ 199 + 5* x^ 198 + 7* x^ 197 + 11* x^ 196 + 13* x^ 195 + 17* x^ 194 + 19* x^ 193
515
515
sage: f. reverse( degree=0)
516
- Traceback ( most recent call last) :
517
- ...
518
- ValueError: degree argument must be a non-negative integer, got 0
516
+ 2
519
517
sage: f. reverse( degree=-5)
520
518
Traceback ( most recent call last) :
521
519
...
522
520
ValueError: degree argument must be a non-negative integer, got -5
521
+
522
+ Check that this implementation is compatible with the generic one::
523
+
524
+ sage: p = R( [0,1,0,2 ])
525
+ sage: all( p. reverse( d) == Polynomial. reverse( p, d)
526
+ .... : for d in [None, 0, 1, 2, 3, 4 ])
527
+ True
523
528
"""
524
529
self ._parent._modulus.restore()
525
530
@@ -533,12 +538,9 @@ cdef class Polynomial_ZZ_pEX(Polynomial_template):
533
538
# When a degree has been supplied, ensure it is a valid input
534
539
cdef unsigned long d
535
540
if degree is not None :
536
- if degree <= 0 :
537
- raise ValueError (" degree argument must be a non-negative integer, got %s " % (degree))
538
- try :
539
- d = degree
540
- except ValueError :
541
- raise ValueError (" degree argument must be a non-negative integer, got %s " % (degree))
541
+ d = degree
542
+ if d != degree:
543
+ raise ValueError (" degree argument must be a non-negative integer, got %s " % (degree))
542
544
ZZ_pEX_reverse_hi(r.x, (< Polynomial_ZZ_pEX> self ).x, d)
543
545
else :
544
546
ZZ_pEX_reverse(r.x, (< Polynomial_ZZ_pEX> self ).x)
0 commit comments