Re: numeric precision when raising one numeric to

Поиск
Список
Период
Сортировка
От Scott Marlowe
Тема Re: numeric precision when raising one numeric to
Дата
Msg-id 1116452798.31821.64.camel@state.g2switchworks.com
обсуждение исходный текст
Ответ на Re: numeric precision when raising one numeric to another.  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: numeric precision when raising one numeric to another.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Wed, 2005-05-18 at 16:42, Tom Lane wrote:
> Scott Marlowe <smarlowe@g2switchworks.com> writes:
> > It appears from checking the output of exponentiation of one numeric to
> > another, the output is actually in floating point.  Is this normal and /
> > or expected?
>
> Yes, seeing that the only ^ operator we have is float8.
>
> regression=# \do ^
>                                          List of operators
>    Schema   | Name |  Left arg type   |  Right arg type  |   Result type    |
>   Description
> ------------+------+------------------+------------------+------------------+----------------------
>  pg_catalog | ^    | double precision | double precision | double precision | exponentiation (x^y)
> (1 row)

But is this proper behaviour?

Considering that the SQL spec says the result of multiplication of exact
numeric types is exact numeric types of precision S1+S2, and
exponentiation is nothing more than repeated multiplication, should
postgresql have a numeric capable exponentiation operator?  Since I've
finally got a job where I can actually hack on the clock a bit, it might
be a nice trial balloon.  It'll take a week or two to knock the rust off
my C skills though.  :)

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: numeric precision when raising one numeric to another.
Следующее
От: Tom Lane
Дата:
Сообщение: Re: numeric precision when raising one numeric to another.