Re: [BUGS] BUG #2846: inconsistent and confusing handling of

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [BUGS] BUG #2846: inconsistent and confusing handling of
Дата
Msg-id 200612272204.kBRM4Yw13461@momjian.us
обсуждение исходный текст
Ответ на Re: [BUGS] BUG #2846: inconsistent and confusing handling of underflows,  (Roman Kononov <kononov195-pgsql@yahoo.com>)
Ответы Re: [BUGS] BUG #2846: inconsistent and confusing handling of underflows,  (Roman Kononov <kononov195-pgsql@yahoo.com>)
Список pgsql-patches
Roman Kononov wrote:
> On 12/27/2006 03:23 PM, Bruce Momjian wrote:
> > Are you sure?  As I remember, computation automatically upgrades to
> > 'double'.  See this program and output:
>
> This is platform- and compiler- dependent:
>
> ~>uname -a
> Linux rklinux 2.6.15-27-amd64-generic #1 SMP PREEMPT Fri Dec 8 17:50:54 UTC 2006 x86_64 GNU/Linux
> ~>gcc --version
> gcc (GCC) 4.3.0 20061213 (experimental)
> Copyright (C) 2006 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> ~>cat test.c
> #include <stdio.h>
> #include <stdlib.h>
>
> int
> main(int argc, char *argv[])
> {
>     float a = 1e30, b = 1e30;
>     double c;
>
>     c = a * b;
>
>     printf("%e\n", c);
>     return 0;
> }
> ~>gcc test.c
> ~>./a.out
> inf
> ~>gcc -march=i386 -m32 test.c
> ~>./a.out
> 1.000000e+60

Interesting.  I didn't know that, but in the float4pl() function,
because the overflow tests and result is float4, what value is there to
doing things as double --- as soon as the float4 maximum is exceeded, we
throw an error?

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

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

Предыдущее
От: "Simon Riggs"
Дата:
Сообщение: Re: WIP patch for "operator families"
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [BUGS] BUG #2846: inconsistent and confusing handling of