Re: Remove dependence on integer wrapping
От
Nathan Bossart
Тема
Re: Remove dependence on integer wrapping
Дата
Msg-id
ZpVAvLbtUPnK1JKe@nathan
Ответ на
Re: Remove dependence on integer wrapping (Joseph Koshakow)
Список
Дерево обсуждения
Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Tom Lane <tgl@sss.pgh.pa.us>
Re: Remove dependence on integer wrapping Andres Freund <andres@anarazel.de>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Tom Lane <tgl@sss.pgh.pa.us>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Peter Geoghegan <pg@bowt.ie>
Re: Remove dependence on integer wrapping Alexander Lakhin <exclusion@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping jian he <jian.universality@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Matthew Kim <matthewkmkim@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping jian he <jian.universality@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Matthew Kim <matthewkmkim@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Matthew Kim <matthewkmkim@gmail.com>
Re: Remove dependence on integer wrapping jian he <jian.universality@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping jian he <jian.universality@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Heikki Linnakangas <hlinnaka@iki.fi>
Re: Remove dependence on integer wrapping Matthew Kim <matthewkmkim@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Alexander Lakhin <exclusion@gmail.com>
Re: Remove dependence on integer wrapping Joseph Koshakow <koshy44@gmail.com>
Re: Remove dependence on integer wrapping Alexander Lakhin <exclusion@gmail.com>
Re: Remove dependence on integer wrapping Nathan Bossart <nathandbossart@gmail.com>
Re: Remove dependence on integer wrapping Tom Lane <tgl@sss.pgh.pa.us>
I took a closer look at 0002.
+ if (unlikely(isinf(f) || isnan(f)))
+ ereport(ERROR,
+ (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
+ errmsg("invalid float value")));
+
+ fresult = rint(f * c);
+ if (unlikely(f == 0.0))
+ ereport(ERROR,
+ (errcode(ERRCODE_DIVISION_BY_ZERO),
+ errmsg("division by zero")));
+ if (unlikely(isinf(f) || isnan(f)))
+ ereport(ERROR,
+ (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
+ errmsg("invalid float value")));
+
+ fresult = rint(c / f);
I'm curious why you aren't using float8_mul/float8_div here, i.e.,
fresult = rint(float8_mul((float8) c, f));
fresult = rint(float8_div((float8) c, f));
nitpick: I'd name the functions something like "cash_mul_float8" and
"cash_div_float8". Perhaps we could also add functions like
"cash_mul_int64" and "cash_sub_int64" so that we don't need several copies
of the same "money out of range" ERROR.
--
nathan
В списке pgsql-hackers по дате отправления
От: Laurenz Albe
Дата: