Re: [PATCH] Improve geometric types - Mailing list pgsql-hackers

From Kyotaro HORIGUCHI
Subject Re: [PATCH] Improve geometric types
Date
Msg-id 20180809.184216.149072281.horiguchi.kyotaro@lab.ntt.co.jp
Whole thread Raw
In response to Re: [PATCH] Improve geometric types  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: [PATCH] Improve geometric types
List pgsql-hackers
At Wed, 8 Aug 2018 14:39:54 +0200, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote in
<6ecb4f61-1fb1-08a1-31d6-e58e9c352374@2ndquadrant.com>
>
>
> On 08/03/2018 02:39 PM, Tomas Vondra wrote:
> > On 08/03/2018 06:40 AM, Kyotaro HORIGUCHI wrote:
> >> ...
> >>
> >> I'm not confident on replacing double to float8 partially in gist
> >> code. After the 0002 patch applied, I see most of problematic
> >> usage of double or bare arithmetic on dimentional values in
> >> gistproc.c.
> >>
> >>> static inline float
> >>> non_negative(float val)
> >>> {
> >>>     if (val >= 0.0f)
> >>>         return val;
> >>>     else
> >>>         return 0.0f;
> >>> }
> >>
> >> It is used as "non_negative(overlap)", where overlap is float4,
> >> which is calculated using float8_mi.  Float4 makes sense only if
> >> we need to store a large number of it to somewhere but they are
> >> just working varialbles. Couldn't we eliminate float4 that
> >> doesn't have a requirement to do so?
> >>
> > I'm not sure I follow. The patch does not modify non_negative() at
> > all, and we still call it like this:
> >      if (non_negative(overlap) < non_negative(context->overlap) ||
> >          (range > context->range &&
> >           non_negative(overlap) <= non_negative(context->overlap)))
> >          selectthis = true;
> > where all the "overlap" values are still float4. The only thing that
> > changed here is that instead of doing the arithmetic operations
> > directly we call float8_mi/float8_div to benefit from the float8
> > handling.
> > So I'm not sure how does the patch beaks this? And what do you mean by
> > 'eliminate float4'?
> >
>
> Kyotaro-san, can you explain what your concerns regarding this bit
> are? I'd like to get 0002 committed, but I'm not sure I understand
> your point about the changes in gist code, so I can't address
> them. And I certainly don't want to just ignore them ...

It doesn't break nothing so nothing must be done with this. Just
I was a bit uneasy to see meaninglessly used foat4. Sorry for
the unnecessary argument.

After all I don't object to commit it in this shape.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Devrim Gündüz
Date:
Subject: 9.6.10 build warning on Fedora 28
Next
From: David Rowley
Date:
Subject: Re: 9.6.10 build warning on Fedora 28