Roman Kononov wrote: > On 12/27/2006 05:19 PM, Tom Lane wrote: > > Roman Kononov <[EMAIL PROTECTED]> writes: > >> 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: > > > > ... and probably irrelevant, too. We should store the result into a > > float4 variable and then test for isinf() on that; that eliminates the > > question of whether the compiler did the multiply in a wider format or > > not. > > You are right provided that you want to ignore underflows and silently > produce zeros instead. > > If you go this way, I recommend to ignore overflows as well, and silently > produce infinities and NaNs.
While IEEE seems fine with that, I don't think this is good for SQL. It is best to produce a meaningful error. The major issue is that our current code is buggy because it doesn't have consistent behavior, as Roman outlined. -- Bruce Momjian [EMAIL PROTECTED] EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly