1\set ECHO none 2 set_sphere_output_precision 3----------------------------- 4 SET 8 5(1 row) 6 7-- 8-- sbox and spoint 9-- 10SELECT spoint '(0d,90d)' @ sbox '((0d,80d),(360d,90d))' ; 11 ?column? 12---------- 13 t 14(1 row) 15 16SELECT sbox '((309d,309d),(313d,313d))' ~ spoint '(310d,310d)' ; 17 ?column? 18---------- 19 t 20(1 row) 21 22SELECT spoint '(310d,310d)' @ sbox '((309d,309d),(313d,313d))' ; 23 ?column? 24---------- 25 t 26(1 row) 27 28SELECT sbox '((309d,309d),(313d,313d))' ~ spoint '(10d,10d)' ; 29 ?column? 30---------- 31 f 32(1 row) 33 34SELECT spoint '(10d,10d)' @ sbox '((309d,309d),(313d,313d))' ; 35 ?column? 36---------- 37 f 38(1 row) 39 40SELECT sbox '((309d,309d),(313d,313d))' !~ spoint '(310d,310d)' ; 41 ?column? 42---------- 43 f 44(1 row) 45 46SELECT spoint '(310d,310d)' !@ sbox '((309d,309d),(313d,313d))' ; 47 ?column? 48---------- 49 f 50(1 row) 51 52SELECT sbox '((309d,309d),(313d,313d))' !~ spoint '(10d,10d)' ; 53 ?column? 54---------- 55 t 56(1 row) 57 58SELECT spoint '(10d,10d)' !@ sbox '((309d,309d),(313d,313d))' ; 59 ?column? 60---------- 61 t 62(1 row) 63 64SELECT sbox '((10d,10d),(20d,20d))' ~ spoint '(10d,10d)'; 65 ?column? 66---------- 67 t 68(1 row) 69 70SELECT sbox '((10d,10d),(20d,20d))' ~ spoint '(10d,20d)'; 71 ?column? 72---------- 73 t 74(1 row) 75 76SELECT sbox '((10d,10d),(20d,20d))' ~ spoint '(20d,10d)'; 77 ?column? 78---------- 79 t 80(1 row) 81 82SELECT sbox '((10d,10d),(20d,20d))' ~ spoint '(20d,20d)'; 83 ?column? 84---------- 85 t 86(1 row) 87 88SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(310d,10d)'; 89 ?column? 90---------- 91 t 92(1 row) 93 94SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(310d,20d)'; 95 ?column? 96---------- 97 t 98(1 row) 99 100SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(320d,10d)'; 101 ?column? 102---------- 103 t 104(1 row) 105 106SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(320d,20d)'; 107 ?column? 108---------- 109 t 110(1 row) 111 112SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(310d,15d)'; 113 ?column? 114---------- 115 t 116(1 row) 117 118SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(315d,20d)'; 119 ?column? 120---------- 121 t 122(1 row) 123 124SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(315d,10d)'; 125 ?column? 126---------- 127 t 128(1 row) 129 130SELECT sbox '((310d,10d),(320d,20d))' ~ spoint '(320d,15d)'; 131 ?column? 132---------- 133 t 134(1 row) 135 136SELECT spoint '(320d, 15d)' @ sbox '((310d,10d),(320d,20d))' ; 137 ?column? 138---------- 139 t 140(1 row) 141 142SELECT spoint '(140d,-15d)' @ sbox '((310d,10d),(320d,20d))' ; 143 ?column? 144---------- 145 f 146(1 row) 147 148SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(300d,10d)'; 149 ?column? 150---------- 151 f 152(1 row) 153 154SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(300d,15d)'; 155 ?column? 156---------- 157 f 158(1 row) 159 160SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(300d,20d)'; 161 ?column? 162---------- 163 f 164(1 row) 165 166SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(330d,10d)'; 167 ?column? 168---------- 169 t 170(1 row) 171 172SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(330d,15d)'; 173 ?column? 174---------- 175 t 176(1 row) 177 178SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(330d,20d)'; 179 ?column? 180---------- 181 t 182(1 row) 183 184SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(0d,10d)'; 185 ?column? 186---------- 187 t 188(1 row) 189 190SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(0d,15d)'; 191 ?column? 192---------- 193 t 194(1 row) 195 196SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(0d,20d)'; 197 ?column? 198---------- 199 t 200(1 row) 201 202SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(10d,10d)'; 203 ?column? 204---------- 205 t 206(1 row) 207 208SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(10d,15d)'; 209 ?column? 210---------- 211 t 212(1 row) 213 214SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(10d,20d)'; 215 ?column? 216---------- 217 t 218(1 row) 219 220SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(30d,10d)'; 221 ?column? 222---------- 223 f 224(1 row) 225 226SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(30d,15d)'; 227 ?column? 228---------- 229 f 230(1 row) 231 232SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(30d,20d)'; 233 ?column? 234---------- 235 f 236(1 row) 237 238SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(180d,10d)'; 239 ?column? 240---------- 241 f 242(1 row) 243 244SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(180d,15d)'; 245 ?column? 246---------- 247 f 248(1 row) 249 250SELECT sbox '((310d,10d),(20d,20d))' ~ spoint '(180d,20d)'; 251 ?column? 252---------- 253 f 254(1 row) 255 256SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(300d,10d)'; 257 ?column? 258---------- 259 f 260(1 row) 261 262SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(320d,-80d)'; 263 ?column? 264---------- 265 t 266(1 row) 267 268SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(320d,-85d)'; 269 ?column? 270---------- 271 t 272(1 row) 273 274SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(320d,-90d)'; 275 ?column? 276---------- 277 t 278(1 row) 279 280SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(180d,-90d)'; 281 ?column? 282---------- 283 t 284(1 row) 285 286SELECT sbox '((310d,-90d),(20d,-80d))' ~ spoint '(180d,-89.99d)'; 287 ?column? 288---------- 289 f 290(1 row) 291 292SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(300d,10d)'; 293 ?column? 294---------- 295 f 296(1 row) 297 298SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(320d,80d)'; 299 ?column? 300---------- 301 t 302(1 row) 303 304SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(320d,85d)'; 305 ?column? 306---------- 307 t 308(1 row) 309 310SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(320d,90d)'; 311 ?column? 312---------- 313 t 314(1 row) 315 316SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(180d,90d)'; 317 ?column? 318---------- 319 t 320(1 row) 321 322SELECT sbox '((310d,80d),(20d,90d))' ~ spoint '(180d,89.99d)'; 323 ?column? 324---------- 325 f 326(1 row) 327 328SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(300d,10d)'; 329 ?column? 330---------- 331 f 332(1 row) 333 334SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(320d,-80d)'; 335 ?column? 336---------- 337 t 338(1 row) 339 340SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(320d,-85d)'; 341 ?column? 342---------- 343 t 344(1 row) 345 346SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(320d,-90d)'; 347 ?column? 348---------- 349 t 350(1 row) 351 352SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(180d,-90d)'; 353 ?column? 354---------- 355 t 356(1 row) 357 358SELECT sbox '((0d,-90d),(360d,-80d))' ~ spoint '(180d,-89.99d)'; 359 ?column? 360---------- 361 t 362(1 row) 363 364SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(300d,10d)'; 365 ?column? 366---------- 367 f 368(1 row) 369 370SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(320d,80d)'; 371 ?column? 372---------- 373 t 374(1 row) 375 376SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(320d,85d)'; 377 ?column? 378---------- 379 t 380(1 row) 381 382SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(320d,90d)'; 383 ?column? 384---------- 385 t 386(1 row) 387 388SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(180d,90d)'; 389 ?column? 390---------- 391 t 392(1 row) 393 394SELECT sbox '((0d,80d),(360d,90d))' ~ spoint '(180d,89.99d)'; 395 ?column? 396---------- 397 t 398(1 row) 399 400SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d,-11d)'; 401 ?column? 402---------- 403 f 404(1 row) 405 406SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d,-10d)'; 407 ?column? 408---------- 409 t 410(1 row) 411 412SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d, -5d)'; 413 ?column? 414---------- 415 t 416(1 row) 417 418SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d, 0d)'; 419 ?column? 420---------- 421 t 422(1 row) 423 424SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d, 5d)'; 425 ?column? 426---------- 427 t 428(1 row) 429 430SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d, 20d)'; 431 ?column? 432---------- 433 t 434(1 row) 435 436SELECT sbox '((0d,-10d),(360d,20d))' ~ spoint '(270d, 21d)'; 437 ?column? 438---------- 439 f 440(1 row) 441 442SELECT spoint '(320d, 15d)' !@ sbox '((310d,10d),(320d,20d))' ; 443 ?column? 444---------- 445 f 446(1 row) 447 448SELECT spoint '(140d,-15d)' !@ sbox '((310d,10d),(320d,20d))' ; 449 ?column? 450---------- 451 t 452(1 row) 453 454SELECT sbox '((10d,10d),(20d,20d))' !~ spoint '(10d,10d)'; 455 ?column? 456---------- 457 f 458(1 row) 459 460SELECT sbox '((270d,-10d),(300d,20d))' !~ spoint '(10d,10d)'; 461 ?column? 462---------- 463 t 464(1 row) 465 466-- 467-- sbox (as point) and spoint 468-- 469SELECT sbox '((310d,310d),(310d,310d))' ~ spoint '(310d,310d)' ; 470 ?column? 471---------- 472 t 473(1 row) 474 475SELECT spoint '(310d,310d)' @ sbox '((310d,310d),(310d,310d))' ; 476 ?column? 477---------- 478 t 479(1 row) 480 481SELECT sbox '((310d,310d),(310d,310d))' ~ spoint '(10d,10d)' ; 482 ?column? 483---------- 484 f 485(1 row) 486 487SELECT spoint '(11d,11d)' @ sbox '((310d,310d),(310d,310d))' ; 488 ?column? 489---------- 490 f 491(1 row) 492 493-- 494-- sbox and circle 495-- 496-- Check negators / commutators 497SELECT scircle '<(0d, 70d),1d>' && sbox '((-10d, 60d),(10d, 80d))'; 498 ?column? 499---------- 500 t 501(1 row) 502 503SELECT sbox '((-10d, 60d),(10d, 80d))' && scircle '<(0d, 70d),1d>'; 504 ?column? 505---------- 506 t 507(1 row) 508 509SELECT scircle '<(0d, 70d),1d>' !&& sbox '((-10d, 60d),(10d, 80d))'; 510 ?column? 511---------- 512 f 513(1 row) 514 515SELECT sbox '((-10d, 60d),(10d, 80d))' !&& scircle '<(0d, 70d),1d>'; 516 ?column? 517---------- 518 f 519(1 row) 520 521SELECT scircle '<(0d, 50d),1d>' && sbox '((-10d, 60d),(10d, 80d))'; 522 ?column? 523---------- 524 f 525(1 row) 526 527SELECT sbox '((-10d, 60d),(10d, 80d))' && scircle '<(0d, 50d),1d>'; 528 ?column? 529---------- 530 f 531(1 row) 532 533SELECT scircle '<(0d, 50d),1d>' !&& sbox '((-10d, 60d),(10d, 80d))'; 534 ?column? 535---------- 536 t 537(1 row) 538 539SELECT sbox '((-10d, 60d),(10d, 80d))' !&& scircle '<(0d, 50d),1d>'; 540 ?column? 541---------- 542 t 543(1 row) 544 545SELECT scircle '<(0d, 70d),1d>' @ sbox '((-10d, 60d),(10d, 80d))'; 546 ?column? 547---------- 548 t 549(1 row) 550 551SELECT sbox '((-10d, 60d),(10d, 80d))' @ scircle '<(0d, 70d),1d>'; 552 ?column? 553---------- 554 f 555(1 row) 556 557SELECT scircle '<(0d, 70d),1d>' !@ sbox '((-10d, 60d),(10d, 80d))'; 558 ?column? 559---------- 560 f 561(1 row) 562 563SELECT sbox '((-10d, 60d),(10d, 80d))' !@ scircle '<(0d, 70d),1d>'; 564 ?column? 565---------- 566 t 567(1 row) 568 569SELECT scircle '<(0d, 50d),1d>' @ sbox '((-10d, 60d),(10d, 80d))'; 570 ?column? 571---------- 572 f 573(1 row) 574 575SELECT sbox '((-10d, 60d),(10d, 80d))' @ scircle '<(0d, 50d),1d>'; 576 ?column? 577---------- 578 f 579(1 row) 580 581SELECT scircle '<(0d, 50d),1d>' !@ sbox '((-10d, 60d),(10d, 80d))'; 582 ?column? 583---------- 584 t 585(1 row) 586 587SELECT sbox '((-10d, 60d),(10d, 80d))' !@ scircle '<(0d, 50d),1d>'; 588 ?column? 589---------- 590 t 591(1 row) 592 593SELECT scircle '<(0d, 70d),1d>' ~ sbox '((-10d, 60d),(10d, 80d))'; 594 ?column? 595---------- 596 f 597(1 row) 598 599SELECT sbox '((-10d, 60d),(10d, 80d))' ~ scircle '<(0d, 70d),1d>'; 600 ?column? 601---------- 602 t 603(1 row) 604 605SELECT scircle '<(0d, 70d),1d>' !~ sbox '((-10d, 60d),(10d, 80d))'; 606 ?column? 607---------- 608 t 609(1 row) 610 611SELECT sbox '((-10d, 60d),(10d, 80d))' !~ scircle '<(0d, 70d),1d>'; 612 ?column? 613---------- 614 f 615(1 row) 616 617SELECT scircle '<(0d, 50d),1d>' ~ sbox '((-10d, 60d),(10d, 80d))'; 618 ?column? 619---------- 620 f 621(1 row) 622 623SELECT sbox '((-10d, 60d),(10d, 80d))' ~ scircle '<(0d, 50d),1d>'; 624 ?column? 625---------- 626 f 627(1 row) 628 629SELECT scircle '<(0d, 50d),1d>' !~ sbox '((-10d, 60d),(10d, 80d))'; 630 ?column? 631---------- 632 t 633(1 row) 634 635SELECT sbox '((-10d, 60d),(10d, 80d))' !~ scircle '<(0d, 50d),1d>'; 636 ?column? 637---------- 638 t 639(1 row) 640 641-- Other Checks 642SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(360d, 90d))'; 643 ?column? 644---------- 645 t 646(1 row) 647 648SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(360d,-90d))'; 649 ?column? 650---------- 651 t 652(1 row) 653 654SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(360d, 90d))'; 655 ?column? 656---------- 657 t 658(1 row) 659 660SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(360d,-90d))'; 661 ?column? 662---------- 663 t 664(1 row) 665 666SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(360d, 89d))'; 667 ?column? 668---------- 669 f 670(1 row) 671 672SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(360d,-89d))'; 673 ?column? 674---------- 675 f 676(1 row) 677 678SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(360d, 89d))'; 679 ?column? 680---------- 681 t 682(1 row) 683 684SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(360d,-89d))'; 685 ?column? 686---------- 687 t 688(1 row) 689 690SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(360d, 88d))'; 691 ?column? 692---------- 693 f 694(1 row) 695 696SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(360d,-88d))'; 697 ?column? 698---------- 699 f 700(1 row) 701 702SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(360d, 88d))'; 703 ?column? 704---------- 705 f 706(1 row) 707 708SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(360d,-88d))'; 709 ?column? 710---------- 711 f 712(1 row) 713 714SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(270d, 90d))'; 715 ?column? 716---------- 717 f 718(1 row) 719 720SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(270d,-90d))'; 721 ?column? 722---------- 723 f 724(1 row) 725 726SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(270d, 90d))'; 727 ?column? 728---------- 729 t 730(1 row) 731 732SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(270d,-90d))'; 733 ?column? 734---------- 735 t 736(1 row) 737 738SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(270d, 89d))'; 739 ?column? 740---------- 741 f 742(1 row) 743 744SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(270d,-89d))'; 745 ?column? 746---------- 747 f 748(1 row) 749 750SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(270d, 89d))'; 751 ?column? 752---------- 753 t 754(1 row) 755 756SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(270d,-89d))'; 757 ?column? 758---------- 759 t 760(1 row) 761 762SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(270d, 88d))'; 763 ?column? 764---------- 765 f 766(1 row) 767 768SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(270d,-88d))'; 769 ?column? 770---------- 771 f 772(1 row) 773 774SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(270d, 88d))'; 775 ?column? 776---------- 777 f 778(1 row) 779 780SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(270d,-88d))'; 781 ?column? 782---------- 783 f 784(1 row) 785 786SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(90d, 90d))'; 787 ?column? 788---------- 789 f 790(1 row) 791 792SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(90d,-90d))'; 793 ?column? 794---------- 795 f 796(1 row) 797 798SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(90d, 90d))'; 799 ?column? 800---------- 801 t 802(1 row) 803 804SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(90d,-90d))'; 805 ?column? 806---------- 807 t 808(1 row) 809 810SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(90d, 89d))'; 811 ?column? 812---------- 813 f 814(1 row) 815 816SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(90d,-89d))'; 817 ?column? 818---------- 819 f 820(1 row) 821 822SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(90d, 89d))'; 823 ?column? 824---------- 825 t 826(1 row) 827 828SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(90d,-89d))'; 829 ?column? 830---------- 831 t 832(1 row) 833 834SELECT scircle '<(0d, 90d),1d>' @ sbox '((0d, 80d),(90d, 88d))'; 835 ?column? 836---------- 837 f 838(1 row) 839 840SELECT scircle '<(0d,-90d),1d>' @ sbox '((0d,-80d),(90d,-88d))'; 841 ?column? 842---------- 843 f 844(1 row) 845 846SELECT scircle '<(0d, 90d),1d>' && sbox '((0d, 80d),(90d, 88d))'; 847 ?column? 848---------- 849 f 850(1 row) 851 852SELECT scircle '<(0d,-90d),1d>' && sbox '((0d,-80d),(90d,-88d))'; 853 ?column? 854---------- 855 f 856(1 row) 857 858SELECT scircle '<(0d, 89d),1d>' @ sbox '((0d, 80d),(90d, 90d))'; 859 ?column? 860---------- 861 f 862(1 row) 863 864SELECT scircle '<(0d,-89d),1d>' @ sbox '((0d,-80d),(90d,-90d))'; 865 ?column? 866---------- 867 f 868(1 row) 869 870SELECT scircle '<(0d, 89d),1d>' && sbox '((0d, 80d),(90d, 90d))'; 871 ?column? 872---------- 873 t 874(1 row) 875 876SELECT scircle '<(0d,-89d),1d>' && sbox '((0d,-80d),(90d,-90d))'; 877 ?column? 878---------- 879 t 880(1 row) 881 882SELECT scircle '<(0d, 89d),1d>' @ sbox '((0d, 80d),(90d, 89d))'; 883 ?column? 884---------- 885 f 886(1 row) 887 888SELECT scircle '<(0d,-89d),1d>' @ sbox '((0d,-80d),(90d,-89d))'; 889 ?column? 890---------- 891 f 892(1 row) 893 894SELECT scircle '<(0d, 89d),1d>' && sbox '((0d, 80d),(90d, 89d))'; 895 ?column? 896---------- 897 t 898(1 row) 899 900SELECT scircle '<(0d,-89d),1d>' && sbox '((0d,-80d),(90d,-89d))'; 901 ?column? 902---------- 903 t 904(1 row) 905 906SELECT scircle '<(0d, 89d),1d>' @ sbox '((0d, 80d),(90d, 88d))'; 907 ?column? 908---------- 909 f 910(1 row) 911 912SELECT scircle '<(0d,-89d),1d>' @ sbox '((0d,-80d),(90d,-88d))'; 913 ?column? 914---------- 915 f 916(1 row) 917 918SELECT scircle '<(0d, 89d),1d>' && sbox '((0d, 80d),(90d, 88d))'; 919 ?column? 920---------- 921 t 922(1 row) 923 924SELECT scircle '<(0d,-89d),1d>' && sbox '((0d,-80d),(90d,-88d))'; 925 ?column? 926---------- 927 t 928(1 row) 929 930SELECT scircle '<(0d, 90d),10d>' @ sbox '((0d, 80d),(360d, 90d))'; 931 ?column? 932---------- 933 t 934(1 row) 935 936SELECT scircle '<(0d, 90d),10d>' ~ sbox '((0d, 80d),(360d, 90d))'; 937 ?column? 938---------- 939 t 940(1 row) 941 942SELECT scircle '<(0d, 90d),10d>' && sbox '((0d, 80d),(360d, 90d))'; 943 ?column? 944---------- 945 t 946(1 row) 947 948-- 949-- sbox and line 950-- 951SELECT sline( spoint '(0d,0d)', spoint '(0d,10d)' ) @ sbox '((0d,0d),(10d,10d))'; 952 ?column? 953---------- 954 t 955(1 row) 956 957SELECT sline( spoint '(0d,0d)', spoint '(0d,0d)' ) @ sbox '((0d,0d),(10d,10d))'; 958 ?column? 959---------- 960 t 961(1 row) 962 963SELECT sline( spoint '(0d,10d)', spoint '(10d,10d)' ) @ sbox '((0d,0d),(10d,10d))'; 964 ?column? 965---------- 966 f 967(1 row) 968 969SELECT sline( spoint '(0d,0d)', spoint '(0d,10d)' ) && sbox '((0d,0d),(10d,10d))'; 970 ?column? 971---------- 972 t 973(1 row) 974 975SELECT sline( spoint '(0d,0d)', spoint '(0d,0d)' ) && sbox '((0d,0d),(10d,10d))'; 976 ?column? 977---------- 978 t 979(1 row) 980 981SELECT sline( spoint '(0d,10d)', spoint '(10d,10d)' ) && sbox '((0d,0d),(10d,10d))'; 982 ?column? 983---------- 984 t 985(1 row) 986 987-- sbox is point, sline is point 988SELECT sbox '((310d,310d),(310d,310d))' ~ sline ( spoint '(310d,310d)', spoint '(310d,310d)' ) ; 989 ?column? 990---------- 991 t 992(1 row) 993 994SELECT sline ( spoint '(310d,310d)', spoint '(310d,310d)' ) @ sbox '((310d,310d),(310d,310d))' ; 995 ?column? 996---------- 997 t 998(1 row) 999 1000SELECT sbox '((310d,310d),(310d,310d))' ~ sline ( spoint '(10d,10d)', spoint '(10d,10d)' ) ; 1001 ?column? 1002---------- 1003 f 1004(1 row) 1005 1006SELECT sline ( spoint '(11d,11d)' , spoint '(11d,11d)' ) @ sbox '((310d,310d),(310d,310d))' ; 1007 ?column? 1008---------- 1009 f 1010(1 row) 1011 1012SELECT sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) @ sbox '((310d,90d),(310d,90d))' ; 1013 ?column? 1014---------- 1015 t 1016(1 row) 1017 1018SELECT sbox '((310d,90d),(310d,90d))' ~ sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) ; 1019 ?column? 1020---------- 1021 t 1022(1 row) 1023 1024SELECT sbox '((310d,310d),(310d,310d))' && sline ( spoint '(310d,310d)', spoint '(310d,310d)' ) ; 1025 ?column? 1026---------- 1027 t 1028(1 row) 1029 1030SELECT sline ( spoint '(310d,310d)', spoint '(310d,310d)' ) && sbox '((310d,310d),(310d,310d))' ; 1031 ?column? 1032---------- 1033 t 1034(1 row) 1035 1036SELECT sbox '((310d,310d),(310d,310d))' && sline ( spoint '(10d,10d)', spoint '(10d,10d)' ) ; 1037 ?column? 1038---------- 1039 f 1040(1 row) 1041 1042SELECT sline ( spoint '(11d,11d)' , spoint '(11d,11d)' ) && sbox '((310d,310d),(310d,310d))' ; 1043 ?column? 1044---------- 1045 f 1046(1 row) 1047 1048SELECT sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) && sbox '((310d,90d),(310d,90d))' ; 1049 ?column? 1050---------- 1051 t 1052(1 row) 1053 1054SELECT sbox '((310d,90d),(310d,90d))' && sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) ; 1055 ?column? 1056---------- 1057 t 1058(1 row) 1059 1060-- sbox is point only 1061SELECT sbox '((310d,10d),(310d,10d))' ~ sline ( spoint '(310d,10d)', spoint '(310d,20d)' ) ; 1062 ?column? 1063---------- 1064 f 1065(1 row) 1066 1067SELECT sbox '((310d,10d),(310d,10d))' && sline ( spoint '(310d,10d)', spoint '(310d,20d)' ) ; 1068 ?column? 1069---------- 1070 t 1071(1 row) 1072 1073SELECT sline ( spoint '(310d,10d)', spoint '(310d,20d)' ) @ sbox '((310d,10d),(310d,10d))' ; 1074 ?column? 1075---------- 1076 f 1077(1 row) 1078 1079SELECT sline ( spoint '(310d,10d)', spoint '(310d,20d)' ) && sbox '((310d,10d),(310d,10d))' ; 1080 ?column? 1081---------- 1082 t 1083(1 row) 1084 1085SELECT sbox '((310d,10d),(310d,10d))' ~ sline ( spoint '(10d,10d)', spoint '(10d,20d)' ) ; 1086 ?column? 1087---------- 1088 f 1089(1 row) 1090 1091SELECT sbox '((310d,10d),(310d,10d))' && sline ( spoint '(10d,10d)', spoint '(10d,20d)' ) ; 1092 ?column? 1093---------- 1094 f 1095(1 row) 1096 1097SELECT sline ( spoint '(11d,11d)' , spoint '(21d,11d)' ) @ sbox '((310d,10d),(310d,10d))' ; 1098 ?column? 1099---------- 1100 f 1101(1 row) 1102 1103SELECT sline ( spoint '(11d,11d)' , spoint '(21d,11d)' ) && sbox '((310d,10d),(310d,10d))' ; 1104 ?column? 1105---------- 1106 f 1107(1 row) 1108 1109SELECT sline ( spoint '(11d,90d)' , spoint '(11d,80d)' ) @ sbox '((310d,90d),(310d,90d))' ; 1110 ?column? 1111---------- 1112 f 1113(1 row) 1114 1115SELECT sline ( spoint '(11d,90d)' , spoint '(11d,80d)' ) && sbox '((310d,90d),(310d,90d))' ; 1116 ?column? 1117---------- 1118 t 1119(1 row) 1120 1121SELECT sbox '((310d,90d),(310d,90d))' ~ sline ( spoint '(11d,90d)' , spoint '(11d,80d)' ) ; 1122 ?column? 1123---------- 1124 f 1125(1 row) 1126 1127SELECT sbox '((310d,90d),(310d,90d))' && sline ( spoint '(11d,90d)' , spoint '(11d,80d)' ) ; 1128 ?column? 1129---------- 1130 t 1131(1 row) 1132 1133-- sline is point only 1134SELECT sbox '((310d,10d),(320d,20d))' ~ sline ( spoint '(310d,10d)', spoint '(310d,10d)' ) ; 1135 ?column? 1136---------- 1137 t 1138(1 row) 1139 1140SELECT sbox '((310d,10d),(320d,20d))' && sline ( spoint '(310d,10d)', spoint '(310d,10d)' ) ; 1141 ?column? 1142---------- 1143 t 1144(1 row) 1145 1146SELECT sbox '((310d,10d),(320d,20d))' ~ sline ( spoint '(315d,15d)', spoint '(315d,15d)' ) ; 1147 ?column? 1148---------- 1149 t 1150(1 row) 1151 1152SELECT sbox '((310d,10d),(320d,20d))' && sline ( spoint '(315d,15d)', spoint '(315d,15d)' ) ; 1153 ?column? 1154---------- 1155 t 1156(1 row) 1157 1158SELECT sline ( spoint '(310d,10d)', spoint '(310d,10d)' ) @ sbox '((310d,10d),(320d,20d))' ; 1159 ?column? 1160---------- 1161 t 1162(1 row) 1163 1164SELECT sline ( spoint '(310d,10d)', spoint '(310d,10d)' ) && sbox '((310d,10d),(320d,20d))' ; 1165 ?column? 1166---------- 1167 t 1168(1 row) 1169 1170SELECT sline ( spoint '(315d,15d)', spoint '(315d,15d)' ) @ sbox '((310d,10d),(320d,20d))' ; 1171 ?column? 1172---------- 1173 t 1174(1 row) 1175 1176SELECT sline ( spoint '(315d,15d)', spoint '(315d,15d)' ) && sbox '((310d,10d),(320d,20d))' ; 1177 ?column? 1178---------- 1179 t 1180(1 row) 1181 1182SELECT sbox '((310d,10d),(320d,20d))' ~ sline ( spoint '(10d,10d)', spoint '(10d,10d)' ) ; 1183 ?column? 1184---------- 1185 f 1186(1 row) 1187 1188SELECT sbox '((310d,10d),(320d,20d))' && sline ( spoint '(10d,10d)', spoint '(10d,10d)' ) ; 1189 ?column? 1190---------- 1191 f 1192(1 row) 1193 1194SELECT sline ( spoint '(11d, 11d)' , spoint '(11d,11d)' ) @ sbox '((310d,10d),(320d,20d))' ; 1195 ?column? 1196---------- 1197 f 1198(1 row) 1199 1200SELECT sline ( spoint '(11d, 11d)' , spoint '(11d,11d)' ) && sbox '((310d,10d),(320d,20d))' ; 1201 ?column? 1202---------- 1203 f 1204(1 row) 1205 1206SELECT sline ( spoint '(11d, 90d)' , spoint '(11d,90d)' ) @ sbox '((310d,80d),(320d,90d))' ; 1207 ?column? 1208---------- 1209 t 1210(1 row) 1211 1212SELECT sline ( spoint '(11d, 90d)' , spoint '(11d,90d)' ) && sbox '((310d,80d),(320d,90d))' ; 1213 ?column? 1214---------- 1215 t 1216(1 row) 1217 1218SELECT sline ( spoint '(11d, 85d)' , spoint '(11d,85d)' ) @ sbox '((310d,80d),(320d,90d))' ; 1219 ?column? 1220---------- 1221 f 1222(1 row) 1223 1224SELECT sline ( spoint '(11d, 85d)' , spoint '(11d,85d)' ) && sbox '((310d,80d),(320d,90d))' ; 1225 ?column? 1226---------- 1227 f 1228(1 row) 1229 1230SELECT sline ( spoint '(315d,85d)' , spoint '(315d,85d)' ) @ sbox '((310d,80d),(320d,90d))' ; 1231 ?column? 1232---------- 1233 t 1234(1 row) 1235 1236SELECT sline ( spoint '(315d,85d)' , spoint '(315d,85d)' ) && sbox '((310d,80d),(320d,90d))' ; 1237 ?column? 1238---------- 1239 t 1240(1 row) 1241 1242SELECT sbox '((310d,80d),(320d,90d))' ~ sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) ; 1243 ?column? 1244---------- 1245 t 1246(1 row) 1247 1248SELECT sbox '((310d,80d),(320d,90d))' && sline ( spoint '(11d,90d)' , spoint '(11d,90d)' ) ; 1249 ?column? 1250---------- 1251 t 1252(1 row) 1253 1254SELECT sbox '((310d,80d),(320d,90d))' ~ sline ( spoint '(315d,85d)' , spoint '(315d,85d)' ) ; 1255 ?column? 1256---------- 1257 t 1258(1 row) 1259 1260SELECT sbox '((310d,80d),(320d,90d))' && sline ( spoint '(315d,85d)' , spoint '(315d,85d)' ) ; 1261 ?column? 1262---------- 1263 t 1264(1 row) 1265 1266-- sline / sbox near pole 1267SELECT sbox '((20d,80d),(200d,90d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,85d)' ) ; 1268 ?column? 1269---------- 1270 t 1271(1 row) 1272 1273SELECT sbox '((20d,80d),(200d,90d))' && sline ( spoint '(200d,85d)', spoint '(20d,85d)' ) ; 1274 ?column? 1275---------- 1276 t 1277(1 row) 1278 1279SELECT sbox '((10d,80d),(210d,90d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,81d)' ) ; 1280 ?column? 1281---------- 1282 f 1283(1 row) 1284 1285SELECT sbox '((10d,80d),(210d,90d))' && sline ( spoint '(200d,81d)', spoint '(20d,81d)' ) ; 1286 ?column? 1287---------- 1288 t 1289(1 row) 1290 1291SELECT sbox '((10d,80d),(211d,90d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,81d)' ) ; 1292 ?column? 1293---------- 1294 f 1295(1 row) 1296 1297SELECT sbox '((10d,80d),(211d,90d))' && sline ( spoint '(200d,81d)', spoint '(20d,81d)' ) ; 1298 ?column? 1299---------- 1300 t 1301(1 row) 1302 1303SELECT sbox '((190d,80d),(199d,90d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1304 ?column? 1305---------- 1306 f 1307(1 row) 1308 1309SELECT sbox '((190d,80d),(199d,90d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1310 ?column? 1311---------- 1312 t 1313(1 row) 1314 1315SELECT sbox '((190d,80d),(200d,90d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1316 ?column? 1317---------- 1318 t 1319(1 row) 1320 1321SELECT sbox '((190d,80d),(200d,90d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1322 ?column? 1323---------- 1324 t 1325(1 row) 1326 1327SELECT sbox '((190d,80d),(210d,90d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1328 ?column? 1329---------- 1330 t 1331(1 row) 1332 1333SELECT sbox '((190d,80d),(210d,90d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1334 ?column? 1335---------- 1336 t 1337(1 row) 1338 1339SELECT sbox '((200d,80d),(210d,90d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1340 ?column? 1341---------- 1342 t 1343(1 row) 1344 1345SELECT sbox '((200d,80d),(210d,90d))' && sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1346 ?column? 1347---------- 1348 t 1349(1 row) 1350 1351SELECT sbox '((210d,80d),(220d,90d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1352 ?column? 1353---------- 1354 f 1355(1 row) 1356 1357SELECT sbox '((210d,80d),(220d,90d))' && sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1358 ?column? 1359---------- 1360 t 1361(1 row) 1362 1363SELECT sbox '((190d,80d),(199d,88d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1364 ?column? 1365---------- 1366 f 1367(1 row) 1368 1369SELECT sbox '((190d,80d),(199d,88d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1370 ?column? 1371---------- 1372 f 1373(1 row) 1374 1375SELECT sbox '((190d,80d),(200d,88d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1376 ?column? 1377---------- 1378 f 1379(1 row) 1380 1381SELECT sbox '((190d,80d),(200d,88d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1382 ?column? 1383---------- 1384 t 1385(1 row) 1386 1387SELECT sbox '((190d,80d),(210d,88d))' ~ sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1388 ?column? 1389---------- 1390 f 1391(1 row) 1392 1393SELECT sbox '((190d,80d),(210d,88d))' && sline ( spoint '(200d,85d)', spoint '(20d,90d)' ) ; 1394 ?column? 1395---------- 1396 t 1397(1 row) 1398 1399SELECT sbox '((200d,80d),(210d,88d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1400 ?column? 1401---------- 1402 f 1403(1 row) 1404 1405SELECT sbox '((200d,80d),(210d,88d))' && sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1406 ?column? 1407---------- 1408 t 1409(1 row) 1410 1411SELECT sbox '((210d,80d),(220d,88d))' ~ sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1412 ?column? 1413---------- 1414 f 1415(1 row) 1416 1417SELECT sbox '((210d,80d),(220d,88d))' && sline ( spoint '(200d,81d)', spoint '(20d,90d)' ) ; 1418 ?column? 1419---------- 1420 f 1421(1 row) 1422 1423-- sbox near equator 1424SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,85d)', spoint '( 20d, 85d)' ) ; 1425 ?column? 1426---------- 1427 f 1428(1 row) 1429 1430SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,85d)', spoint '( 20d, 85d)' ) ; 1431 ?column? 1432---------- 1433 f 1434(1 row) 1435 1436SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(190d, 0d)' ) ; 1437 ?column? 1438---------- 1439 f 1440(1 row) 1441 1442SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(190d, 0d)' ) ; 1443 ?column? 1444---------- 1445 t 1446(1 row) 1447 1448SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(205d, 0d)' ) ; 1449 ?column? 1450---------- 1451 t 1452(1 row) 1453 1454SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(205d, 0d)' ) ; 1455 ?column? 1456---------- 1457 t 1458(1 row) 1459 1460SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(202d, 0d)', spoint '(207d, 0d)' ) ; 1461 ?column? 1462---------- 1463 t 1464(1 row) 1465 1466SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(202d, 0d)', spoint '(207d, 0d)' ) ; 1467 ?column? 1468---------- 1469 t 1470(1 row) 1471 1472SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,-5d)', spoint '(200d, 5d)' ) ; 1473 ?column? 1474---------- 1475 f 1476(1 row) 1477 1478SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,-5d)', spoint '(200d, 5d)' ) ; 1479 ?column? 1480---------- 1481 t 1482(1 row) 1483 1484SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d,-5d)', spoint '(205d, 5d)' ) ; 1485 ?column? 1486---------- 1487 f 1488(1 row) 1489 1490SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d,-5d)', spoint '(205d, 5d)' ) ; 1491 ?column? 1492---------- 1493 t 1494(1 row) 1495 1496SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(200d, 5d)' ) ; 1497 ?column? 1498---------- 1499 t 1500(1 row) 1501 1502SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(200d, 5d)' ) ; 1503 ?column? 1504---------- 1505 t 1506(1 row) 1507 1508SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(200d, 10d)' ) ; 1509 ?column? 1510---------- 1511 t 1512(1 row) 1513 1514SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(200d, 10d)' ) ; 1515 ?column? 1516---------- 1517 t 1518(1 row) 1519 1520SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d, 0d)', spoint '(205d, 5d)' ) ; 1521 ?column? 1522---------- 1523 t 1524(1 row) 1525 1526SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d, 0d)', spoint '(205d, 5d)' ) ; 1527 ?column? 1528---------- 1529 t 1530(1 row) 1531 1532SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d, 0d)', spoint '(205d, 10d)' ) ; 1533 ?column? 1534---------- 1535 t 1536(1 row) 1537 1538SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d, 0d)', spoint '(205d, 10d)' ) ; 1539 ?column? 1540---------- 1541 t 1542(1 row) 1543 1544SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,-5d)', spoint '(200d, 15d)' ) ; 1545 ?column? 1546---------- 1547 f 1548(1 row) 1549 1550SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,-5d)', spoint '(200d, 15d)' ) ; 1551 ?column? 1552---------- 1553 t 1554(1 row) 1555 1556SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d,-5d)', spoint '(205d, 15d)' ) ; 1557 ?column? 1558---------- 1559 f 1560(1 row) 1561 1562SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d,-5d)', spoint '(205d, 15d)' ) ; 1563 ?column? 1564---------- 1565 t 1566(1 row) 1567 1568SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(210d, 10d)' ) ; 1569 ?column? 1570---------- 1571 t 1572(1 row) 1573 1574SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(210d, 10d)' ) ; 1575 ?column? 1576---------- 1577 t 1578(1 row) 1579 1580SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(199d,-1d)', spoint '(211d, 11d)' ) ; 1581 ?column? 1582---------- 1583 f 1584(1 row) 1585 1586SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(199d,-1d)', spoint '(211d, 11d)' ) ; 1587 ?column? 1588---------- 1589 t 1590(1 row) 1591 1592SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(211d, 11d)' ) ; 1593 ?column? 1594---------- 1595 f 1596(1 row) 1597 1598SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(211d, 11d)' ) ; 1599 ?column? 1600---------- 1601 t 1602(1 row) 1603 1604SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(199d,-1d)', spoint '(210d, 10d)' ) ; 1605 ?column? 1606---------- 1607 f 1608(1 row) 1609 1610SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(199d,-1d)', spoint '(210d, 10d)' ) ; 1611 ?column? 1612---------- 1613 t 1614(1 row) 1615 1616SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(199d,-1d)', spoint '(209d, 9d)' ) ; 1617 ?column? 1618---------- 1619 f 1620(1 row) 1621 1622SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(199d,-1d)', spoint '(209d, 9d)' ) ; 1623 ?column? 1624---------- 1625 t 1626(1 row) 1627 1628SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(201d, 1d)', spoint '(211d, 11d)' ) ; 1629 ?column? 1630---------- 1631 f 1632(1 row) 1633 1634SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(201d, 1d)', spoint '(211d, 11d)' ) ; 1635 ?column? 1636---------- 1637 t 1638(1 row) 1639 1640SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(205d, 5d)' ) ; 1641 ?column? 1642---------- 1643 t 1644(1 row) 1645 1646SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(205d, 5d)' ) ; 1647 ?column? 1648---------- 1649 t 1650(1 row) 1651 1652SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(201d, 0d)', spoint '(205d, 5d)' ) ; 1653 ?column? 1654---------- 1655 t 1656(1 row) 1657 1658SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(201d, 0d)', spoint '(205d, 5d)' ) ; 1659 ?column? 1660---------- 1661 t 1662(1 row) 1663 1664SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(201d, 1d)', spoint '(205d, 5d)' ) ; 1665 ?column? 1666---------- 1667 t 1668(1 row) 1669 1670SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(201d, 1d)', spoint '(205d, 5d)' ) ; 1671 ?column? 1672---------- 1673 t 1674(1 row) 1675 1676SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,10d)', spoint '(210d, 10d)' ) ; 1677 ?column? 1678---------- 1679 f 1680(1 row) 1681 1682SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,10d)', spoint '(210d, 10d)' ) ; 1683 ?column? 1684---------- 1685 t 1686(1 row) 1687 1688SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,10d)', spoint '(205d, 10d)' ) ; 1689 ?column? 1690---------- 1691 f 1692(1 row) 1693 1694SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,10d)', spoint '(205d, 10d)' ) ; 1695 ?column? 1696---------- 1697 t 1698(1 row) 1699 1700SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(199d,-1d)', spoint '(200d, 0d)' ) ; 1701 ?column? 1702---------- 1703 f 1704(1 row) 1705 1706SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(199d,-1d)', spoint '(200d, 0d)' ) ; 1707 ?column? 1708---------- 1709 t 1710(1 row) 1711 1712SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d,10d)', spoint '(200d, 20d)' ) ; 1713 ?column? 1714---------- 1715 f 1716(1 row) 1717 1718SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d,10d)', spoint '(200d, 20d)' ) ; 1719 ?column? 1720---------- 1721 t 1722(1 row) 1723 1724SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d,10d)', spoint '(205d, 20d)' ) ; 1725 ?column? 1726---------- 1727 f 1728(1 row) 1729 1730SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d,10d)', spoint '(205d, 20d)' ) ; 1731 ?column? 1732---------- 1733 t 1734(1 row) 1735 1736SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(210d,10d)', spoint '(210d, 20d)' ) ; 1737 ?column? 1738---------- 1739 f 1740(1 row) 1741 1742SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(210d,10d)', spoint '(210d, 20d)' ) ; 1743 ?column? 1744---------- 1745 t 1746(1 row) 1747 1748SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(200d, 0d)', spoint '(200d, -5d)' ) ; 1749 ?column? 1750---------- 1751 f 1752(1 row) 1753 1754SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(200d, 0d)', spoint '(200d, -5d)' ) ; 1755 ?column? 1756---------- 1757 t 1758(1 row) 1759 1760SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(205d, 0d)', spoint '(205d, -5d)' ) ; 1761 ?column? 1762---------- 1763 f 1764(1 row) 1765 1766SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(205d, 0d)', spoint '(205d, -5d)' ) ; 1767 ?column? 1768---------- 1769 t 1770(1 row) 1771 1772SELECT sbox '((200d,0d),(210d,10d))' ~ sline ( spoint '(210d, 0d)', spoint '(210d, -5d)' ) ; 1773 ?column? 1774---------- 1775 f 1776(1 row) 1777 1778SELECT sbox '((200d,0d),(210d,10d))' && sline ( spoint '(210d, 0d)', spoint '(210d, -5d)' ) ; 1779 ?column? 1780---------- 1781 t 1782(1 row) 1783 1784SELECT sbox '((200d,0d),(210d,10d))' ~ sline '( -10d, -10d, 200d, ZXZ ), 20d' ; 1785 ?column? 1786---------- 1787 f 1788(1 row) 1789 1790SELECT sbox '((200d,0d),(210d,10d))' && sline '( -10d, -10d, 200d, ZXZ ), 20d' ; 1791 ?column? 1792---------- 1793 t 1794(1 row) 1795 1796-- general position 1797SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, 0d)', spoint '(190d, 0d)' ) ; 1798 ?column? 1799---------- 1800 f 1801(1 row) 1802 1803SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, 0d)', spoint '(190d, 0d)' ) ; 1804 ?column? 1805---------- 1806 f 1807(1 row) 1808 1809SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(190d, -40d)' ) ; 1810 ?column? 1811---------- 1812 t 1813(1 row) 1814 1815SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -40d)', spoint '(190d, -40d)' ) ; 1816 ?column? 1817---------- 1818 t 1819(1 row) 1820 1821SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -50d)', spoint '(190d, -50d)' ) ; 1822 ?column? 1823---------- 1824 f 1825(1 row) 1826 1827SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -50d)', spoint '(190d, -50d)' ) ; 1828 ?column? 1829---------- 1830 t 1831(1 row) 1832 1833SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(171d, -40d)', spoint '(189d, -40d)' ) ; 1834 ?column? 1835---------- 1836 t 1837(1 row) 1838 1839SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(171d, -40d)', spoint '(189d, -40d)' ) ; 1840 ?column? 1841---------- 1842 t 1843(1 row) 1844 1845SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(171d, -50d)', spoint '(189d, -50d)' ) ; 1846 ?column? 1847---------- 1848 f 1849(1 row) 1850 1851SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(171d, -50d)', spoint '(189d, -50d)' ) ; 1852 ?column? 1853---------- 1854 t 1855(1 row) 1856 1857SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(171d, -40d)', spoint '(191d, -40d)' ) ; 1858 ?column? 1859---------- 1860 f 1861(1 row) 1862 1863SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(171d, -40d)', spoint '(191d, -40d)' ) ; 1864 ?column? 1865---------- 1866 t 1867(1 row) 1868 1869SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(171d, -50d)', spoint '(191d, -50d)' ) ; 1870 ?column? 1871---------- 1872 f 1873(1 row) 1874 1875SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(171d, -50d)', spoint '(191d, -50d)' ) ; 1876 ?column? 1877---------- 1878 t 1879(1 row) 1880 1881SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(170d, -50d)' ) ; 1882 ?column? 1883---------- 1884 t 1885(1 row) 1886 1887SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -40d)', spoint '(170d, -50d)' ) ; 1888 ?column? 1889---------- 1890 t 1891(1 row) 1892 1893SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(170d, -49d)' ) ; 1894 ?column? 1895---------- 1896 t 1897(1 row) 1898 1899SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -40d)', spoint '(170d, -49d)' ) ; 1900 ?column? 1901---------- 1902 t 1903(1 row) 1904 1905SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(170d, -51d)' ) ; 1906 ?column? 1907---------- 1908 f 1909(1 row) 1910 1911SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -40d)', spoint '(170d, -51d)' ) ; 1912 ?column? 1913---------- 1914 t 1915(1 row) 1916 1917SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(190d, -50d)' ) ; 1918 ?column? 1919---------- 1920 t 1921(1 row) 1922 1923SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(170d, -40d)', spoint '(190d, -50d)' ) ; 1924 ?column? 1925---------- 1926 t 1927(1 row) 1928 1929SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(171d, -41d)', spoint '(189d, -49d)' ) ; 1930 ?column? 1931---------- 1932 t 1933(1 row) 1934 1935SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(171d, -41d)', spoint '(189d, -49d)' ) ; 1936 ?column? 1937---------- 1938 t 1939(1 row) 1940 1941SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -39d)', spoint '(180d, -51d)' ) ; 1942 ?column? 1943---------- 1944 f 1945(1 row) 1946 1947SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -39d)', spoint '(180d, -51d)' ) ; 1948 ?column? 1949---------- 1950 t 1951(1 row) 1952 1953SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -40d)', spoint '(180d, -51d)' ) ; 1954 ?column? 1955---------- 1956 f 1957(1 row) 1958 1959SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -40d)', spoint '(180d, -51d)' ) ; 1960 ?column? 1961---------- 1962 t 1963(1 row) 1964 1965SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -40d)', spoint '(180d, -50d)' ) ; 1966 ?column? 1967---------- 1968 t 1969(1 row) 1970 1971SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -40d)', spoint '(180d, -50d)' ) ; 1972 ?column? 1973---------- 1974 t 1975(1 row) 1976 1977SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -41d)', spoint '(180d, -50d)' ) ; 1978 ?column? 1979---------- 1980 t 1981(1 row) 1982 1983SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -41d)', spoint '(180d, -50d)' ) ; 1984 ?column? 1985---------- 1986 t 1987(1 row) 1988 1989SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -41d)', spoint '(180d, -49d)' ) ; 1990 ?column? 1991---------- 1992 t 1993(1 row) 1994 1995SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -41d)', spoint '(180d, -49d)' ) ; 1996 ?column? 1997---------- 1998 t 1999(1 row) 2000 2001SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -39d)', spoint '(182d, -51d)' ) ; 2002 ?column? 2003---------- 2004 f 2005(1 row) 2006 2007SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -39d)', spoint '(182d, -51d)' ) ; 2008 ?column? 2009---------- 2010 t 2011(1 row) 2012 2013SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -40d)', spoint '(182d, -51d)' ) ; 2014 ?column? 2015---------- 2016 f 2017(1 row) 2018 2019SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -40d)', spoint '(182d, -51d)' ) ; 2020 ?column? 2021---------- 2022 t 2023(1 row) 2024 2025SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -40d)', spoint '(182d, -50d)' ) ; 2026 ?column? 2027---------- 2028 t 2029(1 row) 2030 2031SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -40d)', spoint '(182d, -50d)' ) ; 2032 ?column? 2033---------- 2034 t 2035(1 row) 2036 2037SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -41d)', spoint '(182d, -50d)' ) ; 2038 ?column? 2039---------- 2040 t 2041(1 row) 2042 2043SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -41d)', spoint '(182d, -50d)' ) ; 2044 ?column? 2045---------- 2046 t 2047(1 row) 2048 2049SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(180d, -41d)', spoint '(182d, -49d)' ) ; 2050 ?column? 2051---------- 2052 t 2053(1 row) 2054 2055SELECT sbox '((170d,-50d),(190d,-40d))' && sline ( spoint '(180d, -41d)', spoint '(182d, -49d)' ) ; 2056 ?column? 2057---------- 2058 t 2059(1 row) 2060 2061SELECT sbox '((170d,-50d),(190d,-40d))' ~ sline ( spoint '(170d, -40d)', spoint '(190d, -40d)' ) ; 2062 ?column? 2063---------- 2064 t 2065(1 row) 2066 2067-- all less/equals/greater permutations of spoint coordinates with respect to a fixed sbox 2068select 'f' as expected, spoint(0.50, 0.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2069 expected | actual 2070----------+-------- 2071 f | f 2072(1 row) 2073 2074select 'f' as expected, spoint(0.50, 0.75) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2075 expected | actual 2076----------+-------- 2077 f | f 2078(1 row) 2079 2080select 'f' as expected, spoint(0.50, 1.00) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2081 expected | actual 2082----------+-------- 2083 f | f 2084(1 row) 2085 2086select 'f' as expected, spoint(0.50, 1.25) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2087 expected | actual 2088----------+-------- 2089 f | f 2090(1 row) 2091 2092select 'f' as expected, spoint(0.50, 1.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2093 expected | actual 2094----------+-------- 2095 f | f 2096(1 row) 2097 2098select 'f' as expected, spoint(0.75, 0.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2099 expected | actual 2100----------+-------- 2101 f | f 2102(1 row) 2103 2104select 't' as expected, spoint(0.75, 0.75) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2105 expected | actual 2106----------+-------- 2107 t | t 2108(1 row) 2109 2110select 't' as expected, spoint(0.75, 1.00) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2111 expected | actual 2112----------+-------- 2113 t | t 2114(1 row) 2115 2116select 't' as expected, spoint(0.75, 1.25) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2117 expected | actual 2118----------+-------- 2119 t | t 2120(1 row) 2121 2122select 'f' as expected, spoint(0.75, 1.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2123 expected | actual 2124----------+-------- 2125 f | f 2126(1 row) 2127 2128select 'f' as expected, spoint(1.00, 0.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2129 expected | actual 2130----------+-------- 2131 f | f 2132(1 row) 2133 2134select 't' as expected, spoint(1.00, 0.75) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2135 expected | actual 2136----------+-------- 2137 t | t 2138(1 row) 2139 2140select 't' as expected, spoint(1.00, 1.00) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2141 expected | actual 2142----------+-------- 2143 t | t 2144(1 row) 2145 2146select 't' as expected, spoint(1.00, 1.25) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2147 expected | actual 2148----------+-------- 2149 t | t 2150(1 row) 2151 2152select 'f' as expected, spoint(1.00, 1.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2153 expected | actual 2154----------+-------- 2155 f | f 2156(1 row) 2157 2158select 'f' as expected, spoint(1.25, 0.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2159 expected | actual 2160----------+-------- 2161 f | f 2162(1 row) 2163 2164select 't' as expected, spoint(1.25, 0.75) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2165 expected | actual 2166----------+-------- 2167 t | t 2168(1 row) 2169 2170select 't' as expected, spoint(1.25, 1.00) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2171 expected | actual 2172----------+-------- 2173 t | t 2174(1 row) 2175 2176select 't' as expected, spoint(1.25, 1.25) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2177 expected | actual 2178----------+-------- 2179 t | t 2180(1 row) 2181 2182select 'f' as expected, spoint(1.25, 1.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2183 expected | actual 2184----------+-------- 2185 f | f 2186(1 row) 2187 2188select 'f' as expected, spoint(1.50, 0.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2189 expected | actual 2190----------+-------- 2191 f | f 2192(1 row) 2193 2194select 'f' as expected, spoint(1.50, 0.75) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2195 expected | actual 2196----------+-------- 2197 f | f 2198(1 row) 2199 2200select 'f' as expected, spoint(1.50, 1.00) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2201 expected | actual 2202----------+-------- 2203 f | f 2204(1 row) 2205 2206select 'f' as expected, spoint(1.50, 1.25) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2207 expected | actual 2208----------+-------- 2209 f | f 2210(1 row) 2211 2212select 'f' as expected, spoint(1.50, 1.50) <@ sbox(spoint(0.75, 0.75), spoint(1.25, 1.25)) as actual; 2213 expected | actual 2214----------+-------- 2215 f | f 2216(1 row) 2217 2218-- wide spherical boxes 2219