1SELECT set_sphere_output('DEG'); 2 set_sphere_output 3------------------- 4 SET DEG 5(1 row) 6 7 8SELECT spoly {(10d,0d),(10d,1d),(15d,0d)} ; 9 spoly 10------------------------------------ 11 {(10d , 0d),(10d , 1d),(15d , 0d)} 12(1 row) 13 14SELECT spoly {(359d,0d),(359d,1d),(4d,0d)} ; 15 spoly 16------------------------------------- 17 {(359d , 0d),(359d , 1d),(4d , 0d)} 18(1 row) 19 20SELECT spoly {(10d,0d),(10d,1d),(15d,0d)} ; 21 spoly 22------------------------------------ 23 {(10d , 0d),(10d , 1d),(15d , 0d)} 24(1 row) 25 26 27-- incorrect input ----- 28SELECT spoly {(10d,0d),(10d,1d)} ; 29 30--- self-crossing input ----- 31SELECT spoly {(0d,0d),(10d,10d),(0d,10d),(10d,0d)} ; 32 33--- functions 34SELECT npoints( spoly {(10d,0d),(10d,1d),(15d,0d)} ); 35 npoints 36--------- 37 3 38(1 row) 39 40SELECT npoints( spoly {(10d,0d),(10d,1d),(15d,0d),(5d,-5d)} ); 41 npoints 42--------- 43 4 44(1 row) 45 46--SELECT npoints( spoly {(0d,0d),(0d,90d),(15d,90d),(15d,0d)} ); 47 48SELECT area(spoly {(0d,0d),(0d,90d),(1,0d)} ); 49 area 50------ 51 1 52(1 row) 53 54SELECT area(spoly {(0d,0d),(0d,90d),(90d,0d)} )/(4.0*pi()); 55 ?column? 56---------- 57 0.125 58(1 row) 59 60 61--- operations 62--- = operator 63--- should be true 64SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(1d,1d),(2d,1d),(1d,0d)} ; 65 ?column? 66---------- 67 t 68(1 row) 69 70SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(2d,1d),(1d,1d),(1d,0d)} ; 71 ?column? 72---------- 73 f 74(1 row) 75 76SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(1d,0d),(0d,0d),(0d,1d),(1d,1d)} ; 77 ?column? 78---------- 79 t 80(1 row) 81 82SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(0d,0d),(1d,0d),(1d,1d),(0d,1d)} ; 83 ?column? 84---------- 85 f 86(1 row) 87 88--- should be false 89SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(1d,1d),(3d,1d),(1d,0d)} ; 90 ?column? 91---------- 92 f 93(1 row) 94 95SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(1d,0d),(0d,0d),(0d,1d),(2d,2d)} ; 96 ?column? 97---------- 98 f 99(1 row) 100 101 102--- <> operator 103--- should be false 104SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(1d,1d),(2d,1d),(1d,0d)} ; 105 ?column? 106---------- 107 f 108(1 row) 109 110SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(2d,1d),(1d,1d),(1d,0d)} ; 111 ?column? 112---------- 113 t 114(1 row) 115 116SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(1d,0d),(0d,0d),(0d,1d),(1d,1d)} ; 117 ?column? 118---------- 119 f 120(1 row) 121 122SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(0d,0d),(1d,0d),(1d,1d),(0d,1d)} ; 123 ?column? 124---------- 125 t 126(1 row) 127 128--- should be true 129SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(1d,1d),(3d,1d),(1d,0d)} ; 130 ?column? 131---------- 132 t 133(1 row) 134 135SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(1d,0d),(0d,0d),(0d,1d),(2d,2d)} ; 136 ?column? 137---------- 138 t 139(1 row) 140 141 142--- spoint @ spoly 143--- should be true 144SELECT (0.5d,0.5d) @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 145 ?column? 146---------- 147 t 148(1 row) 149 150SELECT (0d,0.5d) @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 151 ?column? 152---------- 153 t 154(1 row) 155 156SELECT (0d,0d) @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 157 ?column? 158---------- 159 t 160(1 row) 161 162SELECT (0.5d,0.5d) @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 163 ?column? 164---------- 165 t 166(1 row) 167 168SELECT (0d,89.9d) @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 169 ?column? 170---------- 171 t 172(1 row) 173 174SELECT (0d,90d) @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 175 ?column? 176---------- 177 t 178(1 row) 179 180SELECT (0d,-89.9d) @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 181 ?column? 182---------- 183 t 184(1 row) 185 186SELECT (0d,-90d) @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 187 ?column? 188---------- 189 t 190(1 row) 191 192 193--- should be false 194SELECT (0.1d,0.5d) @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 195 ?column? 196---------- 197 f 198(1 row) 199 200SELECT (45d,-89d) @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 201 ?column? 202---------- 203 f 204(1 row) 205 206SELECT (0d,1d) @ spoly {(0d,0d),(1d,1d),(1d,0d)} ; 207 ?column? 208---------- 209 f 210(1 row) 211 212 213--- spoly ~ spoint 214--- should be true 215SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.5d,0.5d) 216 ?column? 217---------- 218 t 219(1 row) 220 221SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0d,0.5d) 222 ?column? 223---------- 224 t 225(1 row) 226 227SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0d,0d) 228 ?column? 229---------- 230 t 231(1 row) 232 233SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.5d,0.5d) 234 ?column? 235---------- 236 t 237(1 row) 238 239SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ (0d,89.9d) 240 ?column? 241---------- 242 t 243(1 row) 244 245SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ (0d,90d) 246 ?column? 247---------- 248 t 249(1 row) 250 251SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (0d,-89.9d) 252 ?column? 253---------- 254 t 255(1 row) 256 257SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (0d,-90d) 258 ?column? 259---------- 260 t 261(1 row) 262 263 264--- should be false 265SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.1d,0.5d) 266 ?column? 267---------- 268 f 269(1 row) 270 271SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (45d,-89d) 272 ?column? 273---------- 274 f 275(1 row) 276 277SELECT spoly {(0d,0d),(1d,1d),(1d,0d)} ~ (0d,1d) 278 ?column? 279---------- 280 f 281(1 row) 282 283 284--- scircle @ spoly 285--- should be true 286SELECT <(0.5d,0.5d),0.1d> @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 287 ?column? 288---------- 289 t 290(1 row) 291 292SELECT <(0d,89.9d),0.1d> @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 293 ?column? 294---------- 295 t 296(1 row) 297 298SELECT <(0d,90d),0.1d> @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 299 ?column? 300---------- 301 t 302(1 row) 303 304SELECT <(0d,-89.9d),0.1d> @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 305 ?column? 306---------- 307 t 308(1 row) 309 310SELECT <(0d,-90d),0.1d> @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 311 ?column? 312---------- 313 t 314(1 row) 315 316 317--- should be false 318SELECT <(0.1d,0.5d),0.1d> @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 319 ?column? 320---------- 321 f 322(1 row) 323 324SELECT <(45d,-89d),0.1d> @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 325 ?column? 326---------- 327 f 328(1 row) 329 330SELECT <(0d,1d),0.1d> @ spoly {(0d,0d),(1d,1d),(1d,0d)} ; 331 ?column? 332---------- 333 f 334(1 row) 335 336SELECT <(0d,0.5d),0.1d> @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 337 ?column? 338---------- 339 f 340(1 row) 341 342SELECT <(0d,0d),0.1d> @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 343 ?column? 344---------- 345 f 346(1 row) 347 348SELECT <(0.5d,0.5d),0.1d> @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 349 ?column? 350---------- 351 f 352(1 row) 353 354 355--- spoly ~ scircle 356--- should be true 357SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.5d,0.5d),0.1d> 358 ?column? 359---------- 360 t 361(1 row) 362 363SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ <(0d,89.9d),0.1d> 364 ?column? 365---------- 366 t 367(1 row) 368 369SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ <(0d,90d),0.1d> 370 ?column? 371---------- 372 t 373(1 row) 374 375SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(0d,-89.9d),0.1d> 376 ?column? 377---------- 378 t 379(1 row) 380 381SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(0d,-90d),0.1d> 382 ?column? 383---------- 384 t 385(1 row) 386 387 388--- should be false 389SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.5d),0.1d> 390 ?column? 391---------- 392 f 393(1 row) 394 395SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(45d,-89d),0.1d> 396 ?column? 397---------- 398 f 399(1 row) 400 401SELECT spoly {(0d,0d),(1d,1d),(1d,0d)} ~ <(0d,1d),0.1d> 402 ?column? 403---------- 404 f 405(1 row) 406 407SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0d,0.5d),0.1d> 408 ?column? 409---------- 410 f 411(1 row) 412 413SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0d,0d),0.1d> 414 ?column? 415---------- 416 f 417(1 row) 418 419SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.5d),0.1d> 420 ?column? 421---------- 422 f 423(1 row) 424 425SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.1d),0.1d> 426 ?column? 427---------- 428 f 429(1 row) 430 431SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.6d,0.5d),0.1d> 432 ?column? 433---------- 434 f 435(1 row) 436 437 438--- spoly @ scircle 439--- should be true 440SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ <(0d,0d),2.0d> 441 ?column? 442---------- 443 t 444(1 row) 445 446SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(0d,0d),1.0d> 447 ?column? 448---------- 449 t 450(1 row) 451 452SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} @ <(0d,90d),1.0d> 453 ?column? 454---------- 455 t 456(1 row) 457 458SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} @ <(180d,-90d),1.0d> 459 ?column? 460---------- 461 t 462(1 row) 463 464SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ <(0d,0d),1.0d> 465 ?column? 466---------- 467 t 468(1 row) 469 470 471--- should be false 472SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ <(0d,0d),1.0d> 473 ?column? 474---------- 475 f 476(1 row) 477 478SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(0d,0d),0.99d> 479 ?column? 480---------- 481 f 482(1 row) 483 484SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(60d,0d),0.99d> 485 ?column? 486---------- 487 f 488(1 row) 489 490SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,88d)} @ <(0d,90d),1.0d> 491 ?column? 492---------- 493 f 494(1 row) 495 496SELECT spoly {(0d,-87d),(90d,-87d),(180d,-87d),(270d,-87d)} @ <(180d,-90d),1.0d> 497 ?column? 498---------- 499 f 500(1 row) 501 502SELECT spoly {(0d,0d),(0d,1d),(2d,0d)} @ <(0d,0d),1.0d> 503 ?column? 504---------- 505 f 506(1 row) 507 508 509--- scircle ~ spoly 510--- should be true 511SELECT <(0d,0d),2.0d> ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 512 ?column? 513---------- 514 t 515(1 row) 516 517SELECT <(0d,0d),1.0d> ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ; 518 ?column? 519---------- 520 t 521(1 row) 522 523SELECT <(0d,90d),1.0d> ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 524 ?column? 525---------- 526 t 527(1 row) 528 529SELECT <(180d,-90d),1.0d> ~ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 530 ?column? 531---------- 532 t 533(1 row) 534 535SELECT <(0d,0d),1.0d> ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ; 536 ?column? 537---------- 538 t 539(1 row) 540 541 542--- should be false 543SELECT <(0d,0d),1.0d> ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 544 ?column? 545---------- 546 f 547(1 row) 548 549SELECT <(0d,0d),0.99d> ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ; 550 ?column? 551---------- 552 f 553(1 row) 554 555SELECT <(60d,0d),0.99d> ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ; 556 ?column? 557---------- 558 f 559(1 row) 560 561SELECT <(0d,90d),1.0d> ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,88d)} ; 562 ?column? 563---------- 564 f 565(1 row) 566 567SELECT <(180d,-90d),1.0d> ~ spoly {(0d,-87d),(90d,-87d),(180d,-87d),(270d,-87d)} ; 568 ?column? 569---------- 570 f 571(1 row) 572 573SELECT <(0d,0d),1.0d> ~ spoly {(0d,0d),(0d,1d),(2d,0d)} ; 574 ?column? 575---------- 576 f 577(1 row) 578 579 580--- scircle && spoly 581--- should be true 582SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(0.5d,0.5d),0.1d> 583 ?column? 584---------- 585 t 586(1 row) 587 588SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,89.9d),0.1d> 589 ?column? 590---------- 591 t 592(1 row) 593 594SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,90d),0.1d> 595 ?column? 596---------- 597 t 598(1 row) 599 600SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-89.9d),0.1d> 601 ?column? 602---------- 603 t 604(1 row) 605 606SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-90d),0.1d> 607 ?column? 608---------- 609 t 610(1 row) 611 612SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(0d,0d),2.0d> 613 ?column? 614---------- 615 t 616(1 row) 617 618SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} && <(0d,0d),1.0d> 619 ?column? 620---------- 621 t 622(1 row) 623 624SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,90d),1.0d> 625 ?column? 626---------- 627 t 628(1 row) 629 630SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(180d,-90d),1.0d> 631 ?column? 632---------- 633 t 634(1 row) 635 636SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && <(0d,0d),1.0d> 637 ?column? 638---------- 639 t 640(1 row) 641 642SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && <(0d,2d),1.0d> 643 ?column? 644---------- 645 t 646(1 row) 647 648SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && <(2d,0d),1.0d> 649 ?column? 650---------- 651 t 652(1 row) 653 654SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} && <(0.5d,0.5d),0.1d> 655 ?column? 656---------- 657 t 658(1 row) 659 660 661--- should be false 662SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(1.5d,0.5d),0.1d> 663 ?column? 664---------- 665 f 666(1 row) 667 668SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,88.0d),0.1d> 669 ?column? 670---------- 671 f 672(1 row) 673 674SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} && <(0.3d,0.5d),0.1d> 675 ?column? 676---------- 677 f 678(1 row) 679 680SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-87d),0.1d> 681 ?column? 682---------- 683 f 684(1 row) 685 686 687--- spoly && scircle 688--- should be true 689SELECT <(0.5d,0.5d),0.1d> && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 690 ?column? 691---------- 692 t 693(1 row) 694 695SELECT <(0d,89.9d),0.1d> && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 696 ?column? 697---------- 698 t 699(1 row) 700 701SELECT <(0d,90d),0.1d> && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 702 ?column? 703---------- 704 t 705(1 row) 706 707SELECT <(0d,-89.9d),0.1d> && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 708 ?column? 709---------- 710 t 711(1 row) 712 713SELECT <(0d,-90d),0.1d> && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 714 ?column? 715---------- 716 t 717(1 row) 718 719SELECT <(0d,0d),2.0d> && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 720 ?column? 721---------- 722 t 723(1 row) 724 725SELECT <(0d,0d),1.0d> && spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ; 726 ?column? 727---------- 728 t 729(1 row) 730 731SELECT <(0d,90d),1.0d> && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 732 ?column? 733---------- 734 t 735(1 row) 736 737SELECT <(180d,-90d),1.0d> && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 738 ?column? 739---------- 740 t 741(1 row) 742 743SELECT <(0d,0d),1.0d> && spoly {(0d,0d),(0d,1d),(1d,0d)} ; 744 ?column? 745---------- 746 t 747(1 row) 748 749SELECT <(0d,2d),1.0d> && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 750 ?column? 751---------- 752 t 753(1 row) 754 755SELECT <(2d,0d),1.0d> && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 756 ?column? 757---------- 758 t 759(1 row) 760 761SELECT <(0.5d,0.5d),0.1d> && spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 762 ?column? 763---------- 764 t 765(1 row) 766 767 768--- should be false 769SELECT <(1.5d,0.5d),0.1d> && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 770 ?column? 771---------- 772 f 773(1 row) 774 775SELECT <(0d,88.0d),0.1d> && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 776 ?column? 777---------- 778 f 779(1 row) 780 781SELECT <(0.3d,0.5d),0.1d> && spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ; 782 ?column? 783---------- 784 f 785(1 row) 786 787SELECT <(0d,-87d),0.1d> && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ; 788 ?column? 789---------- 790 f 791(1 row) 792 793 794--- spoly @ spoly 795--- should be true 796SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 797 ?column? 798---------- 799 t 800(1 row) 801 802SELECT spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 803 ?column? 804---------- 805 t 806(1 row) 807 808SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 809 ?column? 810---------- 811 t 812(1 row) 813 814SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 815 ?column? 816---------- 817 t 818(1 row) 819 820SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 821 ?column? 822---------- 823 t 824(1 row) 825 826SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 827 ?column? 828---------- 829 t 830(1 row) 831 832SELECT spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 833 ?column? 834---------- 835 t 836(1 row) 837 838 839--- should be false 840--SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 841SELECT spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 842 ?column? 843---------- 844 f 845(1 row) 846 847SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ; 848 ?column? 849---------- 850 f 851(1 row) 852 853SELECT spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 854 ?column? 855---------- 856 f 857(1 row) 858 859 860SELECT spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 861 ?column? 862---------- 863 f 864(1 row) 865 866 867 868--- spoly ~ spoly 869--- should be true 870SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ; 871 ?column? 872---------- 873 t 874(1 row) 875 876SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} ; 877 ?column? 878---------- 879 t 880(1 row) 881 882SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ; 883 ?column? 884---------- 885 t 886(1 row) 887 888SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ; 889 ?column? 890---------- 891 t 892(1 row) 893 894SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ; 895 ?column? 896---------- 897 t 898(1 row) 899 900SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 901 ?column? 902---------- 903 t 904(1 row) 905 906SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} ; 907 ?column? 908---------- 909 t 910(1 row) 911 912 913--- should be false 914SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} ; 915 ?column? 916---------- 917 f 918(1 row) 919 920SELECT spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 921 ?column? 922---------- 923 f 924(1 row) 925 926SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} ; 927 ?column? 928---------- 929 f 930(1 row) 931 932 933SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} ; 934 ?column? 935---------- 936 f 937(1 row) 938 939 940 941--- spoly && spoly 942--- should be true 943SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 944 ?column? 945---------- 946 t 947(1 row) 948 949SELECT spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 950 ?column? 951---------- 952 t 953(1 row) 954 955SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 956 ?column? 957---------- 958 t 959(1 row) 960 961SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ; 962 ?column? 963---------- 964 t 965(1 row) 966 967SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ; 968 ?column? 969---------- 970 t 971(1 row) 972 973SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 974 ?column? 975---------- 976 t 977(1 row) 978 979SELECT spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 980 ?column? 981---------- 982 t 983(1 row) 984 985 986SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ; 987 ?column? 988---------- 989 t 990(1 row) 991 992SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} ; 993 ?column? 994---------- 995 t 996(1 row) 997 998SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ; 999 ?column? 1000---------- 1001 t 1002(1 row) 1003 1004SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,1d),(1d,0d)} ; 1005 ?column? 1006---------- 1007 t 1008(1 row) 1009 1010SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && spoly {(0d,0d),(0d,1d),(1d,0d)} ; 1011 ?column? 1012---------- 1013 t 1014(1 row) 1015 1016SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 1017 ?column? 1018---------- 1019 t 1020(1 row) 1021 1022SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} ; 1023 ?column? 1024---------- 1025 t 1026(1 row) 1027 1028 1029SELECT spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 1030 ?column? 1031---------- 1032 t 1033(1 row) 1034 1035SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ; 1036 ?column? 1037---------- 1038 t 1039(1 row) 1040 1041SELECT spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 1042 ?column? 1043---------- 1044 t 1045(1 row) 1046 1047 1048--- should be false 1049SELECT spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ; 1050 ?column? 1051---------- 1052 f 1053(1 row) 1054 1055SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} ; 1056 ?column? 1057---------- 1058 f 1059(1 row) 1060 1061SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(3d,-1d),(3d,1d),(5d,1d),(5d,-1d)} ; 1062 ?column? 1063---------- 1064 f 1065(1 row) 1066 1067SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(-1d,3d),(-1d,5d),(1d,5d),(1d,3d)} ; 1068 ?column? 1069---------- 1070 f 1071(1 row) 1072 1073SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(179d,-1d),(179d,1d),(181d,1d),(181d,-1d)} ; 1074 ?column? 1075---------- 1076 f 1077(1 row) 1078 1079 1080