diff options
author | Tim Peters <tim.peters@gmail.com> | 2002-08-12 19:30:26 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2002-08-12 19:30:26 (GMT) |
commit | d8b2173ef97edecadcc171dc5fce95ee13ee9d3d (patch) | |
tree | c8ef60a075973bfecf6b8e67c6eb8ad40e8f4eae /Doc | |
parent | 3747a0f04c1dbe5abb47ce80abea39ed02c01aa2 (diff) | |
download | cpython-d8b2173ef97edecadcc171dc5fce95ee13ee9d3d.zip cpython-d8b2173ef97edecadcc171dc5fce95ee13ee9d3d.tar.gz cpython-d8b2173ef97edecadcc171dc5fce95ee13ee9d3d.tar.bz2 |
k_mul(): White-box testing turned up that (ah+al)*(bh+bl) can, in rare
cases, overflow the allocated result object by 1 bit. In such cases,
it would have been brought back into range if we subtracted al*bl and
ah*bh from it first, but I don't want to do that because it hurts cache
behavior. Instead we just ignore the excess bit when it appears -- in
effect, this is forcing unsigned mod BASE**(asize + bsize) arithmetic
in a case where that doesn't happen all by itself.
Diffstat (limited to 'Doc')
0 files changed, 0 insertions, 0 deletions