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