Re: Greatest Common Divisor

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: Vik Fearing <vik.fearing@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Stephen Frost <sfrost@snowman.net>, Dean Rasheed <dean.a.rasheed@gmail.com>, Chapman Flack <chap@anastigmatix.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-01-06T12:11:42Z
Lists: pgsql-hackers
On Sat, Jan 4, 2020 at 4:21 PM Fabien COELHO <coelho@cri.ensmp.fr> wrote:
> In GCD implementations, for instance:
>
>   if (arg1 == PG_INT32_MIN)
>   if (arg2 == 0 || arg2 == PG_INT32_MIN)
>
> And possibly a "likely" on the while.

I don't think decoration the code with likely() and unlikely() all
over the place is a very good idea. Odds are good that we'll end up
with a bunch that are actually non-optimal, and nobody will ever
figure it out because it's hard to figure out. I have a hard time
believing that we're going to be much worse off if we just write the
code normally.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Commits

  1. Add functions gcd() and lcm() for integer and numeric types.