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 по дате отправления: