Re: [PATCH] Improve geometric types

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Cc: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Emre Hasegeli <emre(at)hasegeli(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Improve geometric types
Date: 2018-07-29 15:14:55
Message-ID: ed638a9d-57ef-f842-6590-1dac97aa3a8f@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 07/29/2018 02:03 PM, Tomas Vondra wrote:
>
>
> On 07/29/2018 01:28 PM, Thomas Munro wrote:
>> On Sun, Jul 29, 2018 at 10:57 PM, Thomas Munro
>> <thomas(dot)munro(at)enterprisedb(dot)com> wrote:
>>> On Sun, Jul 29, 2018 at 10:35 PM, Tomas Vondra
>>> <tomas(dot)vondra(at)2ndquadrant(dot)com> wrote:
>>>> It's always 0/-0 difference, and it's limited to power machines. I'll
>>>> try to get access to such system and see what's wrong.
>>>
>>> This is suspicious:
>>>
>>> /* on some platforms, the preceding expression tends to produce -0 */
>>> if (line->C == 0.0)
>>> line->C = 0.0;
>>
>> I mean, it's suspiciously absent from the new line_construct()
>> function. It was introduced here:
>>
>> commit 43fe90f66a0b200f6c32507428349afb45f661ca
>> Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
>> Date: Fri Oct 25 15:55:15 2013 -0400
>>
>> Suppress -0 in the C field of lines computed by line_construct_pts().
>>
>> It's not entirely clear why some PPC machines are generating -0 here, since
>> the underlying computation should be exactly 0 - 0. Perhaps there's some
>> wider-than-nominal-precision calculations happening? Anyway, the best way
>> to avoid platform-dependent results seems to be to explicitly reset -0 to
>> regular zero.
>>
>
> Hmm, I see. I think adding it to the else branch should do the trick,
> then, I guess. But I'd be much happier if I could test it somewhere
> before the commit.
>

FWIW I think this should fix it. Can someone with access to an affected
machine confirm?

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
zero-handling.patch text/x-patch 460 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2018-07-29 15:19:48 Re: [PATCH] Improve geometric types
Previous Message Tomas Vondra 2018-07-29 15:11:46 Re: [PATCH] Improve geometric types