Re: Minor bug in src/port/rint.c
От | Bruce Momjian |
---|---|
Тема | Re: Minor bug in src/port/rint.c |
Дата | |
Msg-id | 200803250224.m2P2O4x21153@momjian.us обсуждение исходный текст |
Ответ на | Minor bug in src/port/rint.c (Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>) |
Ответы |
Re: Minor bug in src/port/rint.c
|
Список | pgsql-hackers |
Added to TODO: o Fix port/rint.c to be spec-compliant http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php --------------------------------------------------------------------------- Mark Cave-Ayland wrote: > Hi everyone, > > I believe that there is a small bug in src/port/rint.c when the input > parameter has a fractional part of 0.5 which is demonstrated by the > attached program. It appears that the PG version of rint() rounds in the > wrong direction with respect to glibc. > > mca@mca-desktop:~$ ./test > rint(-1.5): -2.000000 > pg_rint(-1.5): -1.000000 > rint(1.5): 2.000000 > pg_rint(1.5): 1.000000 > > The fix is, of course, to add an equals into the if() comparisons on > lines 21 and 26, so that when the fractional part is 0.5, it rounds in > the opposite direction instead. > > I'm sure that this will have practically zero effect on the code, > however it may be worth applying for correctness and consistency with > other platform implementations. > > > ATB, > > Mark. > > -- > ILande - Open Source Consultancy > http://www.ilande.co.uk > [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-hackers по дате отправления: