function : mpd_qdivint @ (file: "Python-3.3.0a2/Modules/_decimal/libmpdec/mpdecimal.c", line: 3727)~3763 MPD_NEW_STATIC(r,0,0,0,0); uint8_t sign = mpd_sign(a)^mpd_sign(b); if (mpd_isspecial(a) || mpd_isspecial(b)) { if (mpd_qcheck_nans(q, a, b, ctx, status)) { return; } if (mpd_isinfinite(a) && mpd_isinfinite(b)) { mpd_seterror(q, MPD_Invalid_operation, status); return; } if (mpd_isinfinite(a)) { mpd_setspecial(q, sign, MPD_INF); return; } if (mpd_isinfinite(b)) { _settriple(q, sign, 0, 0); return; } /* debug */ abort(); /* GCOV_NOT_REACHED */ } if (mpd_iszerocoeff(b)) { if (mpd_iszerocoeff(a)) { mpd_seterror(q, MPD_Division_undefined, status); } else { mpd_setspecial(q, sign, MPD_INF); *status |= MPD_Division_by_zero; } return; } _mpd_qdivmod(q, &r, a, b, ctx, status); mpd_del(&r); mpd_qfinalize(q, ctx, status); function : mpd_qrem @ (file: "Python-3.3.0a2/Modules/_decimal/libmpdec/mpdecimal.c", line: 6331)~6361 MPD_NEW_STATIC(q,0,0,0,0); if (mpd_isspecial(a) || mpd_isspecial(b)) { if (mpd_qcheck_nans(r, a, b, ctx, status)) { return; } if (mpd_isinfinite(a)) { mpd_seterror(r, MPD_Invalid_operation, status); return; } if (mpd_isinfinite(b)) { mpd_qcopy(r, a, status); mpd_qfinalize(r, ctx, status); return; } /* debug */ abort(); /* GCOV_NOT_REACHED */ } if (mpd_iszerocoeff(b)) { if (mpd_iszerocoeff(a)) { mpd_seterror(r, MPD_Division_undefined, status); } else { mpd_seterror(r, MPD_Invalid_operation, status); } return; } _mpd_qdivmod(&q, r, a, b, ctx, status); mpd_del(&q); mpd_qfinalize(r, ctx, status);