While I'm on a "computing curmudgeon" kick: On Fri, 7 Dec 2007, Chris Frederick wrote: > #!/usr/bin/perl -w > my $float = 0, $interval = 0.1, $max = 10; > while($float < $max){ $float += $interval; print "$float\n"; } > > oh wait! And for those that think the extra decimal places at the end > are no big deal, try counting the number of loops it goes through. This is the main problem I have with using floats for time values: I don't think you should be allowed to use floats until you've have a course in Numerical Analysis, and can talk intelligibly about round off errors, numerically stable vr.s unstable algorithms, etc. That said, floating point will quite happily represent *exactly* all integers in the range -2^52 to +2^52. Giving us an extra 21 bits of accuracy over 32-bit signed integers. > > `./floats.pl | wc -l` = 101 > > oops! Thats one too many. This is a fencepost error, not a floating point inaccuracy. Brian