From: | Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>, Stephen Frost <sfrost(at)snowman(dot)net>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Chapman Flack <chap(at)anastigmatix(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Greatest Common Divisor |
Date: | 2020-01-04 00:26:48 |
Message-ID: | 127babac-d457-07c6-2251-f607ea9442ee@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 04/01/2020 01:21, Tom Lane wrote:
> Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com> writes:
>> On 03/01/2020 20:14, Fabien COELHO wrote:
>>> I'm unsure about gcd(INT_MIN, 0) should error. Possibly 0 would be nicer?
>> What justification for that do you have?
> Zero is the "correct" answer for that, isn't it, independently of overflow
> considerations?
I would say not. The correct answer is INT_MIN but we've decided a
negative result is not desirable.
> We should strive to give the correct answer if it's known
> and representable, rather than have arbitrary failure conditions.
On that we fully agree.
> (IOW, we should throw errors only when the *result* is out of range
> or undefined, not just because the input is an edge case.)
That's what I do with the rest of it. INT_MIN is only an error if the
result of the calculation is also INT_MIN.
--
Vik Fearing
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-01-04 00:34:04 | Re: Greatest Common Divisor |
Previous Message | Vik Fearing | 2020-01-04 00:21:32 | Re: Greatest Common Divisor |