comp.lang.ada
 help / color / mirror / Atom feed
* Floating-Point Numbers and Internal Representation
@ 2005-12-04 10:33 Matthias Kretschmer
  2005-12-04 11:12 ` Martin Krischik
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Matthias Kretschmer @ 2005-12-04 10:33 UTC (permalink / raw)


Hello,

I had a problem in one of my programs, that was caused by the internal
representation of floating-point numbers in the fpu. Concrete:
calculating the value of an optimum for some large number of objects,
then in a second doing something with all optimal objects. The problem
was, that when doing the calculation the second time, the compiler left
the floating-point number in the fpu which had a higher precision than
the representation I choosed, so comparing for equality returns always
"False". The problem would be solved by some operation truncating the
floating-point number to the precision I orginally wanted or used. I
could of course put all the values in an array or list and then finding
optimum and optimal objects, but I don't want to go this way. In C iirc
I could use a volatile variable to ensure the compiler will put the
value in and read from the variable before comparing, but to achieve
something similiar (truncating the precision to that of the type used)
in Ada?

My current solution is to enhance precision to compiler maximum which
seems to be the machine maximum. But I would like to know if there are
any better solutions?

-- 
Matthias Kretschmer



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-12-06  2:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-04 10:33 Floating-Point Numbers and Internal Representation Matthias Kretschmer
2005-12-04 11:12 ` Martin Krischik
2005-12-04 14:11   ` Martin Dowie
2005-12-04 14:50     ` Dmitry A. Kazakov
2005-12-04 15:15       ` Matthias Kretschmer
2005-12-04 18:14         ` Dmitry A. Kazakov
2005-12-04 21:16           ` Matthias Kretschmer
2005-12-06  2:54     ` Steve
2005-12-05 23:38   ` Randy Brukardt
2005-12-04 11:46 ` Dmitry A. Kazakov
2005-12-04 21:29 ` Gautier Write-only

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox