Re: Greatest Common Divisor
| От | Vik Fearing |
|---|---|
| Тема | Re: Greatest Common Divisor |
| Дата | |
| Msg-id | 5bf72c6b-1290-2ba0-770b-8a13e899fd98@2ndquadrant.com обсуждение исходный текст |
| Ответ на | Re: Greatest Common Divisor (Fabien COELHO <coelho@cri.ensmp.fr>) |
| Ответы |
Re: Greatest Common Divisor
Re: Greatest Common Divisor Re: Greatest Common Divisor |
| Список | pgsql-hackers |
On 03/01/2020 20:14, Fabien COELHO wrote:
>
> Bonsoir Vik,
>
> +int4gcd_internal(int32 arg1, int32 arg2)
> +{
> + int32 swap;
> +
> + /*
> + * Put the greater value in arg1.
> + * This would happen automatically in the loop below, but
> avoids an
> + * expensive modulo simulation on some architectures.
> + */
> + if (arg1 < arg2)
> + {
> + swap = arg1;
> + arg1 = arg2;
> + arg2 = swap;
> + }
>
>
> The point of swapping is to a void possibly expensive modulo, but this
> should be done on absolute values, otherwise it may not achieve its
> purpose as stated by the comment?
Ah, true. How widespread are these architectures that need this special
treatment? Is it really worth handling?
> I'm unsure about gcd(INT_MIN, 0) should error. Possibly 0 would be nicer?
What justification for that do you have?
--
Vik Fearing
В списке pgsql-hackers по дате отправления: