[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: pcb crooked traces



On Fri, Oct 08, 2010 at 11:04:59PM +0200, Karl Hammar wrote:
> 
> Please, I was commenting about the misunderstandings about
> "floating-point", not about mils and mm's.
> 
> With integer types you get aliasing artifacts, which actually is a 
> rounding error. We have this problem in the current incarnation of pcb.
> 
> So, in what way are floats worse than ints (I'm talking about 
> representaion, not about performance) and why could we not "reasonably 
> use floating-point"?
>

The concern is with /binary/ floating point, not floating point
in general. In binary floating point, your scale is always a power
of 2, so some numbers cannot be represented - particularly, some
numbers cannot be represented that /can/ be represented in decimal
(like 0.3), so we will introduce an error when somebody types .3
into pcb. With integers, anything the user can type, can be represented.

Importantly, 1/254 = 1/2 * 1/127 cannot be represented in
binary floating point, which brings us back to the mm/mil
problem.

This is the crucial difference between our scaling idea
(fundamental units + an arbitrary multiplier) and binary
floating point.


Andrew

 


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user