Re: Greatest Common Divisor
От | Vik Fearing |
---|---|
Тема | Re: Greatest Common Divisor |
Дата | |
Msg-id | 6e879afa-3055-3d63-6fb7-fbebcd49d5d5@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: Greatest Common Divisor (Dean Rasheed <dean.a.rasheed@gmail.com>) |
Список | pgsql-hackers |
On 25/01/2020 15:18, Dean Rasheed wrote: > > Committed with some adjustments, mostly cosmetic but a couple more substantive: Thanks! > The code to guard against a floating point exception with inputs of > (INT_MIN, -1) wasn't quite right because it actually just moved the > problem so that it would fall over with inputs of (INT_MIN, +1). Good catch. > The convention in numeric.c is that the xxx_var() functions take > *pointers* to their NumericVar arguments rather than copies, and they > do not modify their inputs, as indicated by the use of "const". You > might just have gotten away with what you were doing, but I think it > was bad style and potentially unsafe -- for example, someone calling > gcd_var() with a NumericVar that came from some other computation and > having a non-null buf would risk having the buf freed in the copy, > leaving the original NumericVar with a buf pointing to freed memory. Thank you for taking the time to look closely at this. This was my first time dealing with "numeric" so I was bound to make some mistakes. -- Vik Fearing
В списке pgsql-hackers по дате отправления: