Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.7.0.10 $; site ccvaxa Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!uiucdcs!ccvaxa!aglew From: aglew@ccvaxa.UUCP Newsgroups: net.arch Subject: Re: Oh no! More integer division Message-ID: <5100021@ccvaxa> Date: Wed, 5-Mar-86 09:28:00 EST Article-I.D.: ccvaxa.5100021 Posted: Wed Mar 5 09:28:00 1986 Date-Received: Fri, 7-Mar-86 07:14:44 EST References: <11896@ucbvax.BERKELEY.EDU> Lines: 30 Nf-ID: #R:ucbvax.BERKELEY.EDU:11896:ccvaxa:5100021:000:1546 Nf-From: ccvaxa.UUCP!aglew Mar 5 08:28:00 1986 >jer@peora.UUCP responds to an earlier posting of mine with Knuth's >round always to odd/round always to even rule. I blush - I forgot the most basic form of randomized rounding. Round to even is probably the best way of producing randomized rounding, since it is really easy to hard wire, and reproducible. Applause to Concurrent for doing it right. Question about the IBM Stretch mentioned by another poster - since its randomized rounding mode was non-reproducible, how did it do it (certainly not by round to even)? However, round to even, round to odd can produce systematic errors, although I'd have to bend things to get an example where this is important. Consider any situation where you have to keep a total T - divide all by N, all your round to even or round to odd fractions will be rounded down or up. Thus you can differ from your total by N(P/2) where P is the precision of your least significant digit. With true randomized rounding you are likely to differ only by (P/2), although you might be just as bad. Do this a few million times, and you might discover where all the dark mass in the universe is (:-). But you're probably right - this is not an important question for general purpose computer architectures. Special purpose? ---- While we're on the topic, and you probably mentioned this on the net a few months ago, and probably a few years ago before that, has any machine ever implemented interval arithmetic `a la Knuth: all floating point numbers represented by a pair (lowest possible, highest possible)?