Re: Greatest Common Divisor

Поиск
Список
Период
Сортировка
От Fabien COELHO
Тема Re: Greatest Common Divisor
Дата
Msg-id alpine.DEB.2.21.2001032010470.12030@pseudo
обсуждение исходный текст
Ответ на Re: Greatest Common Divisor  (Vik Fearing <vik.fearing@2ndquadrant.com>)
Ответы Re: Greatest Common Divisor
Re: Greatest Common Divisor
Список pgsql-hackers
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?

> gcd() is now strictly positive, so INT_MIN is no longer a valid result.

Ok.

I'm unsure about gcd(INT_MIN, 0) should error. Possibly 0 would be 
nicer?

-- 
Fabien.



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Greatest Common Divisor
Следующее
От: Robbie Harwood
Дата:
Сообщение: Re: weird libpq GSSAPI comment