[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: pcb crooked traces
On Sat, Oct 09, 2010 at 12:22:52PM +0200, Karl Hammar wrote:
>
> You cannot dissmiss floating point on the ground of rounding error
> when in fact the rounding error of integers (aliasing, truncation)
> are in fact greater.
>
> You cannot dissmiss floating point on the ground of a "non exact"
> equality operator, boot integers and floats, when 1 == 1nm, suffers
> from beeing too fine grained. You will not see any difference for
> +/- 100 basic units when looking at the board, even with a microscope.
>
My concern is not with "ordinary" numbers and their rounding error,
but with extremely large ones.
Once you get past the 52 digits in an IEEE-754 double (about 4500km in
nanometers, so maybe I am being silly), you lose precision. You will
no longer be able to place things with nanometer precision, which means
that your 254-nm mils will no longer be accurate.
Then, you've got rounding error and you're in the same place we are
now.
In other words, using a double artificially limits us to 52 bits versus
64 for an integer type.
Having said that:
1. As you pointed out, sin and cos use double, so we'll have to at
some point anyway.
2. 52-bit double is probably far more prevalent than 64-bit int. So
there's no need for the silly 64-versus-32-bit version argument.
3. Doubles give us a lot of hardware-math, so my suspicion (confirmed
by the few tests we have done here) is they are a net performance
win.
Andrew
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user