Re: rounding_up - Mailing list pgsql-hackers

From Daria Shanina
Subject Re: rounding_up
Date
Msg-id CAMp4U1cAEFsXMJhBOuCsR0=QRxePs1DQUEK_igwQh4ddpZx8BQ@mail.gmail.com
Whole thread Raw
In response to Re: rounding_up  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

Hi, Christoph!

You wrote a very interesting answer. 


First question would be "which round rule?"

I mean rounding up “as at school”, but there are nuances in programming.

https://www.postgresql.org/docs/current/functions-math.html

Thanks a lot for the link to the doc!

> you set it to with fesetround() (seeman page)

To my great shame, I didn't know about fesetround(). Thanks a lot too!


Best regards,

Daria Shanina


пн, 14 апр. 2025 г. в 17:26, Tom Lane <tgl@sss.pgh.pa.us>:
Christoph Moench-Tegeder <cmt@burggraben.net> writes:
> ## Daria Shanina (vilensipkdm@gmail.com):
>> I noticed, when we parse and validate values (in particular, the int type),
>> we use the *rint* method, but unfortunately it does not work according to
>> the round rules.

> First question would be "which round rule?" as (of course) there're
> multiple to chose from.

Yeah.  Round-to-nearest-even is a well-respected rule, which is why
it's the default per IEEE 754.  I don't see a good reason for us
to switch.  Even if someone advanced an argument, it would have
to be a *mighty* convincing argument to justify breaking backwards
compatibility here.

I do find it a little unfortunate that our numeric type does it
differently than our float types.  Again though, there's a huge
compatibility argument against changing that now.  It does give
you an "out" if you really need one or the other behavior for
a particular application: you can cast to numeric or float8
before casting to int.

                        regards, tom lane


--
С уважением,
Шанина Дарья Александровна

pgsql-hackers by date:

Previous
From: Benoit Lobréau
Date:
Subject: Re: Logging parallel worker draught
Next
From: Abhishek Chanda
Date:
Subject: Re: Adding error messages to a few slash commands