Re: smallfloat underflow
Posted in 2000
Topics: Platform-Specific Issues, Third-Party Tools & Monitoring
Rudy Fernandes wrote:
>
> Work fine under HP10.20, v7.31UC2.
It should work on other machines too. But it doesn't seem to. :-(
I have tried the following two simple statements:
CREATE TEMP TABLE temptable ( sflt smallfloat );
INSERT INTO temptable VALUES (1e-38);
They produced error -1222 (Value will not fit in a SMALLFLOAT)
on those architectures:
- Reliant UNIX (aka SINIX-Y) 5.43 ver. C3004 (RM600 8/1472 R4000),
Informix v7.31.UC2A;
- Reliant UNIX (aka SINIX-Y) 5.43 ver. C3004 (RM600 17/4032 R10000),
Informix v7.30UC6;
- SCO_SV 3.2 5.0.5 (i386), Informix v7.10UC1; and
- SuSE Linux 6.2 (Intel-SMP), Informix v7.30UC7.
All C compilers support 4-byte floats and can approximately represent
1e-38 as 9.9999...e-39.
Seems like an Informix bug to me ...
--
Pozdrav,
Roman
In article <38BF7821.E9216991@hermes.si>, Roman Maurer
<roman.maurer@hermes.si> writes
>Rudy Fernandes wrote:
>>
>> Work fine under HP10.20, v7.31UC2.
>
Float is platform specific. Use decimal (x,y).
>It should work on other machines too. But it doesn't seem to. :-(
>I have tried the following two simple statements:
>
> CREATE TEMP TABLE temptable ( sflt smallfloat );
> INSERT INTO temptable VALUES (1e-38);>
>They produced error -1222 (Value will not fit in a SMALLFLOAT)
>on those architectures:
>
> - Reliant UNIX (aka SINIX-Y) 5.43 ver. C3004 (RM600 8/1472 R4000),
> Informix v7.31.UC2A;
>
> - Reliant UNIX (aka SINIX-Y) 5.43 ver. C3004 (RM600 17/4032 R10000),
> Informix v7.30UC6;
>
> - SCO_SV 3.2 5.0.5 (i386), Informix v7.10UC1; and
>
> - SuSE Linux 6.2 (Intel-SMP), Informix v7.30UC7.
>
>All C compilers support 4-byte floats and can approximately represent
>1e-38 as 9.9999...e-39.
>
>Seems like an Informix bug to me ...
--
David Williams