[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:

sage4.1

Component:

basic arithmetic

Keywords:


Cc:


Merged in:

sage4.1.alpha2

Authors:

Minh Van Nguyen

Reviewers:

KarlDieter 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/sage3.4.2.rc0/local/lib/python2.5/sitepackages/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