1-- 2-- Test seg datatype 3-- 4CREATE EXTENSION seg; 5-- 6-- testing the input and output functions 7-- 8-- Any number 9SELECT '1'::seg AS seg; 10 seg 11----- 12 1 13(1 row) 14 15SELECT '-1'::seg AS seg; 16 seg 17----- 18 -1 19(1 row) 20 21SELECT '1.0'::seg AS seg; 22 seg 23----- 24 1.0 25(1 row) 26 27SELECT '-1.0'::seg AS seg; 28 seg 29------ 30 -1.0 31(1 row) 32 33SELECT '1e7'::seg AS seg; 34 seg 35-------- 36 1e+007 37(1 row) 38 39SELECT '-1e7'::seg AS seg; 40 seg 41--------- 42 -1e+007 43(1 row) 44 45SELECT '1.0e7'::seg AS seg; 46 seg 47---------- 48 1.0e+007 49(1 row) 50 51SELECT '-1.0e7'::seg AS seg; 52 seg 53----------- 54 -1.0e+007 55(1 row) 56 57SELECT '1e+7'::seg AS seg; 58 seg 59-------- 60 1e+007 61(1 row) 62 63SELECT '-1e+7'::seg AS seg; 64 seg 65--------- 66 -1e+007 67(1 row) 68 69SELECT '1.0e+7'::seg AS seg; 70 seg 71---------- 72 1.0e+007 73(1 row) 74 75SELECT '-1.0e+7'::seg AS seg; 76 seg 77----------- 78 -1.0e+007 79(1 row) 80 81SELECT '1e-7'::seg AS seg; 82 seg 83-------- 84 1e-007 85(1 row) 86 87SELECT '-1e-7'::seg AS seg; 88 seg 89--------- 90 -1e-007 91(1 row) 92 93SELECT '1.0e-7'::seg AS seg; 94 seg 95---------- 96 1.0e-007 97(1 row) 98 99SELECT '-1.0e-7'::seg AS seg; 100 seg 101----------- 102 -1.0e-007 103(1 row) 104 105SELECT '2e-6'::seg AS seg; 106 seg 107-------- 108 2e-006 109(1 row) 110 111SELECT '2e-5'::seg AS seg; 112 seg 113-------- 114 2e-005 115(1 row) 116 117SELECT '2e-4'::seg AS seg; 118 seg 119-------- 120 0.0002 121(1 row) 122 123SELECT '2e-3'::seg AS seg; 124 seg 125------- 126 0.002 127(1 row) 128 129SELECT '2e-2'::seg AS seg; 130 seg 131------ 132 0.02 133(1 row) 134 135SELECT '2e-1'::seg AS seg; 136 seg 137----- 138 0.2 139(1 row) 140 141SELECT '2e-0'::seg AS seg; 142 seg 143----- 144 2 145(1 row) 146 147SELECT '2e+0'::seg AS seg; 148 seg 149----- 150 2 151(1 row) 152 153SELECT '2e+1'::seg AS seg; 154 seg 155----- 156 2e1 157(1 row) 158 159SELECT '2e+2'::seg AS seg; 160 seg 161----- 162 2e2 163(1 row) 164 165SELECT '2e+3'::seg AS seg; 166 seg 167----- 168 2e3 169(1 row) 170 171SELECT '2e+4'::seg AS seg; 172 seg 173----- 174 2e4 175(1 row) 176 177SELECT '2e+5'::seg AS seg; 178 seg 179-------- 180 2e+005 181(1 row) 182 183SELECT '2e+6'::seg AS seg; 184 seg 185-------- 186 2e+006 187(1 row) 188 189-- Significant digits preserved 190SELECT '1'::seg AS seg; 191 seg 192----- 193 1 194(1 row) 195 196SELECT '1.0'::seg AS seg; 197 seg 198----- 199 1.0 200(1 row) 201 202SELECT '1.00'::seg AS seg; 203 seg 204------ 205 1.00 206(1 row) 207 208SELECT '1.000'::seg AS seg; 209 seg 210------- 211 1.000 212(1 row) 213 214SELECT '1.0000'::seg AS seg; 215 seg 216-------- 217 1.0000 218(1 row) 219 220SELECT '1.00000'::seg AS seg; 221 seg 222--------- 223 1.00000 224(1 row) 225 226SELECT '1.000000'::seg AS seg; 227 seg 228--------- 229 1.00000 230(1 row) 231 232SELECT '0.000000120'::seg AS seg; 233 seg 234----------- 235 1.20e-007 236(1 row) 237 238SELECT '3.400e5'::seg AS seg; 239 seg 240------------ 241 3.400e+005 242(1 row) 243 244-- Digits truncated 245SELECT '12.34567890123456'::seg AS seg; 246 seg 247--------- 248 12.3457 249(1 row) 250 251-- Numbers with certainty indicators 252SELECT '~6.5'::seg AS seg; 253 seg 254------ 255 ~6.5 256(1 row) 257 258SELECT '<6.5'::seg AS seg; 259 seg 260------ 261 <6.5 262(1 row) 263 264SELECT '>6.5'::seg AS seg; 265 seg 266------ 267 >6.5 268(1 row) 269 270SELECT '~ 6.5'::seg AS seg; 271 seg 272------ 273 ~6.5 274(1 row) 275 276SELECT '< 6.5'::seg AS seg; 277 seg 278------ 279 <6.5 280(1 row) 281 282SELECT '> 6.5'::seg AS seg; 283 seg 284------ 285 >6.5 286(1 row) 287 288-- Open intervals 289SELECT '0..'::seg AS seg; 290 seg 291------ 292 0 .. 293(1 row) 294 295SELECT '0...'::seg AS seg; 296 seg 297------ 298 0 .. 299(1 row) 300 301SELECT '0 ..'::seg AS seg; 302 seg 303------ 304 0 .. 305(1 row) 306 307SELECT '0 ...'::seg AS seg; 308 seg 309------ 310 0 .. 311(1 row) 312 313SELECT '..0'::seg AS seg; 314 seg 315------ 316 .. 0 317(1 row) 318 319SELECT '...0'::seg AS seg; 320 seg 321------ 322 .. 0 323(1 row) 324 325SELECT '.. 0'::seg AS seg; 326 seg 327------ 328 .. 0 329(1 row) 330 331SELECT '... 0'::seg AS seg; 332 seg 333------ 334 .. 0 335(1 row) 336 337-- Finite intervals 338SELECT '0 .. 1'::seg AS seg; 339 seg 340-------- 341 0 .. 1 342(1 row) 343 344SELECT '-1 .. 0'::seg AS seg; 345 seg 346--------- 347 -1 .. 0 348(1 row) 349 350SELECT '-1 .. 1'::seg AS seg; 351 seg 352--------- 353 -1 .. 1 354(1 row) 355 356-- (+/-) intervals 357SELECT '0(+-)1'::seg AS seg; 358 seg 359--------- 360 -1 .. 1 361(1 row) 362 363SELECT '0(+-)1.0'::seg AS seg; 364 seg 365------------- 366 -1.0 .. 1.0 367(1 row) 368 369SELECT '1.0(+-)0.005'::seg AS seg; 370 seg 371---------------- 372 0.995 .. 1.005 373(1 row) 374 375SELECT '101(+-)1'::seg AS seg; 376 seg 377------------------ 378 1.00e2 .. 1.02e2 379(1 row) 380 381-- incorrect number of significant digits in 99.0: 382SELECT '100(+-)1'::seg AS seg; 383 seg 384---------------- 385 99.0 .. 1.01e2 386(1 row) 387 388-- invalid input 389SELECT ''::seg AS seg; 390ERROR: bad seg representation 391LINE 1: SELECT ''::seg AS seg; 392 ^ 393DETAIL: syntax error at end of input 394SELECT 'ABC'::seg AS seg; 395ERROR: bad seg representation 396LINE 1: SELECT 'ABC'::seg AS seg; 397 ^ 398DETAIL: syntax error at or near "A" 399SELECT '1ABC'::seg AS seg; 400ERROR: bad seg representation 401LINE 1: SELECT '1ABC'::seg AS seg; 402 ^ 403DETAIL: syntax error at or near "A" 404SELECT '1.'::seg AS seg; 405ERROR: bad seg representation 406LINE 1: SELECT '1.'::seg AS seg; 407 ^ 408DETAIL: syntax error at or near "." 409SELECT '1.....'::seg AS seg; 410ERROR: bad seg representation 411LINE 1: SELECT '1.....'::seg AS seg; 412 ^ 413DETAIL: syntax error at or near ".." 414SELECT '.1'::seg AS seg; 415ERROR: bad seg representation 416LINE 1: SELECT '.1'::seg AS seg; 417 ^ 418DETAIL: syntax error at or near "." 419SELECT '1..2.'::seg AS seg; 420ERROR: bad seg representation 421LINE 1: SELECT '1..2.'::seg AS seg; 422 ^ 423DETAIL: syntax error at or near "." 424SELECT '1 e7'::seg AS seg; 425ERROR: bad seg representation 426LINE 1: SELECT '1 e7'::seg AS seg; 427 ^ 428DETAIL: syntax error at or near "e" 429SELECT '1e700'::seg AS seg; 430ERROR: "1e700" is out of range for type real 431LINE 1: SELECT '1e700'::seg AS seg; 432 ^ 433-- 434-- testing the operators 435-- 436-- equality/inequality: 437-- 438SELECT '24 .. 33.20'::seg = '24 .. 33.20'::seg AS bool; 439 bool 440------ 441 t 442(1 row) 443 444SELECT '24 .. 33.20'::seg = '24 .. 33.21'::seg AS bool; 445 bool 446------ 447 f 448(1 row) 449 450SELECT '24 .. 33.20'::seg != '24 .. 33.20'::seg AS bool; 451 bool 452------ 453 f 454(1 row) 455 456SELECT '24 .. 33.20'::seg != '24 .. 33.21'::seg AS bool; 457 bool 458------ 459 t 460(1 row) 461 462-- overlap 463-- 464SELECT '1'::seg && '1'::seg AS bool; 465 bool 466------ 467 t 468(1 row) 469 470SELECT '1'::seg && '2'::seg AS bool; 471 bool 472------ 473 f 474(1 row) 475 476SELECT '0 ..'::seg && '0 ..'::seg AS bool; 477 bool 478------ 479 t 480(1 row) 481 482SELECT '0 .. 1'::seg && '0 .. 1'::seg AS bool; 483 bool 484------ 485 t 486(1 row) 487 488SELECT '..0'::seg && '0..'::seg AS bool; 489 bool 490------ 491 t 492(1 row) 493 494SELECT '-1 .. 0.1'::seg && '0 .. 1'::seg AS bool; 495 bool 496------ 497 t 498(1 row) 499 500SELECT '-1 .. 0'::seg && '0 .. 1'::seg AS bool; 501 bool 502------ 503 t 504(1 row) 505 506SELECT '-1 .. -0.0001'::seg && '0 .. 1'::seg AS bool; 507 bool 508------ 509 f 510(1 row) 511 512SELECT '0 ..'::seg && '1'::seg AS bool; 513 bool 514------ 515 t 516(1 row) 517 518SELECT '0 .. 1'::seg && '1'::seg AS bool; 519 bool 520------ 521 t 522(1 row) 523 524SELECT '0 .. 1'::seg && '2'::seg AS bool; 525 bool 526------ 527 f 528(1 row) 529 530SELECT '0 .. 2'::seg && '1'::seg AS bool; 531 bool 532------ 533 t 534(1 row) 535 536SELECT '1'::seg && '0 .. 1'::seg AS bool; 537 bool 538------ 539 t 540(1 row) 541 542SELECT '2'::seg && '0 .. 1'::seg AS bool; 543 bool 544------ 545 f 546(1 row) 547 548SELECT '1'::seg && '0 .. 2'::seg AS bool; 549 bool 550------ 551 t 552(1 row) 553 554-- overlap on the left 555-- 556SELECT '1'::seg &< '0'::seg AS bool; 557 bool 558------ 559 f 560(1 row) 561 562SELECT '1'::seg &< '1'::seg AS bool; 563 bool 564------ 565 t 566(1 row) 567 568SELECT '1'::seg &< '2'::seg AS bool; 569 bool 570------ 571 t 572(1 row) 573 574SELECT '0 .. 1'::seg &< '0'::seg AS bool; 575 bool 576------ 577 f 578(1 row) 579 580SELECT '0 .. 1'::seg &< '1'::seg AS bool; 581 bool 582------ 583 t 584(1 row) 585 586SELECT '0 .. 1'::seg &< '2'::seg AS bool; 587 bool 588------ 589 t 590(1 row) 591 592SELECT '0 .. 1'::seg &< '0 .. 0.5'::seg AS bool; 593 bool 594------ 595 f 596(1 row) 597 598SELECT '0 .. 1'::seg &< '0 .. 1'::seg AS bool; 599 bool 600------ 601 t 602(1 row) 603 604SELECT '0 .. 1'::seg &< '0 .. 2'::seg AS bool; 605 bool 606------ 607 t 608(1 row) 609 610SELECT '0 .. 1'::seg &< '1 .. 2'::seg AS bool; 611 bool 612------ 613 t 614(1 row) 615 616SELECT '0 .. 1'::seg &< '2 .. 3'::seg AS bool; 617 bool 618------ 619 t 620(1 row) 621 622-- overlap on the right 623-- 624SELECT '0'::seg &> '1'::seg AS bool; 625 bool 626------ 627 f 628(1 row) 629 630SELECT '1'::seg &> '1'::seg AS bool; 631 bool 632------ 633 t 634(1 row) 635 636SELECT '2'::seg &> '1'::seg AS bool; 637 bool 638------ 639 t 640(1 row) 641 642SELECT '0'::seg &> '0 .. 1'::seg AS bool; 643 bool 644------ 645 t 646(1 row) 647 648SELECT '1'::seg &> '0 .. 1'::seg AS bool; 649 bool 650------ 651 t 652(1 row) 653 654SELECT '2'::seg &> '0 .. 1'::seg AS bool; 655 bool 656------ 657 t 658(1 row) 659 660SELECT '0 .. 0.5'::seg &> '0 .. 1'::seg AS bool; 661 bool 662------ 663 t 664(1 row) 665 666SELECT '0 .. 1'::seg &> '0 .. 1'::seg AS bool; 667 bool 668------ 669 t 670(1 row) 671 672SELECT '0 .. 2'::seg &> '0 .. 2'::seg AS bool; 673 bool 674------ 675 t 676(1 row) 677 678SELECT '1 .. 2'::seg &> '0 .. 1'::seg AS bool; 679 bool 680------ 681 t 682(1 row) 683 684SELECT '2 .. 3'::seg &> '0 .. 1'::seg AS bool; 685 bool 686------ 687 t 688(1 row) 689 690-- left 691-- 692SELECT '1'::seg << '0'::seg AS bool; 693 bool 694------ 695 f 696(1 row) 697 698SELECT '1'::seg << '1'::seg AS bool; 699 bool 700------ 701 f 702(1 row) 703 704SELECT '1'::seg << '2'::seg AS bool; 705 bool 706------ 707 t 708(1 row) 709 710SELECT '0 .. 1'::seg << '0'::seg AS bool; 711 bool 712------ 713 f 714(1 row) 715 716SELECT '0 .. 1'::seg << '1'::seg AS bool; 717 bool 718------ 719 f 720(1 row) 721 722SELECT '0 .. 1'::seg << '2'::seg AS bool; 723 bool 724------ 725 t 726(1 row) 727 728SELECT '0 .. 1'::seg << '0 .. 0.5'::seg AS bool; 729 bool 730------ 731 f 732(1 row) 733 734SELECT '0 .. 1'::seg << '0 .. 1'::seg AS bool; 735 bool 736------ 737 f 738(1 row) 739 740SELECT '0 .. 1'::seg << '0 .. 2'::seg AS bool; 741 bool 742------ 743 f 744(1 row) 745 746SELECT '0 .. 1'::seg << '1 .. 2'::seg AS bool; 747 bool 748------ 749 f 750(1 row) 751 752SELECT '0 .. 1'::seg << '2 .. 3'::seg AS bool; 753 bool 754------ 755 t 756(1 row) 757 758-- right 759-- 760SELECT '0'::seg >> '1'::seg AS bool; 761 bool 762------ 763 f 764(1 row) 765 766SELECT '1'::seg >> '1'::seg AS bool; 767 bool 768------ 769 f 770(1 row) 771 772SELECT '2'::seg >> '1'::seg AS bool; 773 bool 774------ 775 t 776(1 row) 777 778SELECT '0'::seg >> '0 .. 1'::seg AS bool; 779 bool 780------ 781 f 782(1 row) 783 784SELECT '1'::seg >> '0 .. 1'::seg AS bool; 785 bool 786------ 787 f 788(1 row) 789 790SELECT '2'::seg >> '0 .. 1'::seg AS bool; 791 bool 792------ 793 t 794(1 row) 795 796SELECT '0 .. 0.5'::seg >> '0 .. 1'::seg AS bool; 797 bool 798------ 799 f 800(1 row) 801 802SELECT '0 .. 1'::seg >> '0 .. 1'::seg AS bool; 803 bool 804------ 805 f 806(1 row) 807 808SELECT '0 .. 2'::seg >> '0 .. 2'::seg AS bool; 809 bool 810------ 811 f 812(1 row) 813 814SELECT '1 .. 2'::seg >> '0 .. 1'::seg AS bool; 815 bool 816------ 817 f 818(1 row) 819 820SELECT '2 .. 3'::seg >> '0 .. 1'::seg AS bool; 821 bool 822------ 823 t 824(1 row) 825 826-- "contained in" (the left value belongs within the interval specified in the right value): 827-- 828SELECT '0'::seg <@ '0'::seg AS bool; 829 bool 830------ 831 t 832(1 row) 833 834SELECT '0'::seg <@ '0 ..'::seg AS bool; 835 bool 836------ 837 t 838(1 row) 839 840SELECT '0'::seg <@ '.. 0'::seg AS bool; 841 bool 842------ 843 t 844(1 row) 845 846SELECT '0'::seg <@ '-1 .. 1'::seg AS bool; 847 bool 848------ 849 t 850(1 row) 851 852SELECT '0'::seg <@ '-1 .. 1'::seg AS bool; 853 bool 854------ 855 t 856(1 row) 857 858SELECT '-1'::seg <@ '-1 .. 1'::seg AS bool; 859 bool 860------ 861 t 862(1 row) 863 864SELECT '1'::seg <@ '-1 .. 1'::seg AS bool; 865 bool 866------ 867 t 868(1 row) 869 870SELECT '-1 .. 1'::seg <@ '-1 .. 1'::seg AS bool; 871 bool 872------ 873 t 874(1 row) 875 876-- "contains" (the left value contains the interval specified in the right value): 877-- 878SELECT '0'::seg @> '0'::seg AS bool; 879 bool 880------ 881 t 882(1 row) 883 884SELECT '0 .. '::seg <@ '0'::seg AS bool; 885 bool 886------ 887 f 888(1 row) 889 890SELECT '.. 0'::seg <@ '0'::seg AS bool; 891 bool 892------ 893 f 894(1 row) 895 896SELECT '-1 .. 1'::seg <@ '0'::seg AS bool; 897 bool 898------ 899 f 900(1 row) 901 902SELECT '0'::seg <@ '-1 .. 1'::seg AS bool; 903 bool 904------ 905 t 906(1 row) 907 908SELECT '-1'::seg <@ '-1 .. 1'::seg AS bool; 909 bool 910------ 911 t 912(1 row) 913 914SELECT '1'::seg <@ '-1 .. 1'::seg AS bool; 915 bool 916------ 917 t 918(1 row) 919 920-- Load some example data and build the index 921-- 922CREATE TABLE test_seg (s seg); 923\copy test_seg from 'data/test_seg.data' 924CREATE INDEX test_seg_ix ON test_seg USING gist (s); 925SELECT count(*) FROM test_seg WHERE s @> '11..11.3'; 926 count 927------- 928 143 929(1 row) 930 931-- Test sorting 932SELECT * FROM test_seg WHERE s @> '11..11.3' GROUP BY s; 933 s 934----------------- 935 .. 4.0e1 936 .. >8.2e1 937 .. 9.0e1 938 <1.0 .. >13.0 939 1.3 .. 12.0 940 2.0 .. 11.5 941 2.1 .. 11.8 942 <2.3 .. 943 >2.3 .. 944 2.4 .. 11.3 945 2.5 .. 11.5 946 2.5 .. 11.8 947 2.6 .. 948 2.7 .. 12.0 949 <3.0 .. 950 3 .. 5.8e1 951 3.1 .. 11.5 952 3.5 .. 11.5 953 3.5 .. 12.2 954 <4.0 .. >1.2e1 955 <4.0 .. 956 4 .. 1.2e1 957 4.0 .. 11.7 958 4.0 .. 12.5 959 4.0 .. 13.0 960 4.0 .. 6.0e1 961 4.0 .. 962 4.2 .. 11.5 963 4.2 .. 11.7 964 <4.5 .. >1.2e1 965 4.5 .. 11.5 966 4.5 .. <1.2e1 967 4.5 .. >1.2e1 968 4.5 .. 12.5 969 4.5 .. 1.15e2 970 4.7 .. 11.8 971 4.8 .. 11.5 972 4.8 .. 11.6 973 4.8 .. 12.5 974 4.8 .. 975 4.9 .. >1.2e1 976 4.9 .. 977 5 .. 11.5 978 5 .. 1.2e1 979 5 .. 3.0e1 980 5.0 .. 11.4 981 5.0 .. 11.5 982 5.0 .. 11.6 983 5.0 .. 11.7 984 5.0 .. 12.0 985 5.0 .. >12.0 986 5.0 .. >1.2e1 987 5.2 .. 11.5 988 5.2 .. >1.2e1 989 5.25 .. >1.2e1 990 5.3 .. 11.5 991 5.3 .. 1.3e1 992 5.3 .. >9.0e1 993 5.3 .. 994 5.4 .. 995 5.5 .. 11.5 996 5.5 .. 11.7 997 5.5 .. 1.2e1 998 5.5 .. >1.2e1 999 5.5 .. 12.5 1000 5.5 .. 13.5 1001 5.5 .. 1002 >5.5 .. 1003 5.7 .. 1004 5.9 .. 1005 6 .. 11.5 1006 6 .. >1.2e1 1007 6.0 .. 11.5 1008 6.0 .. 1.3e1 1009 >6.0 .. <11.5 1010 6.1 .. >1.2e1 1011 6.1 .. 1012 6.2 .. >11.5 1013 6.3 .. 1014 6.5 .. 11.5 1015 6.5 .. 12.0 1016 6.5 .. >12.0 1017 6.5 .. 1018 6.6 .. 1019 6.7 .. 11.5 1020 6.7 .. 1021 6.75 .. 1022 6.8 .. 1023 6.9 .. 12.2 1024 6.9 .. >9.0e1 1025 6.9 .. 1026 <7.0 .. >11.5 1027 7.0 .. 11.5 1028 7.0 .. >11.5 1029 7.0 .. 1030 >7.15 .. 1031 7.2 .. 13.5 1032 7.3 .. >9.0e1 1033 7.3 .. 1034 >7.3 .. 1035 7.4 .. 12.1 1036 7.4 .. 1037 7.5 .. 11.5 1038 7.5 .. 12.0 1039 7.5 .. 1040 7.7 .. 11.5 1041 7.7 .. 1042 7.75 .. 1043 8.0 .. 11.7 1044 8.0 .. 12.0 1045 8.0 .. >13.0 1046 8.2 .. 1047 8.3 .. 1048 8.5 .. >11.5 1049 8.5 .. 12.5 1050 8.5 .. 1051 8.6 .. >9.9e1 1052 8.7 .. 11.3 1053 8.7 .. 11.7 1054 8.9 .. 11.5 1055 9 .. >1.2e1 1056 9.0 .. 11.3 1057 9.0 .. 11.5 1058 9.0 .. 1.2e1 1059 9.0 .. 1060 9.2 .. 1.2e1 1061 9.4 .. 12.2 1062 <9.5 .. 1.2e1 1063 <9.5 .. >12.2 1064 9.5 .. 1065 9.6 .. 11.5 1066 9.7 .. 11.5 1067 9.7 .. >1.2e1 1068 9.8 .. >12.5 1069 <1.0e1 .. >11.6 1070 10.0 .. 11.5 1071 10.0 .. 12.5 1072 10.0 .. >12.5 1073 10.2 .. 11.8 1074 <10.5 .. 11.5 1075 10.5 .. 11.5 1076 10.5 .. <13.5 1077 10.7 .. 12.3 1078(143 rows) 1079 1080-- Test functions 1081SELECT seg_lower(s), seg_center(s), seg_upper(s) 1082FROM test_seg WHERE s @> '11.2..11.3' OR s IS NULL ORDER BY s; 1083 seg_lower | seg_center | seg_upper 1084-----------+------------+----------- 1085 -Infinity | -Infinity | 40 1086 -Infinity | -Infinity | 82 1087 -Infinity | -Infinity | 90 1088 1 | 7 | 13 1089 1.3 | 6.65 | 12 1090 2 | 6.75 | 11.5 1091 2.1 | 6.95 | 11.8 1092 2.3 | Infinity | Infinity 1093 2.3 | Infinity | Infinity 1094 2.4 | 6.85 | 11.3 1095 2.5 | 7 | 11.5 1096 2.5 | 7.15 | 11.8 1097 2.6 | Infinity | Infinity 1098 2.7 | 7.35 | 12 1099 3 | Infinity | Infinity 1100 3 | 30.5 | 58 1101 3.1 | 7.3 | 11.5 1102 3.5 | 7.5 | 11.5 1103 3.5 | 7.85 | 12.2 1104 4 | 8 | 12 1105 4 | Infinity | Infinity 1106 4 | 8 | 12 1107 4 | 7.85 | 11.7 1108 4 | 8.25 | 12.5 1109 4 | 8.5 | 13 1110 4 | 32 | 60 1111 4 | Infinity | Infinity 1112 4.2 | 7.85 | 11.5 1113 4.2 | 7.95 | 11.7 1114 4.5 | 8.25 | 12 1115 4.5 | 8 | 11.5 1116 4.5 | 8.25 | 12 1117 4.5 | 8.25 | 12 1118 4.5 | 8.5 | 12.5 1119 4.5 | 59.75 | 115 1120 4.7 | 8.25 | 11.8 1121 4.8 | 8.15 | 11.5 1122 4.8 | 8.2 | 11.6 1123 4.8 | 8.65 | 12.5 1124 4.8 | Infinity | Infinity 1125 4.9 | 8.45 | 12 1126 4.9 | Infinity | Infinity 1127 5 | 8.25 | 11.5 1128 5 | 8.5 | 12 1129 5 | 17.5 | 30 1130 5 | 8.2 | 11.4 1131 5 | 8.25 | 11.5 1132 5 | 8.3 | 11.6 1133 5 | 8.35 | 11.7 1134 5 | 8.5 | 12 1135 5 | 8.5 | 12 1136 5 | 8.5 | 12 1137 5.2 | 8.35 | 11.5 1138 5.2 | 8.6 | 12 1139 5.25 | 8.625 | 12 1140 5.3 | 8.4 | 11.5 1141 5.3 | 9.15 | 13 1142 5.3 | 47.65 | 90 1143 5.3 | Infinity | Infinity 1144 5.4 | Infinity | Infinity 1145 5.5 | 8.5 | 11.5 1146 5.5 | 8.6 | 11.7 1147 5.5 | 8.75 | 12 1148 5.5 | 8.75 | 12 1149 5.5 | 9 | 12.5 1150 5.5 | 9.5 | 13.5 1151 5.5 | Infinity | Infinity 1152 5.5 | Infinity | Infinity 1153 5.7 | Infinity | Infinity 1154 5.9 | Infinity | Infinity 1155 6 | 8.75 | 11.5 1156 6 | 9 | 12 1157 6 | 8.75 | 11.5 1158 6 | 9.5 | 13 1159 6 | 8.75 | 11.5 1160 6.1 | 9.05 | 12 1161 6.1 | Infinity | Infinity 1162 6.2 | 8.85 | 11.5 1163 6.3 | Infinity | Infinity 1164 6.5 | 9 | 11.5 1165 6.5 | 9.25 | 12 1166 6.5 | 9.25 | 12 1167 6.5 | Infinity | Infinity 1168 6.6 | Infinity | Infinity 1169 6.7 | 9.1 | 11.5 1170 6.7 | Infinity | Infinity 1171 6.75 | Infinity | Infinity 1172 6.8 | Infinity | Infinity 1173 6.9 | 9.55 | 12.2 1174 6.9 | 48.45 | 90 1175 6.9 | Infinity | Infinity 1176 7 | 9.25 | 11.5 1177 7 | 9.25 | 11.5 1178 7 | 9.25 | 11.5 1179 7 | Infinity | Infinity 1180 7.15 | Infinity | Infinity 1181 7.2 | 10.35 | 13.5 1182 7.3 | 48.65 | 90 1183 7.3 | Infinity | Infinity 1184 7.3 | Infinity | Infinity 1185 7.4 | 9.75 | 12.1 1186 7.4 | Infinity | Infinity 1187 7.5 | 9.5 | 11.5 1188 7.5 | 9.75 | 12 1189 7.5 | Infinity | Infinity 1190 7.7 | 9.6 | 11.5 1191 7.7 | Infinity | Infinity 1192 7.75 | Infinity | Infinity 1193 8 | 9.85 | 11.7 1194 8 | 10 | 12 1195 8 | 10.5 | 13 1196 8.2 | Infinity | Infinity 1197 8.3 | Infinity | Infinity 1198 8.5 | 10 | 11.5 1199 8.5 | 10.5 | 12.5 1200 8.5 | Infinity | Infinity 1201 8.6 | 53.8 | 99 1202 8.7 | 10 | 11.3 1203 8.7 | 10.2 | 11.7 1204 8.9 | 10.2 | 11.5 1205 9 | 10.5 | 12 1206 9 | 10.15 | 11.3 1207 9 | 10.25 | 11.5 1208 9 | 10.5 | 12 1209 9 | Infinity | Infinity 1210 9.2 | 10.6 | 12 1211 9.4 | 10.8 | 12.2 1212 9.5 | 10.75 | 12 1213 9.5 | 10.85 | 12.2 1214 9.5 | Infinity | Infinity 1215 9.6 | 10.55 | 11.5 1216 9.7 | 10.6 | 11.5 1217 9.7 | 10.85 | 12 1218 9.8 | 11.15 | 12.5 1219 10 | 10.8 | 11.6 1220 10 | 10.75 | 11.5 1221 10 | 11.25 | 12.5 1222 10 | 11.25 | 12.5 1223 10.2 | 11 | 11.8 1224 10.5 | 11 | 11.5 1225 10.5 | 11 | 11.5 1226 10.5 | 12 | 13.5 1227 10.7 | 11.5 | 12.3 1228 | | 1229(144 rows) 1230 1231