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

Re: gEDA-user: PCB nanometer git tree



On Thu, Aug 11, 2011 at 09:30:34PM +0200, Karl Hammar wrote:
> 
> It seems to work after this patch also:
> 

You mean your "cannot compile docs" bug? I cannot reproduce
that now, nor could I when you reported it.

> ///
> 
> diff --git a/globalconst.h b/globalconst.h
> index 6599823..12c0592 100755
> --- a/globalconst.h
> +++ b/globalconst.h
> @@ -60,7 +60,7 @@
>  /* ---------------------------------------------------------------------------
>   * some limit specifications
>   */
> -#define LARGE_VALUE            (LONG_MAX / 2 - 1) /* maximum extent of board and elements */
> +#define LARGE_VALUE            LONG_MAX /* (LONG_MAX / 2 - 1) maximum extent of board and elements */
>   
>  #define        MAX_LAYER               16      /* max number of layer, check source */
>                                         /* code for more changes, a *lot* more changes */
> 
> ///
> 
> A Coord is a typedef for long, and a long is signed type. Its range is 
> LONG_MIN to LONG_MAX, where
> 
> $ grep -- -LONG_MAX /usr/include/limits.h 
> #  define LONG_MIN      (-LONG_MAX - 1L)
> 
> on a typical 2's complement machine.
> 
> Why do you want to use only half the range?
>

So that the width of a "max width" box can be calculated as
LARGE_VALUE - (-LARGE_VALUE) without overflow, and so that two
maximum widths can be averaged as (x + x) / 2.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



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