Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #20120
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: two fpu compared |
| Date | 2015-02-18 16:52 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <mc2g0t$8e9$1@speranza.aioe.org> (permalink) |
| References | (4 earlier) <mboe3j$io$1@dont-email.me> <mbqaol$ab4$1@speranza.aioe.org> <mc02kt$1i0$1@dont-email.me> <mc0rdr$11k$1@speranza.aioe.org> <mc2ci7$2ig$1@dont-email.me> |
Dimiter_Popoff <dp@tgi-sci.com> wrote: (snip regarding integer divide) >> Yes, but you want to be sure that it gives the right answer. > Well of course. But then arithmetic is not such a high science, > you know. All you have to do is do the respective homework :-). (snip) >> If a problem is defined in fixed point, and you want to do it >> in floating point instead, you want to be sure it will give the >> right result. Floating point rounding can give a different result >> than integer divide would, after converting the result to integer. > Hmmmm, not really. As long as there is no precision lost during > normalization/denormalization the result should be the same, rounded > to the nearest (or whatever the rounding mode has been set to, if > settable). Integer divide would round to the smaller value if > it returns quotient and remainder, it is up to the programmer to > resolve the remainder and round to the nearest (I usually do it > this way unless there are other considerations). I haven't thought of the fine details recently, but I believe that if you have round to nearest floating point, it is not so easy to get the appropriate truncated integer quotient. From the double rounding rule, I suspect that it can be done if the floating point quotient is more than twice the needed length. Of course, for efficent use of hardware you don't want it that long. (snip) > Yes, I have lost the count of divides I have written for various > processors over the years, there is nothing special about it. >> But even with both positive, floating point can round in an >> unexpected way. > Ouch, no. Different yes, unexpected - no, one has to know how > the FPU behaves, otherwise it is just broken. Given a 53 bit quotient of two integers, can you find the correct 32 bit integer quotient? >> Assuming you avoid the problems of negative division, fixed point >> should always give the same result, but floating point might not. > Hmmm, I can't think of a way the FPU would yield two different > results for the same calculation without its controls being altered. > Especially if the operation is doable using integer division, > this would mean no mantissa bits will be lost during > normalization/denormalization (assuming 32 bit integer divide, > obviously one can write integer divide for a longer word than > the typical 53 bits on FP). The favorite for many years was the x87 temporary real. You couldn't (from a high-level language) be sure that your values were consistently kept at 53 bits or 64 bits, so sometimes got different results. As the compiler might keep values in registers between statements, even assigning to a double wasn't always enough. Otherwise, an older favorite was the Cray machine with non-commutative multiply. A*B-B*A might not be zero. -- glen
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
two fpu compared al.basili@gmail.com (alb) - 2015-02-12 08:30 +0000
Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-12 10:51 +0100
Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-13 14:14 +0000
Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-13 16:23 +0100
Re: two fpu compared Colin Paul de Gloucester <not_a_real_email@address.com> - 2015-02-13 17:37 +0100
Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 08:01 +0000
Re: two fpu compared Colin Paul de Gloucester <not_a_real_email@address.com> - 2015-02-16 11:43 +0100
Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-17 10:35 +0000
Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-17 12:18 +0100
Re: two fpu compared George Neuner <gneuner2@comcast.net> - 2015-02-17 09:26 -0500
Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-17 16:47 +0100
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-17 20:54 +0200
Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 07:58 +0000
Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-16 09:53 +0100
Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 09:47 +0000
Re: two fpu compared Richard Damon <Richard@Damon-Family.org> - 2015-02-16 08:27 -0500
Re: two fpu compared Nobody <nobody@nowhere.invalid> - 2015-02-23 00:13 +0000
Re: two fpu compared George Neuner <gneuner2@comcast.net> - 2015-02-13 18:43 -0500
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-14 15:30 +0000
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-14 23:19 +0200
Re: two fpu compared Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2015-02-14 23:28 +0100
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-15 14:33 +0000
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-17 20:53 +0200
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-18 01:55 +0000
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-18 17:54 +0200
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-18 16:52 +0000
Re: two fpu compared Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2015-02-18 18:12 +0100
Re: two fpu compared Robert Wessel <robertwessel2@yahoo.com> - 2015-02-18 18:02 -0600
Re: two fpu compared Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2015-02-19 09:42 +0200
Re: two fpu compared Robert Wessel <robertwessel2@yahoo.com> - 2015-02-19 11:04 -0600
Re: two fpu compared Reinhardt Behm <rbehm@hushmail.com> - 2015-02-19 23:26 +0800
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-18 19:18 +0200
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-19 02:28 +0200
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-19 16:29 +0000
Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-21 16:07 +0200
Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-12 11:26 +0000
Re: two fpu compared "Boudewijn Dijkstra" <sp4mtr4p.boudewijn@indes.com> - 2015-02-12 12:29 +0100
Re: two fpu compared Dennis <dennis@none.none> - 2015-02-12 09:45 -0600
csiph-web