Re: rounding_up
Daria Shanina <vilensipkdm@gmail.com>
From: Daria Shanina <vilensipkdm@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Christoph Moench-Tegeder <cmt@burggraben.net>,
pgsql-hackers@lists.postgresql.org
Date: 2025-04-14T15:05:16Z
Lists: pgsql-hackers
Hi, Tom! > Round-to-nearest-even is a well-respected rule Yes, you're convinced me! I can’t argue with IEEE 754 =) And, of course, can’t break compatibility. 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 > -- С уважением, Шанина Дарья Александровна