Andrew Poelstra: > On Fri, Oct 08, 2010 at 11:46:39AM +0200, Armin Faltl wrote: ... > > The only practical consideration I see is, that the internal unit of PCB > > allows handling with integer-arithmetic (makes comparisons a lot > > faster and safer than floating point). ...
That might be true, but if you are talking about an internal representation with nm resolution, then you have the same problem as for the floating point, there are too many separate values that basically is the same value and you can't tell them apart looking at a board. ... > I don't think we could reasonably use floating-point. There is no > room for rounding error when designing tight areas of a PCB. That is nonsense, it is all about tolerances. 1, going from physical components to footprint file is basically a big averageing operation 2, going from pcb-file to physical pcb is a big rounding operation with some added noise, or do you believe you can make pcb's with nm's precision? ... > Suppose we stored a scaling factor in the .pcb files, of x10, x100, > x254, etc? Then we could use nanometer precision by default and go > bigger if we need a bigger board. A, What is an integer plus a scaling factor? -- it is a floating point value. B, If you implement it as an integer (value) and an integer (scale), you could just as well do the scaling thing in some postprocessing step, outside of the pcb program. That is basically how gschem handles dimensions, it doesn't care. C, As a side note, if you use double's for the internal representaion, then you don't loose precision compared to having an int32_t. You can convert an int32_t to an double and back without loosing precision. Regards, /Karl Hammar --------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user