PL/SQL verbeteringen in Oracle 10G - Nieuwe IEEE Floating-Point Types |
Oracle 10g introduceert de nieuwe IEEE floating-point types BINARY_FLOAT en BINARY_DOUBLE. De types zijn uiterst efficiƫnt voor voor zware floating point berekeningen terwijl het werk direct naar het operating system wordt doorgegeven.
Tekst opdrachten kunnen uitgevoerd worden met de "f" en "d" toevoegingen of met de conversie functies toevoegingen TO_BINARY_FLOAT en TO_BINARY_DOUBLE:
DECLARE l_binary_float BINARY_FLOAT; l_binary_double BINARY_DOUBLE; BEGIN l_binary_float := 1.1f; l_binary_double := 1.00001d;
l_binary_float := TO_BINARY_FLOAT(1.1); l_binary_double := TO_BINARY_DOUBLE(1.00001); END; / Liever dan met exceptions te komen, kunnen de uitkomst waarden van berekeningen vergeleken worden met de volgende constantn waarvoor getest kan worden:
- [BINARY_FLOAT|BINARY_DOUBLE]_NAN
- [BINARY_FLOAT|BINARY_DOUBLE]_INFINITY
- [BINARY_FLOAT|BINARY_DOUBLE]_MAX_NORMAL
- [BINARY_FLOAT|BINARY_DOUBLE]_MIN_NORMAL
- [BINARY_FLOAT|BINARY_DOUBLE]_MAX_SUBNORMAL
- [BINARY_FLOAT|BINARY_DOUBLE]_MIN_SUBNORMAL
De constanten voor NaN en infinity zijn ook beschikbaar in SQL. |
|
|