[with patch, positive review] fix dumb error message when modding out by 0: Mod(10,0)
Reported by: |
was |
Owned by: |
somebody |
Priority:
|
minor
|
Milestone:
|
sage-4.1
|
Component:
|
basic arithmetic
|
Keywords:
|
|
Cc:
|
|
Merged in:
|
sage-4.1.alpha2
|
Authors:
|
Minh Van Nguyen
|
Reviewers:
|
Karl-Dieter Crisman
|
Report Upstream:
|
N/A
|
Work issues:
|
|
Branch:
|
|
Commit:
|
|
Dependencies:
|
|
Stopgaps:
|
|
When doing Mod(n,0), either there should be a useful error message, or one should get n back. The following is no good at all -- one shouldn't get an AttributeError?, which is surely due to a bug.
sage: a = Mod(10,0)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
115 cdef IntegerMod_abstract x
--> 116 x = IntegerMod(integer_mod_ring.IntegerModRing(m), n)
117 if parent is None:
118 return x
/Users/wstein/build/sage-3.4.2.rc0/local/lib/python2.5/site-packages/sage/rings/integer_mod.so in sage.rings.integer_mod.IntegerMod (sage/rings/integer_mod.c:2730)()
132 cdef NativeIntStruct modulus
133 cdef Py_ssize_t res
--> 134 modulus = parent._pyx_order
135 if modulus.table is not None:
136 if PY_TYPE_CHECK(value, sage.rings.integer.Integer) or PY_TYPE_CHECK(value, int) or PY_TYPE_CHECK(value, long):
AttributeError: 'sage.rings.integer_ring.IntegerRing_class' object has no attribute '_pyx_order'
based on Sage 4.1.alpha1