4 CREATE TABLE FLOAT4_TBL (f1 float4);
5 INSERT INTO FLOAT4_TBL(f1) VALUES (' 0.0');
6 INSERT INTO FLOAT4_TBL(f1) VALUES ('1004.30 ');
7 INSERT INTO FLOAT4_TBL(f1) VALUES (' -34.84 ');
8 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e+20');
9 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e-20');
10 -- test for over and under flow
11 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
12 ERROR: "10e70" is out of range for type real
13 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
15 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
16 ERROR: "-10e70" is out of range for type real
17 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
19 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
20 ERROR: "10e-70" is out of range for type real
21 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
23 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
24 ERROR: "-10e-70" is out of range for type real
25 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
27 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70'::float8);
28 ERROR: value out of range: overflow
29 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70'::float8);
30 ERROR: value out of range: overflow
31 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70'::float8);
32 ERROR: value out of range: underflow
33 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70'::float8);
34 ERROR: value out of range: underflow
35 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e400');
36 ERROR: "10e400" is out of range for type real
37 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e400');
39 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e400');
40 ERROR: "-10e400" is out of range for type real
41 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e400');
43 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-400');
44 ERROR: "10e-400" is out of range for type real
45 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-400');
47 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-400');
48 ERROR: "-10e-400" is out of range for type real
49 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-400');
52 INSERT INTO FLOAT4_TBL(f1) VALUES ('');
53 ERROR: invalid input syntax for type real: ""
54 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('');
56 INSERT INTO FLOAT4_TBL(f1) VALUES (' ');
57 ERROR: invalid input syntax for type real: " "
58 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES (' ');
60 INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
61 ERROR: invalid input syntax for type real: "xyz"
62 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
64 INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
65 ERROR: invalid input syntax for type real: "5.0.0"
66 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
68 INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
69 ERROR: invalid input syntax for type real: "5 . 0"
70 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
72 INSERT INTO FLOAT4_TBL(f1) VALUES ('5. 0');
73 ERROR: invalid input syntax for type real: "5. 0"
74 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5. 0');
76 INSERT INTO FLOAT4_TBL(f1) VALUES (' - 3.0');
77 ERROR: invalid input syntax for type real: " - 3.0"
78 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES (' - 3.0');
80 INSERT INTO FLOAT4_TBL(f1) VALUES ('123 5');
81 ERROR: invalid input syntax for type real: "123 5"
82 LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('123 5');
84 -- Also try it with non-error-throwing API
85 SELECT pg_input_is_valid('34.5', 'float4');
91 SELECT pg_input_is_valid('xyz', 'float4');
97 SELECT pg_input_is_valid('1e400', 'float4');
103 SELECT * FROM pg_input_error_info('1e400', 'float4');
104 message | detail | hint | sql_error_code
105 ---------------------------------------+--------+------+----------------
106 "1e400" is out of range for type real | | | 22003
110 SELECT 'NaN'::float4;
116 SELECT 'nan'::float4;
122 SELECT ' NAN '::float4;
128 SELECT 'infinity'::float4;
134 SELECT ' -INFINiTY '::float4;
140 -- bad special inputs
141 SELECT 'N A N'::float4;
142 ERROR: invalid input syntax for type real: "N A N"
143 LINE 1: SELECT 'N A N'::float4;
145 SELECT 'NaN x'::float4;
146 ERROR: invalid input syntax for type real: "NaN x"
147 LINE 1: SELECT 'NaN x'::float4;
149 SELECT ' INFINITY x'::float4;
150 ERROR: invalid input syntax for type real: " INFINITY x"
151 LINE 1: SELECT ' INFINITY x'::float4;
153 SELECT 'Infinity'::float4 + 100.0;
159 SELECT 'Infinity'::float4 / 'Infinity'::float4;
165 SELECT '42'::float4 / 'Infinity'::float4;
171 SELECT 'nan'::float4 / 'nan'::float4;
177 SELECT 'nan'::float4 / '0'::float4;
183 SELECT 'nan'::numeric::float4;
189 SELECT * FROM FLOAT4_TBL;
199 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3';
208 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3';
214 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' > f.f1;
222 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 < '1004.3';
230 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' >= f.f1;
239 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 <= '1004.3';
248 SELECT f.f1, f.f1 * '-10' AS x FROM FLOAT4_TBL f
251 ---------------+----------------
253 1.2345679e+20 | -1.2345678e+21
254 1.2345679e-20 | -1.2345678e-19
257 SELECT f.f1, f.f1 + '-10' AS x FROM FLOAT4_TBL f
260 ---------------+---------------
262 1.2345679e+20 | 1.2345679e+20
266 SELECT f.f1, f.f1 / '-10' AS x FROM FLOAT4_TBL f
269 ---------------+----------------
271 1.2345679e+20 | -1.2345679e+19
272 1.2345679e-20 | -1.2345679e-21
275 SELECT f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f
278 ---------------+---------------
280 1.2345679e+20 | 1.2345679e+20
284 -- test divide by zero
285 SELECT f.f1 / '0.0' from FLOAT4_TBL f;
286 ERROR: division by zero
287 SELECT * FROM FLOAT4_TBL;
297 -- test the unary float4abs operator
298 SELECT f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f;
300 ---------------+---------------
304 1.2345679e+20 | 1.2345679e+20
305 1.2345679e-20 | 1.2345679e-20
309 SET f1 = FLOAT4_TBL.f1 * '-1'
310 WHERE FLOAT4_TBL.f1 > '0.0';
311 SELECT * FROM FLOAT4_TBL;
321 -- test edge-case coercions to integer
322 SELECT '32767.4'::float4::int2;
328 SELECT '32767.6'::float4::int2;
329 ERROR: smallint out of range
330 SELECT '-32768.4'::float4::int2;
336 SELECT '-32768.6'::float4::int2;
337 ERROR: smallint out of range
338 SELECT '2147483520'::float4::int4;
344 SELECT '2147483647'::float4::int4;
345 ERROR: integer out of range
346 SELECT '-2147483648.5'::float4::int4;
352 SELECT '-2147483900'::float4::int4;
353 ERROR: integer out of range
354 SELECT '9223369837831520256'::float4::int8;
356 ---------------------
360 SELECT '9223372036854775807'::float4::int8;
361 ERROR: bigint out of range
362 SELECT '-9223372036854775808.5'::float4::int8;
364 ----------------------
368 SELECT '-9223380000000000000'::float4::int8;
369 ERROR: bigint out of range
370 -- Test for correct input rounding in edge cases.
371 -- These lists are from Paxson 1991, excluding subnormals and
372 -- inputs of over 9 sig. digits.
373 SELECT float4send('5e-20'::float4);
379 SELECT float4send('67e14'::float4);
385 SELECT float4send('985e15'::float4);
391 SELECT float4send('55895e-16'::float4);
397 SELECT float4send('7038531e-32'::float4);
403 SELECT float4send('702990899e-20'::float4);
409 SELECT float4send('3e-23'::float4);
415 SELECT float4send('57e18'::float4);
421 SELECT float4send('789e-35'::float4);
427 SELECT float4send('2539e-18'::float4);
433 SELECT float4send('76173e28'::float4);
439 SELECT float4send('887745e-11'::float4);
445 SELECT float4send('5382571e-37'::float4);
451 SELECT float4send('82381273e-35'::float4);
457 SELECT float4send('750486563e-38'::float4);
463 -- Test that the smallest possible normalized input value inputs
464 -- correctly, either in 9-significant-digit or shortest-decimal
467 -- exact val is 1.1754943508...
468 -- shortest val is 1.1754944000
469 -- midpoint to next val is 1.1754944208...
470 SELECT float4send('1.17549435e-38'::float4);
476 SELECT float4send('1.1754944e-38'::float4);
482 -- test output (and round-trip safety) of various values.
483 -- To ensure we're testing what we think we're testing, start with
484 -- float values specified by bit patterns (as a useful side effect,
485 -- this means we'll fail on non-IEEE platforms).
487 create function xfloat4in(cstring) returns xfloat4 immutable strict
488 language internal as 'int4in';
489 NOTICE: return type xfloat4 is only a shell
490 create function xfloat4out(xfloat4) returns cstring immutable strict
491 language internal as 'int4out';
492 NOTICE: argument type xfloat4 is only a shell
493 LINE 1: create function xfloat4out(xfloat4) returns cstring immutabl...
495 create type xfloat4 (input = xfloat4in, output = xfloat4out, like = float4);
496 create cast (xfloat4 as float4) without function;
497 create cast (float4 as xfloat4) without function;
498 create cast (xfloat4 as integer) without function;
499 create cast (integer as xfloat4) without function;
500 -- float4: seeeeeee emmmmmmm mmmmmmmm mmmmmmmm
501 -- we don't care to assume the platform's strtod() handles subnormals
502 -- correctly; those are "use at your own risk". However we do test
503 -- subnormal outputs, since those are under our control.
504 with testdata(bits) as (values
507 (x'00000002'), (x'00000003'),
508 (x'00000010'), (x'00000011'), (x'00000100'), (x'00000101'),
509 (x'00004000'), (x'00004001'), (x'00080000'), (x'00080001'),
511 (x'0053c4f4'), -- 7693e-42
512 (x'006c85c4'), -- 996622e-44
513 (x'0041ca76'), -- 60419369e-46
514 (x'004b7678'), -- 6930161142e-48
515 -- taken from upstream testsuite
518 -- borderline between subnormal and normal
519 (x'007ffff0'), (x'007ffff1'), (x'007ffffe'), (x'007fffff'))
520 select float4send(flt) as ibits,
522 from (select bits::integer::xfloat4::float4 as flt
526 ------------+---------------
532 \x00000100 | 3.59e-43
534 \x00004000 | 2.2959e-41
535 \x00004001 | 2.296e-41
536 \x00080000 | 7.34684e-40
537 \x00080001 | 7.34685e-40
538 \x0053c4f4 | 7.693e-39
539 \x006c85c4 | 9.96622e-39
540 \x0041ca76 | 6.041937e-39
541 \x004b7678 | 6.930161e-39
543 \x00424fe2 | 6.0898e-39
544 \x007ffff0 | 1.1754921e-38
545 \x007ffff1 | 1.1754922e-38
546 \x007ffffe | 1.1754941e-38
547 \x007fffff | 1.1754942e-38
550 with testdata(bits) as (values
552 -- smallest normal values
553 (x'00800000'), (x'00800001'), (x'00800004'), (x'00800005'),
555 -- small normal values chosen for short vs. long output
556 (x'008002f1'), (x'008002f2'), (x'008002f3'),
557 (x'00800e17'), (x'00800e18'), (x'00800e19'),
558 -- assorted values (random mantissae)
559 (x'01000001'), (x'01102843'), (x'01a52c98'),
560 (x'0219c229'), (x'02e4464d'), (x'037343c1'), (x'03a91b36'),
561 (x'047ada65'), (x'0496fe87'), (x'0550844f'), (x'05999da3'),
562 (x'060ea5e2'), (x'06e63c45'), (x'07f1e548'), (x'0fc5282b'),
563 (x'1f850283'), (x'2874a9d6'),
564 -- values around 5e-08
565 (x'3356bf94'), (x'3356bf95'), (x'3356bf96'),
567 (x'33d6bf94'), (x'33d6bf95'), (x'33d6bf96'),
568 -- around 3e-07 .. 1e-04
569 (x'34a10faf'), (x'34a10fb0'), (x'34a10fb1'),
570 (x'350637bc'), (x'350637bd'), (x'350637be'),
571 (x'35719786'), (x'35719787'), (x'35719788'),
572 (x'358637bc'), (x'358637bd'), (x'358637be'),
573 (x'36a7c5ab'), (x'36a7c5ac'), (x'36a7c5ad'),
574 (x'3727c5ab'), (x'3727c5ac'), (x'3727c5ad'),
575 -- format crossover at 1e-04
576 (x'38d1b714'), (x'38d1b715'), (x'38d1b716'),
577 (x'38d1b717'), (x'38d1b718'), (x'38d1b719'),
578 (x'38d1b71a'), (x'38d1b71b'), (x'38d1b71c'),
581 (x'38dffffe'), (x'38dfffff'), (x'38e00000'),
582 (x'38efffff'), (x'38f00000'), (x'38f00001'),
583 (x'3a83126e'), (x'3a83126f'), (x'3a831270'),
584 (x'3c23d709'), (x'3c23d70a'), (x'3c23d70b'),
585 (x'3dcccccc'), (x'3dcccccd'), (x'3dccccce'),
586 -- chosen to need 9 digits for 3dcccd70
587 (x'3dcccd6f'), (x'3dcccd70'), (x'3dcccd71'),
589 (x'3effffff'), (x'3f000000'), (x'3f000001'),
590 (x'3f333332'), (x'3f333333'), (x'3f333334'),
591 -- approach 1.0 with increasing numbers of 9s
592 (x'3f666665'), (x'3f666666'), (x'3f666667'),
593 (x'3f7d70a3'), (x'3f7d70a4'), (x'3f7d70a5'),
594 (x'3f7fbe76'), (x'3f7fbe77'), (x'3f7fbe78'),
595 (x'3f7ff971'), (x'3f7ff972'), (x'3f7ff973'),
596 (x'3f7fff57'), (x'3f7fff58'), (x'3f7fff59'),
597 (x'3f7fffee'), (x'3f7fffef'),
598 -- values very close to 1
599 (x'3f7ffff0'), (x'3f7ffff1'), (x'3f7ffff2'),
600 (x'3f7ffff3'), (x'3f7ffff4'), (x'3f7ffff5'),
601 (x'3f7ffff6'), (x'3f7ffff7'), (x'3f7ffff8'),
602 (x'3f7ffff9'), (x'3f7ffffa'), (x'3f7ffffb'),
603 (x'3f7ffffc'), (x'3f7ffffd'), (x'3f7ffffe'),
606 (x'3f800001'), (x'3f800002'), (x'3f800003'),
607 (x'3f800004'), (x'3f800005'), (x'3f800006'),
608 (x'3f800007'), (x'3f800008'), (x'3f800009'),
610 (x'3f80000f'), (x'3f800010'), (x'3f800011'),
611 (x'3f800012'), (x'3f800013'), (x'3f800014'),
612 (x'3f800017'), (x'3f800018'), (x'3f800019'),
613 (x'3f80001a'), (x'3f80001b'), (x'3f80001c'),
614 (x'3f800029'), (x'3f80002a'), (x'3f80002b'),
615 (x'3f800053'), (x'3f800054'), (x'3f800055'),
616 (x'3f800346'), (x'3f800347'), (x'3f800348'),
617 (x'3f8020c4'), (x'3f8020c5'), (x'3f8020c6'),
618 (x'3f8147ad'), (x'3f8147ae'), (x'3f8147af'),
619 (x'3f8ccccc'), (x'3f8ccccd'), (x'3f8cccce'),
621 (x'3fc90fdb'), -- pi/2
625 (x'409fffff'), (x'40a00000'), (x'40a00001'),
626 (x'40afffff'), (x'40b00000'), (x'40b00001'),
627 (x'411fffff'), (x'41200000'), (x'41200001'),
628 (x'42c7ffff'), (x'42c80000'), (x'42c80001'),
629 (x'4479ffff'), (x'447a0000'), (x'447a0001'),
630 (x'461c3fff'), (x'461c4000'), (x'461c4001'),
631 (x'47c34fff'), (x'47c35000'), (x'47c35001'),
632 (x'497423ff'), (x'49742400'), (x'49742401'),
633 (x'4b18967f'), (x'4b189680'), (x'4b189681'),
634 (x'4cbebc1f'), (x'4cbebc20'), (x'4cbebc21'),
635 (x'4e6e6b27'), (x'4e6e6b28'), (x'4e6e6b29'),
636 (x'501502f8'), (x'501502f9'), (x'501502fa'),
637 (x'51ba43b6'), (x'51ba43b7'), (x'51ba43b8'),
639 (x'1f6c1e4a'), -- 5e-20
640 (x'59be6cea'), -- 67e14
641 (x'5d5ab6c4'), -- 985e15
642 (x'2cc4a9bd'), -- 55895e-16
643 (x'15ae43fd'), -- 7038531e-32
644 (x'2cf757ca'), -- 702990899e-20
645 (x'665ba998'), -- 25933168707e13
646 (x'743c3324'), -- 596428896559e20
647 -- exercise fixed-point memmoves
654 -- these cases come from the upstream's testsuite
659 -- ExactValueRoundEven
662 -- LotsOfTrailingZeros
707 select float4send(flt) as ibits,
709 flt::text::float4 as r_flt,
710 float4send(flt::text::float4) as obits,
711 float4send(flt::text::float4) = float4send(flt) as correct
712 from (select bits::integer::xfloat4::float4 as flt
715 ibits | flt | r_flt | obits | correct
716 ------------+----------------+----------------+------------+---------
717 \x00000000 | 0 | 0 | \x00000000 | t
718 \x00800000 | 1.1754944e-38 | 1.1754944e-38 | \x00800000 | t
719 \x00800001 | 1.1754945e-38 | 1.1754945e-38 | \x00800001 | t
720 \x00800004 | 1.1754949e-38 | 1.1754949e-38 | \x00800004 | t
721 \x00800005 | 1.175495e-38 | 1.175495e-38 | \x00800005 | t
722 \x00800006 | 1.1754952e-38 | 1.1754952e-38 | \x00800006 | t
723 \x008002f1 | 1.1755999e-38 | 1.1755999e-38 | \x008002f1 | t
724 \x008002f2 | 1.1756e-38 | 1.1756e-38 | \x008002f2 | t
725 \x008002f3 | 1.1756001e-38 | 1.1756001e-38 | \x008002f3 | t
726 \x00800e17 | 1.1759998e-38 | 1.1759998e-38 | \x00800e17 | t
727 \x00800e18 | 1.176e-38 | 1.176e-38 | \x00800e18 | t
728 \x00800e19 | 1.1760001e-38 | 1.1760001e-38 | \x00800e19 | t
729 \x01000001 | 2.350989e-38 | 2.350989e-38 | \x01000001 | t
730 \x01102843 | 2.647751e-38 | 2.647751e-38 | \x01102843 | t
731 \x01a52c98 | 6.0675416e-38 | 6.0675416e-38 | \x01a52c98 | t
732 \x0219c229 | 1.1296386e-37 | 1.1296386e-37 | \x0219c229 | t
733 \x02e4464d | 3.354194e-37 | 3.354194e-37 | \x02e4464d | t
734 \x037343c1 | 7.148906e-37 | 7.148906e-37 | \x037343c1 | t
735 \x03a91b36 | 9.939175e-37 | 9.939175e-37 | \x03a91b36 | t
736 \x047ada65 | 2.948764e-36 | 2.948764e-36 | \x047ada65 | t
737 \x0496fe87 | 3.5498577e-36 | 3.5498577e-36 | \x0496fe87 | t
738 \x0550844f | 9.804414e-36 | 9.804414e-36 | \x0550844f | t
739 \x05999da3 | 1.4445957e-35 | 1.4445957e-35 | \x05999da3 | t
740 \x060ea5e2 | 2.6829103e-35 | 2.6829103e-35 | \x060ea5e2 | t
741 \x06e63c45 | 8.660494e-35 | 8.660494e-35 | \x06e63c45 | t
742 \x07f1e548 | 3.639641e-34 | 3.639641e-34 | \x07f1e548 | t
743 \x0fc5282b | 1.9441172e-29 | 1.9441172e-29 | \x0fc5282b | t
744 \x1f850283 | 5.6331846e-20 | 5.6331846e-20 | \x1f850283 | t
745 \x2874a9d6 | 1.3581548e-14 | 1.3581548e-14 | \x2874a9d6 | t
746 \x3356bf94 | 4.9999997e-08 | 4.9999997e-08 | \x3356bf94 | t
747 \x3356bf95 | 5e-08 | 5e-08 | \x3356bf95 | t
748 \x3356bf96 | 5.0000004e-08 | 5.0000004e-08 | \x3356bf96 | t
749 \x33d6bf94 | 9.9999994e-08 | 9.9999994e-08 | \x33d6bf94 | t
750 \x33d6bf95 | 1e-07 | 1e-07 | \x33d6bf95 | t
751 \x33d6bf96 | 1.0000001e-07 | 1.0000001e-07 | \x33d6bf96 | t
752 \x34a10faf | 2.9999998e-07 | 2.9999998e-07 | \x34a10faf | t
753 \x34a10fb0 | 3e-07 | 3e-07 | \x34a10fb0 | t
754 \x34a10fb1 | 3.0000004e-07 | 3.0000004e-07 | \x34a10fb1 | t
755 \x350637bc | 4.9999994e-07 | 4.9999994e-07 | \x350637bc | t
756 \x350637bd | 5e-07 | 5e-07 | \x350637bd | t
757 \x350637be | 5.0000006e-07 | 5.0000006e-07 | \x350637be | t
758 \x35719786 | 8.999999e-07 | 8.999999e-07 | \x35719786 | t
759 \x35719787 | 9e-07 | 9e-07 | \x35719787 | t
760 \x35719788 | 9.0000003e-07 | 9.0000003e-07 | \x35719788 | t
761 \x358637bc | 9.999999e-07 | 9.999999e-07 | \x358637bc | t
762 \x358637bd | 1e-06 | 1e-06 | \x358637bd | t
763 \x358637be | 1.0000001e-06 | 1.0000001e-06 | \x358637be | t
764 \x36a7c5ab | 4.9999994e-06 | 4.9999994e-06 | \x36a7c5ab | t
765 \x36a7c5ac | 5e-06 | 5e-06 | \x36a7c5ac | t
766 \x36a7c5ad | 5.0000003e-06 | 5.0000003e-06 | \x36a7c5ad | t
767 \x3727c5ab | 9.999999e-06 | 9.999999e-06 | \x3727c5ab | t
768 \x3727c5ac | 1e-05 | 1e-05 | \x3727c5ac | t
769 \x3727c5ad | 1.0000001e-05 | 1.0000001e-05 | \x3727c5ad | t
770 \x38d1b714 | 9.9999976e-05 | 9.9999976e-05 | \x38d1b714 | t
771 \x38d1b715 | 9.999998e-05 | 9.999998e-05 | \x38d1b715 | t
772 \x38d1b716 | 9.999999e-05 | 9.999999e-05 | \x38d1b716 | t
773 \x38d1b717 | 0.0001 | 0.0001 | \x38d1b717 | t
774 \x38d1b718 | 0.000100000005 | 0.000100000005 | \x38d1b718 | t
775 \x38d1b719 | 0.00010000001 | 0.00010000001 | \x38d1b719 | t
776 \x38d1b71a | 0.00010000002 | 0.00010000002 | \x38d1b71a | t
777 \x38d1b71b | 0.00010000003 | 0.00010000003 | \x38d1b71b | t
778 \x38d1b71c | 0.000100000034 | 0.000100000034 | \x38d1b71c | t
779 \x38d1b71d | 0.00010000004 | 0.00010000004 | \x38d1b71d | t
780 \x38dffffe | 0.00010681151 | 0.00010681151 | \x38dffffe | t
781 \x38dfffff | 0.000106811516 | 0.000106811516 | \x38dfffff | t
782 \x38e00000 | 0.00010681152 | 0.00010681152 | \x38e00000 | t
783 \x38efffff | 0.00011444091 | 0.00011444091 | \x38efffff | t
784 \x38f00000 | 0.00011444092 | 0.00011444092 | \x38f00000 | t
785 \x38f00001 | 0.000114440925 | 0.000114440925 | \x38f00001 | t
786 \x3a83126e | 0.0009999999 | 0.0009999999 | \x3a83126e | t
787 \x3a83126f | 0.001 | 0.001 | \x3a83126f | t
788 \x3a831270 | 0.0010000002 | 0.0010000002 | \x3a831270 | t
789 \x3c23d709 | 0.009999999 | 0.009999999 | \x3c23d709 | t
790 \x3c23d70a | 0.01 | 0.01 | \x3c23d70a | t
791 \x3c23d70b | 0.010000001 | 0.010000001 | \x3c23d70b | t
792 \x3dcccccc | 0.099999994 | 0.099999994 | \x3dcccccc | t
793 \x3dcccccd | 0.1 | 0.1 | \x3dcccccd | t
794 \x3dccccce | 0.10000001 | 0.10000001 | \x3dccccce | t
795 \x3dcccd6f | 0.10000121 | 0.10000121 | \x3dcccd6f | t
796 \x3dcccd70 | 0.100001216 | 0.100001216 | \x3dcccd70 | t
797 \x3dcccd71 | 0.10000122 | 0.10000122 | \x3dcccd71 | t
798 \x3effffff | 0.49999997 | 0.49999997 | \x3effffff | t
799 \x3f000000 | 0.5 | 0.5 | \x3f000000 | t
800 \x3f000001 | 0.50000006 | 0.50000006 | \x3f000001 | t
801 \x3f333332 | 0.6999999 | 0.6999999 | \x3f333332 | t
802 \x3f333333 | 0.7 | 0.7 | \x3f333333 | t
803 \x3f333334 | 0.70000005 | 0.70000005 | \x3f333334 | t
804 \x3f666665 | 0.8999999 | 0.8999999 | \x3f666665 | t
805 \x3f666666 | 0.9 | 0.9 | \x3f666666 | t
806 \x3f666667 | 0.90000004 | 0.90000004 | \x3f666667 | t
807 \x3f7d70a3 | 0.98999995 | 0.98999995 | \x3f7d70a3 | t
808 \x3f7d70a4 | 0.99 | 0.99 | \x3f7d70a4 | t
809 \x3f7d70a5 | 0.99000007 | 0.99000007 | \x3f7d70a5 | t
810 \x3f7fbe76 | 0.99899995 | 0.99899995 | \x3f7fbe76 | t
811 \x3f7fbe77 | 0.999 | 0.999 | \x3f7fbe77 | t
812 \x3f7fbe78 | 0.9990001 | 0.9990001 | \x3f7fbe78 | t
813 \x3f7ff971 | 0.9998999 | 0.9998999 | \x3f7ff971 | t
814 \x3f7ff972 | 0.9999 | 0.9999 | \x3f7ff972 | t
815 \x3f7ff973 | 0.99990004 | 0.99990004 | \x3f7ff973 | t
816 \x3f7fff57 | 0.9999899 | 0.9999899 | \x3f7fff57 | t
817 \x3f7fff58 | 0.99999 | 0.99999 | \x3f7fff58 | t
818 \x3f7fff59 | 0.99999005 | 0.99999005 | \x3f7fff59 | t
819 \x3f7fffee | 0.9999989 | 0.9999989 | \x3f7fffee | t
820 \x3f7fffef | 0.999999 | 0.999999 | \x3f7fffef | t
821 \x3f7ffff0 | 0.99999905 | 0.99999905 | \x3f7ffff0 | t
822 \x3f7ffff1 | 0.9999991 | 0.9999991 | \x3f7ffff1 | t
823 \x3f7ffff2 | 0.99999917 | 0.99999917 | \x3f7ffff2 | t
824 \x3f7ffff3 | 0.9999992 | 0.9999992 | \x3f7ffff3 | t
825 \x3f7ffff4 | 0.9999993 | 0.9999993 | \x3f7ffff4 | t
826 \x3f7ffff5 | 0.99999934 | 0.99999934 | \x3f7ffff5 | t
827 \x3f7ffff6 | 0.9999994 | 0.9999994 | \x3f7ffff6 | t
828 \x3f7ffff7 | 0.99999946 | 0.99999946 | \x3f7ffff7 | t
829 \x3f7ffff8 | 0.9999995 | 0.9999995 | \x3f7ffff8 | t
830 \x3f7ffff9 | 0.9999996 | 0.9999996 | \x3f7ffff9 | t
831 \x3f7ffffa | 0.99999964 | 0.99999964 | \x3f7ffffa | t
832 \x3f7ffffb | 0.9999997 | 0.9999997 | \x3f7ffffb | t
833 \x3f7ffffc | 0.99999976 | 0.99999976 | \x3f7ffffc | t
834 \x3f7ffffd | 0.9999998 | 0.9999998 | \x3f7ffffd | t
835 \x3f7ffffe | 0.9999999 | 0.9999999 | \x3f7ffffe | t
836 \x3f7fffff | 0.99999994 | 0.99999994 | \x3f7fffff | t
837 \x3f800000 | 1 | 1 | \x3f800000 | t
838 \x3f800001 | 1.0000001 | 1.0000001 | \x3f800001 | t
839 \x3f800002 | 1.0000002 | 1.0000002 | \x3f800002 | t
840 \x3f800003 | 1.0000004 | 1.0000004 | \x3f800003 | t
841 \x3f800004 | 1.0000005 | 1.0000005 | \x3f800004 | t
842 \x3f800005 | 1.0000006 | 1.0000006 | \x3f800005 | t
843 \x3f800006 | 1.0000007 | 1.0000007 | \x3f800006 | t
844 \x3f800007 | 1.0000008 | 1.0000008 | \x3f800007 | t
845 \x3f800008 | 1.000001 | 1.000001 | \x3f800008 | t
846 \x3f800009 | 1.0000011 | 1.0000011 | \x3f800009 | t
847 \x3f80000f | 1.0000018 | 1.0000018 | \x3f80000f | t
848 \x3f800010 | 1.0000019 | 1.0000019 | \x3f800010 | t
849 \x3f800011 | 1.000002 | 1.000002 | \x3f800011 | t
850 \x3f800012 | 1.0000021 | 1.0000021 | \x3f800012 | t
851 \x3f800013 | 1.0000023 | 1.0000023 | \x3f800013 | t
852 \x3f800014 | 1.0000024 | 1.0000024 | \x3f800014 | t
853 \x3f800017 | 1.0000027 | 1.0000027 | \x3f800017 | t
854 \x3f800018 | 1.0000029 | 1.0000029 | \x3f800018 | t
855 \x3f800019 | 1.000003 | 1.000003 | \x3f800019 | t
856 \x3f80001a | 1.0000031 | 1.0000031 | \x3f80001a | t
857 \x3f80001b | 1.0000032 | 1.0000032 | \x3f80001b | t
858 \x3f80001c | 1.0000033 | 1.0000033 | \x3f80001c | t
859 \x3f800029 | 1.0000049 | 1.0000049 | \x3f800029 | t
860 \x3f80002a | 1.000005 | 1.000005 | \x3f80002a | t
861 \x3f80002b | 1.0000051 | 1.0000051 | \x3f80002b | t
862 \x3f800053 | 1.0000099 | 1.0000099 | \x3f800053 | t
863 \x3f800054 | 1.00001 | 1.00001 | \x3f800054 | t
864 \x3f800055 | 1.0000101 | 1.0000101 | \x3f800055 | t
865 \x3f800346 | 1.0000999 | 1.0000999 | \x3f800346 | t
866 \x3f800347 | 1.0001 | 1.0001 | \x3f800347 | t
867 \x3f800348 | 1.0001001 | 1.0001001 | \x3f800348 | t
868 \x3f8020c4 | 1.0009999 | 1.0009999 | \x3f8020c4 | t
869 \x3f8020c5 | 1.001 | 1.001 | \x3f8020c5 | t
870 \x3f8020c6 | 1.0010002 | 1.0010002 | \x3f8020c6 | t
871 \x3f8147ad | 1.0099999 | 1.0099999 | \x3f8147ad | t
872 \x3f8147ae | 1.01 | 1.01 | \x3f8147ae | t
873 \x3f8147af | 1.0100001 | 1.0100001 | \x3f8147af | t
874 \x3f8ccccc | 1.0999999 | 1.0999999 | \x3f8ccccc | t
875 \x3f8ccccd | 1.1 | 1.1 | \x3f8ccccd | t
876 \x3f8cccce | 1.1000001 | 1.1000001 | \x3f8cccce | t
877 \x3fc90fdb | 1.5707964 | 1.5707964 | \x3fc90fdb | t
878 \x402df854 | 2.7182817 | 2.7182817 | \x402df854 | t
879 \x40490fdb | 3.1415927 | 3.1415927 | \x40490fdb | t
880 \x409fffff | 4.9999995 | 4.9999995 | \x409fffff | t
881 \x40a00000 | 5 | 5 | \x40a00000 | t
882 \x40a00001 | 5.0000005 | 5.0000005 | \x40a00001 | t
883 \x40afffff | 5.4999995 | 5.4999995 | \x40afffff | t
884 \x40b00000 | 5.5 | 5.5 | \x40b00000 | t
885 \x40b00001 | 5.5000005 | 5.5000005 | \x40b00001 | t
886 \x411fffff | 9.999999 | 9.999999 | \x411fffff | t
887 \x41200000 | 10 | 10 | \x41200000 | t
888 \x41200001 | 10.000001 | 10.000001 | \x41200001 | t
889 \x42c7ffff | 99.99999 | 99.99999 | \x42c7ffff | t
890 \x42c80000 | 100 | 100 | \x42c80000 | t
891 \x42c80001 | 100.00001 | 100.00001 | \x42c80001 | t
892 \x4479ffff | 999.99994 | 999.99994 | \x4479ffff | t
893 \x447a0000 | 1000 | 1000 | \x447a0000 | t
894 \x447a0001 | 1000.00006 | 1000.00006 | \x447a0001 | t
895 \x461c3fff | 9999.999 | 9999.999 | \x461c3fff | t
896 \x461c4000 | 10000 | 10000 | \x461c4000 | t
897 \x461c4001 | 10000.001 | 10000.001 | \x461c4001 | t
898 \x47c34fff | 99999.99 | 99999.99 | \x47c34fff | t
899 \x47c35000 | 100000 | 100000 | \x47c35000 | t
900 \x47c35001 | 100000.01 | 100000.01 | \x47c35001 | t
901 \x497423ff | 999999.94 | 999999.94 | \x497423ff | t
902 \x49742400 | 1e+06 | 1e+06 | \x49742400 | t
903 \x49742401 | 1.00000006e+06 | 1.00000006e+06 | \x49742401 | t
904 \x4b18967f | 9.999999e+06 | 9.999999e+06 | \x4b18967f | t
905 \x4b189680 | 1e+07 | 1e+07 | \x4b189680 | t
906 \x4b189681 | 1.0000001e+07 | 1.0000001e+07 | \x4b189681 | t
907 \x4cbebc1f | 9.999999e+07 | 9.999999e+07 | \x4cbebc1f | t
908 \x4cbebc20 | 1e+08 | 1e+08 | \x4cbebc20 | t
909 \x4cbebc21 | 1.0000001e+08 | 1.0000001e+08 | \x4cbebc21 | t
910 \x4e6e6b27 | 9.9999994e+08 | 9.9999994e+08 | \x4e6e6b27 | t
911 \x4e6e6b28 | 1e+09 | 1e+09 | \x4e6e6b28 | t
912 \x4e6e6b29 | 1.00000006e+09 | 1.00000006e+09 | \x4e6e6b29 | t
913 \x501502f8 | 9.999999e+09 | 9.999999e+09 | \x501502f8 | t
914 \x501502f9 | 1e+10 | 1e+10 | \x501502f9 | t
915 \x501502fa | 1.0000001e+10 | 1.0000001e+10 | \x501502fa | t
916 \x51ba43b6 | 9.999999e+10 | 9.999999e+10 | \x51ba43b6 | t
917 \x51ba43b7 | 1e+11 | 1e+11 | \x51ba43b7 | t
918 \x51ba43b8 | 1.0000001e+11 | 1.0000001e+11 | \x51ba43b8 | t
919 \x1f6c1e4a | 5e-20 | 5e-20 | \x1f6c1e4a | t
920 \x59be6cea | 6.7e+15 | 6.7e+15 | \x59be6cea | t
921 \x5d5ab6c4 | 9.85e+17 | 9.85e+17 | \x5d5ab6c4 | t
922 \x2cc4a9bd | 5.5895e-12 | 5.5895e-12 | \x2cc4a9bd | t
923 \x15ae43fd | 7.038531e-26 | 7.038531e-26 | \x15ae43fd | t
924 \x2cf757ca | 7.0299088e-12 | 7.0299088e-12 | \x2cf757ca | t
925 \x665ba998 | 2.5933168e+23 | 2.5933168e+23 | \x665ba998 | t
926 \x743c3324 | 5.9642887e+31 | 5.9642887e+31 | \x743c3324 | t
927 \x47f1205a | 123456.7 | 123456.7 | \x47f1205a | t
928 \x4640e6ae | 12345.67 | 12345.67 | \x4640e6ae | t
929 \x449a5225 | 1234.567 | 1234.567 | \x449a5225 | t
930 \x42f6e9d5 | 123.4567 | 123.4567 | \x42f6e9d5 | t
931 \x414587dd | 12.34567 | 12.34567 | \x414587dd | t
932 \x3f9e064b | 1.234567 | 1.234567 | \x3f9e064b | t
933 \x4c000004 | 3.3554448e+07 | 3.3554448e+07 | \x4c000004 | t
934 \x50061c46 | 8.999999e+09 | 8.999999e+09 | \x50061c46 | t
935 \x510006a8 | 3.4366718e+10 | 3.4366718e+10 | \x510006a8 | t
936 \x48951f84 | 305404.12 | 305404.12 | \x48951f84 | t
937 \x45fd1840 | 8099.0312 | 8099.0312 | \x45fd1840 | t
938 \x39800000 | 0.00024414062 | 0.00024414062 | \x39800000 | t
939 \x3b200000 | 0.0024414062 | 0.0024414062 | \x3b200000 | t
940 \x3b900000 | 0.0043945312 | 0.0043945312 | \x3b900000 | t
941 \x3bd00000 | 0.0063476562 | 0.0063476562 | \x3bd00000 | t
942 \x63800000 | 4.7223665e+21 | 4.7223665e+21 | \x63800000 | t
943 \x4b000000 | 8.388608e+06 | 8.388608e+06 | \x4b000000 | t
944 \x4b800000 | 1.6777216e+07 | 1.6777216e+07 | \x4b800000 | t
945 \x4c000001 | 3.3554436e+07 | 3.3554436e+07 | \x4c000001 | t
946 \x4c800b0d | 6.7131496e+07 | 6.7131496e+07 | \x4c800b0d | t
947 \x00d24584 | 1.9310392e-38 | 1.9310392e-38 | \x00d24584 | t
948 \x00d90b88 | 1.993244e-38 | 1.993244e-38 | \x00d90b88 | t
949 \x45803f34 | 4103.9004 | 4103.9004 | \x45803f34 | t
950 \x4f9f24f7 | 5.3399997e+09 | 5.3399997e+09 | \x4f9f24f7 | t
951 \x3a8722c3 | 0.0010310042 | 0.0010310042 | \x3a8722c3 | t
952 \x5c800041 | 2.882326e+17 | 2.882326e+17 | \x5c800041 | t
953 \x15ae43fd | 7.038531e-26 | 7.038531e-26 | \x15ae43fd | t
954 \x5d4cccfb | 9.223404e+17 | 9.223404e+17 | \x5d4cccfb | t
955 \x4c800001 | 6.710887e+07 | 6.710887e+07 | \x4c800001 | t
956 \x57800ed8 | 2.816025e+14 | 2.816025e+14 | \x57800ed8 | t
957 \x5f000000 | 9.223372e+18 | 9.223372e+18 | \x5f000000 | t
958 \x700000f0 | 1.5846086e+29 | 1.5846086e+29 | \x700000f0 | t
959 \x5f23e9ac | 1.1811161e+19 | 1.1811161e+19 | \x5f23e9ac | t
960 \x5e9502f9 | 5.368709e+18 | 5.368709e+18 | \x5e9502f9 | t
961 \x5e8012b1 | 4.6143166e+18 | 4.6143166e+18 | \x5e8012b1 | t
962 \x3c000028 | 0.007812537 | 0.007812537 | \x3c000028 | t
963 \x60cde861 | 1.18697725e+20 | 1.18697725e+20 | \x60cde861 | t
964 \x03aa2a50 | 1.00014165e-36 | 1.00014165e-36 | \x03aa2a50 | t
965 \x43480000 | 200 | 200 | \x43480000 | t
966 \x4c000000 | 3.3554432e+07 | 3.3554432e+07 | \x4c000000 | t
967 \x5d1502f9 | 6.7108864e+17 | 6.7108864e+17 | \x5d1502f9 | t
968 \x5d9502f9 | 1.3421773e+18 | 1.3421773e+18 | \x5d9502f9 | t
969 \x5e1502f9 | 2.6843546e+18 | 2.6843546e+18 | \x5e1502f9 | t
970 \x3f99999a | 1.2 | 1.2 | \x3f99999a | t
971 \x3f9d70a4 | 1.23 | 1.23 | \x3f9d70a4 | t
972 \x3f9df3b6 | 1.234 | 1.234 | \x3f9df3b6 | t
973 \x3f9e0419 | 1.2345 | 1.2345 | \x3f9e0419 | t
974 \x3f9e0610 | 1.23456 | 1.23456 | \x3f9e0610 | t
975 \x3f9e064b | 1.234567 | 1.234567 | \x3f9e064b | t
976 \x3f9e0651 | 1.2345678 | 1.2345678 | \x3f9e0651 | t
977 \x03d20cfe | 1.23456735e-36 | 1.23456735e-36 | \x03d20cfe | t
980 -- clean up, lest opr_sanity complain
981 drop type xfloat4 cascade;
982 NOTICE: drop cascades to 6 other objects
983 DETAIL: drop cascades to function xfloat4in(cstring)
984 drop cascades to function xfloat4out(xfloat4)
985 drop cascades to cast from xfloat4 to real
986 drop cascades to cast from real to xfloat4
987 drop cascades to cast from xfloat4 to integer
988 drop cascades to cast from integer to xfloat4