Re: Small doc patch for area() function...

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Sean Chittenden <sean(at)chittenden(dot)org>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Small doc patch for area() function...
Date: 2004-06-02 21:38:46
Message-ID: 200406022138.i52LckI07263@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


Doc patch applied. The geometry diff you attached is related to
negative zeros. I think you will find geometry_1.out will be a better
match for you. I thought our code now automatically picked the proper
geometry file. However, I can't find out how that file is used.

---------------------------------------------------------------------------

Sean Chittenden wrote:
> Small patch that adds some documentation for the area() function.
> Specifically, point out that intersecting points in a path will yield
> (most likely), unexpected results. Visually these are identical paths,
> but mathematically they're not the same. Ex:
>
> area | plan
> ------
> +-----------------------------------------------------------------------
> -------------------
> -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))
> 2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))
>
> The current algorithm for area(PATH) is very quick, but only handles
> non-intersecting paths. I'm going to work on two other functions for
> the PATH data type that determines if a PATH is intersecting or not,
> and a function that returns the area() for an intersecting PATH. The
> intersecting area() function will be considerably slower (I think it's
> going to be O(n!) or worse instead of the current O(n), but that comes
> with the territory).
>
> -sc
>

[ Attachment, skipping... ]

>
>
>
> PS Right now I'm developing on OS-X and there's a geometry regression
> test that's returning -0. FWIW
>
> *** ./expected/geometry.out Fri Oct 31 19:07:07 2003
> --- ./results/geometry.out Thu May 27 22:16:58 2004
> ***************
> *** 117,123 ****
> | (5.1,34.5) | [(1,2),(3,4)] | (3,4)
> | (-5,-12) | [(1,2),(3,4)] | (1,2)
> | (10,10) | [(1,2),(3,4)] | (3,4)
> ! | (0,0) | [(0,0),(6,6)] | (-0,0)
> | (-10,0) | [(0,0),(6,6)] | (0,0)
> | (-3,4) | [(0,0),(6,6)] | (0.5,0.5)
> | (5.1,34.5) | [(0,0),(6,6)] | (6,6)
> --- 117,123 ----
> | (5.1,34.5) | [(1,2),(3,4)] | (3,4)
> | (-5,-12) | [(1,2),(3,4)] | (1,2)
> | (10,10) | [(1,2),(3,4)] | (3,4)
> ! | (0,0) | [(0,0),(6,6)] | (0,0)
> | (-10,0) | [(0,0),(6,6)] | (0,0)
> | (-3,4) | [(0,0),(6,6)] | (0.5,0.5)
> | (5.1,34.5) | [(0,0),(6,6)] | (6,6)
>
> ======================================================================
>
>
>
> --
> Sean Chittenden

>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-patches by date

  From Date Subject
Next Message Laurent Ballester 2004-06-02 22:33:29 Re: eventlog fix
Previous Message Bruce Momjian 2004-06-02 21:29:42 Re: Cancel/Kill backend functions