get rid of Abs()

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема get rid of Abs()
Дата
Msg-id 4beb42b5-216b-bce8-d452-d924d5794c63@enterprisedb.com
обсуждение исходный текст
Ответы Re: get rid of Abs()  (Zhang Mingli <zmlpostgres@gmail.com>)
Re: get rid of Abs()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
I was wondering why we have a definition of Abs() in c.h when there are 
more standard functions such as abs() and fabs() in widespread use.  I 
think this one is left over from pre-ANSI-C days.  The attached patches 
replace all uses of Abs() with more standard functions.

The first patch installs uses of abs() and fabs().  These are already in 
use in the tree and should be straightforward.

The next two patches install uses of llabs() and fabsf(), which are not 
in use yet.  But they are in C99.

The last patch removes the definition of Abs().


Fun fact: The current definition

     #define Abs(x)         ((x) >= 0 ? (x) : -(x))

is slightly wrong for floating-point values.  Abs(-0.0) returns -0.0, 
but fabs(-0.0) returns +0.0.
Вложения

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

Предыдущее
От: Peter Smith
Дата:
Сообщение: Re: GUC tables - use designated initializers
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Re: log_heap_visible(): remove unused parameter and update comment