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

Re: gEDA-user: pcb crooked traces



DJ Delorie wrote:
On Mon, 2010-10-11 at 15:25 -0700, Andrew Poelstra wrote:
I think we want to allow negative locations. It would be nice to set parts
outside of the pcb boundary, for example when initially placing everything.

We limit ourselves to half so that *distances* can fit in a signed
same-size value.  The range of computable distances on a board will
always be twice the range of coordinates.  More if you do 2-D distance,
but we can use floating point there (we'd be doing a sqrt() anyway)
When using signed integers for coordinates and offsets (vectors), by restricting to the positive quadrant, allowing a 2x2m board will still yield a 32-bit overflow, if you try to place a large footprint at the right edge of the board. So I think forbidding negative board coordinates doesn't guard against anything. If one wants to enforce range-savety,
the boards and footprints better be +-1m maximum.

Personally I favour 32-bit integers on 32-bit machines, because I think that 64-bit emulation must be at least 3x slower than native ops. Enable 64-bit coords on 32-bit machines with a configure flag. On 64-bit machines of course 64-bit, since 32 is probably slower.
s


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