From ee09fc1c3052a0dc2c6557431cb31e1197917ce1 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 11 Sep 1996 13:55:55 +0000 Subject: Don't dump core on complex % or divmod -- raise a TypeError exception. --- Objects/complexobject.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Objects/complexobject.c b/Objects/complexobject.c index 89a7380..063f3e0 100644 --- a/Objects/complexobject.c +++ b/Objects/complexobject.c @@ -370,6 +370,18 @@ complex_div(v, w) return newcomplexobject(quot); } +static object * +complex_remainder(v, w) + complexobject *v; + complexobject *w; +{ + err_setstr(TypeError, + "remainder and divmod not implemented for complex numbers"); + return NULL; +} + +#define complex_divmod complex_remainder + static object * complex_pow(v, w, z) @@ -544,8 +556,8 @@ static number_methods complex_as_number = { (binaryfunc)complex_sub, /*nb_subtract*/ (binaryfunc)complex_mul, /*nb_multiply*/ (binaryfunc)complex_div, /*nb_divide*/ - 0, /*nb_remainder*/ - 0, /*nb_divmod*/ + (binaryfunc)complex_remainder, /*nb_remainder*/ + (binaryfunc)complex_divmod, /*nb_divmod*/ (ternaryfunc)complex_pow, /*nb_power*/ (unaryfunc)complex_neg, /*nb_negative*/ (unaryfunc)complex_pos, /*nb_positive*/ -- cgit v0.12