1\set ECHO none
2SELECT set_sphere_output_precision(8);
3\set ECHO all
4
5-- ellipse tests
6
7--equal operator
8SELECT sellipse '<{0d,0d},(170d,-12d),0d>' = sellipse '<{0d,0d},(170d,-12d),0d>';
9SELECT sellipse '<{0d,0d},(170d,-12d),0d>' = sellipse '<{0d,0d},(170d,-12d),-2d>';
10SELECT sellipse '<{5d,5d},(170d,-12d),0d>' = sellipse '<{5d,5d},(170d,-12d),-2d>';
11SELECT sellipse '<{5d,2d},(170d,-12d),0d>' = sellipse '<{5d,2d},(170d,-12d),-2d>';
12
13-- not equal
14SELECT sellipse '<{5d,2d},(170d,-12d),0d>' != sellipse '<{5d,2d},(170d,-12d),-2d>';
15SELECT sellipse '<{5d,2d},(170d,-12d),0d>' != sellipse '<{5d,2d},(170d,-12d), 0d>';
16SELECT sellipse '<{10d, 5d},(300d,0d),  0d>' = sellipse '<{10d,5d},(300d,0d), 180d>' ;
17SELECT sellipse '<{10d, 5d},(300d,0d), 90d>' = sellipse '<{10d,5d},(300d,0d), 270d>' ;
18
19-- ellipse and point
20SELECT spoint '(280d,-20d)'   @  sellipse '<{10d,5d},(280d,-20d),90d>';
21SELECT spoint '(280d,-10d)'   @  sellipse '<{10d,5d},(280d,-20d),90d>';
22SELECT spoint '(280d,-9.9d)'  @  sellipse '<{10d,5d},(280d,-20d),90d>';
23SELECT sellipse '<{10d,5d},(280d,-20d),90d>' ~ spoint '(280d,-10d)' ;
24SELECT sellipse '<{10d,5d},(280d,-20d),90d>' ~ spoint '(280d, -9d)' ;
25SELECT spoint '(280d,-10d)'   !@  sellipse '<{10d,5d},(280d,-20d),90d>';
26SELECT spoint '(280d,-9.9d)'  !@  sellipse '<{10d,5d},(280d,-20d),90d>';
27SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !~ spoint '(280d,-10d)' ;
28SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !~ spoint '(280d, -9d)' ;
29SELECT spoint '(0d, 90d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
30SELECT spoint '(0d, -90d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
31SELECT spoint '(0d, 0d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
32SELECT spoint '(90d, 0d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
33SELECT spoint '(180d, 0d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
34SELECT spoint '(270d, 0d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
35SELECT spoint '(9d, 0d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
36SELECT spoint '(0d, 9d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
37SELECT spoint '(0d, 4d)' @ sellipse '<{10d,5d},(0d,0d),0d>' ;
38
39--
40--ellipse and circle (@,&&)
41--
42-- negators and commutators
43
44SELECT scircle '<(280d,-10d),0d>'   @  sellipse '<{10d,5d},(280d,-20d),90d>';
45SELECT scircle '<(280d, -9d),0d>'   @  sellipse '<{10d,5d},(280d,-20d),90d>';
46SELECT scircle '<(280d,-10d),0d>'   !@  sellipse '<{10d,5d},(280d,-20d),90d>';
47SELECT scircle '<(280d, -9d),0d>'   !@  sellipse '<{10d,5d},(280d,-20d),90d>';
48SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  ~ scircle '<(280d,-10d),0d>';
49SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  ~ scircle '<(280d, -9d),0d>';
50SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !~ scircle '<(280d,-10d),0d>';
51SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !~ scircle '<(280d, -9d),0d>';
52SELECT scircle '<(280d,-10d),2d>'   &&  sellipse '<{10d,5d},(280d,-20d),90d>';
53SELECT scircle '<(280d,  0d),2d>'   &&  sellipse '<{10d,5d},(280d,-20d),90d>';
54SELECT scircle '<(280d,-10d),2d>'  !&&  sellipse '<{10d,5d},(280d,-20d),90d>';
55SELECT scircle '<(280d,  0d),2d>'  !&&  sellipse '<{10d,5d},(280d,-20d),90d>';
56SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  && scircle '<(280d,-10d),2d>' ;
57SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  && scircle '<(280d,  0d),2d>' ;
58SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !&& scircle '<(280d,-10d),2d>' ;
59SELECT sellipse '<{10d,5d},(280d,-20d),90d>' !&& scircle '<(280d,  0d),2d>' ;
60SELECT scircle '<(280d,-10d),0d>'   &&  sellipse '<{10d,5d},(280d,-20d),90d>';
61
62-- ellipse is circle
63SELECT scircle '<(280d,-10d),2d>'   @  sellipse '<{5d,5d},(280d,-20d),90d>';
64SELECT scircle '<(280d,-18d),2d>'   @  sellipse '<{5d,5d},(280d,-20d),90d>';
65SELECT scircle '<(280d,-16d),2d>'   @  sellipse '<{5d,5d},(280d,-20d),90d>';
66SELECT scircle '<(280d,-18d),15d>'  @  sellipse '<{5d,5d},(280d,-20d),90d>';
67SELECT sellipse '<{5d,5d},(280d,-20d),90d>' @  scircle '<(280d,-10d),2d>'  ;
68SELECT sellipse '<{5d,5d},(280d,-20d),90d>' @  scircle '<(280d,-18d),2d>'  ;
69SELECT sellipse '<{5d,5d},(280d,-20d),90d>' @  scircle '<(280d,-16d),2d>'  ;
70SELECT sellipse '<{5d,5d},(280d,-20d),90d>' @  scircle '<(280d,-18d),15d>' ;
71SELECT scircle '<(280d,-10d),2d>'  &&  sellipse '<{5d,5d},(280d,-20d),90d>';
72SELECT scircle '<(280d,-18d),2d>'  &&  sellipse '<{5d,5d},(280d,-20d),90d>';
73SELECT scircle '<(280d,-16d),2d>'  &&  sellipse '<{5d,5d},(280d,-20d),90d>';
74
75-- ellipse is line
76SELECT scircle '<(280d,-10d),0d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
77SELECT scircle '<(280d,-18d),0d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
78SELECT scircle '<(280d,-16d),0d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
79SELECT scircle '<(280d,-18d),15d>'  @  sellipse '<{5d,0d},(280d,-20d),90d>';
80SELECT scircle '<(280d,-10d),0d>'  &&  sellipse '<{5d,0d},(280d,-20d),90d>';
81SELECT scircle '<(280d,-18d),0d>'  &&  sellipse '<{5d,0d},(280d,-20d),90d>';
82SELECT scircle '<(280d,-10d),2d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
83SELECT scircle '<(280d,-18d),2d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
84SELECT scircle '<(280d,-16d),2d>'   @  sellipse '<{5d,0d},(280d,-20d),90d>';
85SELECT scircle '<(280d,-10d),2d>'  &&  sellipse '<{5d,0d},(280d,-20d),90d>';
86SELECT scircle '<(280d,-18d),2d>'  &&  sellipse '<{5d,0d},(280d,-20d),90d>';
87SELECT sellipse '<{5d,0d},(280d,-20d),90d>' @ scircle '<(280d,-18d),15d>'  ;
88
89--
90--ellipse and line (@,&&)
91--
92-- negators and commutators
93
94SELECT sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' )   @  sellipse '<{10d,5d},(280d,-20d),90d>';
95SELECT sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' )   @  sellipse '<{10d,5d},(280d,-20d),90d>';
96SELECT sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' )   @  sellipse '<{10d,5d},(280d,-20d),90d>';
97SELECT sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' )  &&  sellipse '<{10d,5d},(280d,-20d),90d>';
98SELECT sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' )  &&  sellipse '<{10d,5d},(280d,-20d),90d>';
99SELECT sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' )  &&  sellipse '<{10d,5d},(280d,-20d),90d>';
100SELECT sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' )  !@  sellipse '<{10d,5d},(280d,-20d),90d>';
101SELECT sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' )  !@  sellipse '<{10d,5d},(280d,-20d),90d>';
102SELECT sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' )  !@  sellipse '<{10d,5d},(280d,-20d),90d>';
103SELECT sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' ) !&&  sellipse '<{10d,5d},(280d,-20d),90d>';
104SELECT sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' ) !&&  sellipse '<{10d,5d},(280d,-20d),90d>';
105SELECT sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' ) !&&  sellipse '<{10d,5d},(280d,-20d),90d>';
106SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   ~  sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' );
107SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   ~  sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' );
108SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   ~  sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' );
109SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   &&  sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' );
110SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   &&  sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' );
111SELECT sellipse '<{10d,5d},(280d,-20d),90d>'   &&  sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' );
112SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !~  sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' );
113SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !~  sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' );
114SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !~  sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' );
115SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !&&  sline ( spoint '(280d, -9d)', spoint '(280d, -8d)' );
116SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !&&  sline ( spoint '(280d, -9d)', spoint '(280d,-12d)' );
117SELECT sellipse '<{10d,5d},(280d,-20d),90d>'  !&&  sline ( spoint '(280d,-11d)', spoint '(280d,-12d)' );
118
119-- line is point , ellipse is point
120SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{0d,0d},(280d,-20d),90d>';
121SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{0d,0d},(280d, -8d),90d>';
122SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{0d,0d},(280d,-20d),90d>';
123SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{0d,0d},(280d, -8d),90d>';
124-- line is point , ellipse is circle
125SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{5d,5d},(280d,-20d),90d>';
126SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{5d,5d},(280d, -8d),90d>';
127SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{5d,5d},(280d,-20d),90d>';
128SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{5d,5d},(280d, -8d),90d>';
129-- line is point , ellipse is a real ellipse
130SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{10d,5d},(280d,-20d),90d>';
131SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )   @  sellipse '<{10d,5d},(280d, -8d),90d>';
132SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{10d,5d},(280d,-20d),90d>';
133SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -8d)' )  &&  sellipse '<{10d,5d},(280d, -8d),90d>';
134-- line is a real line , ellipse is point
135SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{0d,0d},(280d,-20d),90d>';
136SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{0d,0d},(280d, -8d),90d>';
137SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{0d,0d},(280d,-20d),90d>';
138SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{0d,0d},(280d, -8d),90d>';
139-- line is a real line , ellipse is circle
140SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{5d,5d},(280d,-20d),90d>';
141SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{5d,5d},(280d, -8d),90d>';
142SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{5d,5d},(280d,-20d),90d>';
143SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{5d,5d},(280d, -8d),90d>';
144-- line is a real line , ellipse is line
145SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{5d,0d},(280d,-20d),90d>';
146SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{5d,0d},(280d, -8d),90d>';
147SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{5d,0d},(280d,-20d),90d>';
148SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{5d,0d},(280d, -8d),90d>';
149-- line is a real line , ellipse is a real ellipse
150SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{10d,5d},(280d,-20d),90d>';
151SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )   @  sellipse '<{10d,5d},(280d, -8d),90d>';
152SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{10d,5d},(280d,-20d),90d>';
153SELECT sline ( spoint '(280d, -8d)', spoint '(280d, -9d)' )  &&  sellipse '<{10d,5d},(280d, -8d),90d>';
154
155
156--
157-- ellipse and ellipse
158--
159
160-- check @
161SELECT sellipse '<{10d, 5d},(300d,0d),  0d>' @ sellipse '<{10d,5d},(300d,0d),0d>';
162SELECT sellipse '<{10d, 5d},(300d,0d), 90d>' @ sellipse '<{10d,5d},(300d,0d),0d>';
163SELECT sellipse '<{10d, 5d},(300d,0d),180d>' @ sellipse '<{10d,5d},(300d,0d),0d>';
164SELECT sellipse '<{10d, 5d},(300d,0d),270d>' @ sellipse '<{10d,5d},(300d,0d),0d>';
165SELECT sellipse '<{ 2d, 1d},( 52d,6d),  0d>' @ sellipse '<{10d,5d},(50d,5d),45d>';
166
167-- negators , commutator @,&&
168SELECT sellipse '<{ 2d, 1d},( 52d,6d),  0d>'   @ sellipse '<{10d,5d},(50d,5d),45d>';
169SELECT sellipse '<{10d, 5d},( 52d,6d),  0d>'   @ sellipse '<{10d,5d},(50d,5d),45d>';
170SELECT sellipse '<{10d, 5d},( 90d,9d),  0d>'   @ sellipse '<{10d,5d},(50d,5d),45d>';
171SELECT sellipse '<{ 2d, 1d},( 52d,6d),  0d>'  && sellipse '<{10d,5d},(50d,5d),45d>';
172SELECT sellipse '<{10d, 5d},( 52d,6d),  0d>'  && sellipse '<{10d,5d},(50d,5d),45d>';
173SELECT sellipse '<{10d, 5d},( 90d,9d),  0d>'  && sellipse '<{10d,5d},(50d,5d),45d>';
174SELECT sellipse '<{ 2d, 1d},( 52d,6d),  0d>'  !@ sellipse '<{10d,5d},(50d,5d),45d>';
175SELECT sellipse '<{10d, 5d},( 52d,6d),  0d>'  !@ sellipse '<{10d,5d},(50d,5d),45d>';
176SELECT sellipse '<{10d, 5d},( 90d,9d),  0d>'  !@ sellipse '<{10d,5d},(50d,5d),45d>';
177SELECT sellipse '<{ 2d, 1d},( 52d,6d),  0d>' !&& sellipse '<{10d,5d},(50d,5d),45d>';
178SELECT sellipse '<{10d, 5d},( 52d,6d),  0d>' !&& sellipse '<{10d,5d},(50d,5d),45d>';
179SELECT sellipse '<{10d, 5d},( 90d,9d),  0d>' !&& sellipse '<{10d,5d},(50d,5d),45d>';
180SELECT sellipse '<{10d,5d},(50d,5d),45d>'  ~ sellipse '<{ 2d, 1d},( 52d,6d),  0d>';
181SELECT sellipse '<{10d,5d},(50d,5d),45d>'  ~ sellipse '<{10d, 5d},( 52d,6d),  0d>';
182SELECT sellipse '<{10d,5d},(50d,5d),45d>'  ~ sellipse '<{10d, 5d},( 90d,9d),  0d>';
183SELECT sellipse '<{10d,5d},(50d,5d),45d>'  && sellipse '<{ 2d, 1d},( 52d,6d),  0d>';
184SELECT sellipse '<{10d,5d},(50d,5d),45d>'  && sellipse '<{10d, 5d},( 52d,6d),  0d>';
185SELECT sellipse '<{10d,5d},(50d,5d),45d>'  && sellipse '<{10d, 5d},( 90d,9d),  0d>';
186SELECT sellipse '<{10d,5d},(50d,5d),45d>' !~ sellipse '<{ 2d, 1d},( 52d,6d),  0d>';
187SELECT sellipse '<{10d,5d},(50d,5d),45d>' !~ sellipse '<{10d, 5d},( 52d,6d),  0d>';
188SELECT sellipse '<{10d,5d},(50d,5d),45d>' !~ sellipse '<{10d, 5d},( 90d,9d),  0d>';
189SELECT sellipse '<{10d,5d},(50d,5d),45d>' !&& sellipse '<{ 2d, 1d},( 52d,6d),  0d>';
190SELECT sellipse '<{10d,5d},(50d,5d),45d>' !&& sellipse '<{10d, 5d},( 52d,6d),  0d>';
191SELECT sellipse '<{10d,5d},(50d,5d),45d>' !&& sellipse '<{10d, 5d},( 90d,9d),  0d>';
192
193-- left ellipse is point         right ellipse is point
194SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'   @ sellipse '<{0d,0d},(50d,-5d),45d>';
195SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'   @ sellipse '<{0d,0d},(50d,-5d),45d>';
196SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'  && sellipse '<{0d,0d},(50d,-5d),45d>';
197SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'  && sellipse '<{0d,0d},(50d,-5d),45d>';
198
199-- left ellipse is line          right ellipse is point
200SELECT sellipse '<{ 5d, 0d},( 50d, -2d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
201SELECT sellipse '<{ 5d, 0d},( 50d,-12d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
202SELECT sellipse '<{ 5d, 0d},( 50d, -2d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
203SELECT sellipse '<{ 5d, 0d},( 50d,-12d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
204
205-- left ellipse is circle        right ellipse is point
206SELECT sellipse '<{ 5d, 5d},( 50d, -2d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
207SELECT sellipse '<{ 5d, 5d},( 50d,-12d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
208SELECT sellipse '<{ 5d, 5d},( 50d, -2d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
209SELECT sellipse '<{ 5d, 5d},( 50d,-12d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
210
211-- left ellipse is real ellipse  right ellipse is point
212SELECT sellipse '<{ 5d, 3d},( 50d, -2d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
213SELECT sellipse '<{ 5d, 3d},( 50d,-12d), 90d>'   @ sellipse '<{0d,0d},(50d,-5d),0d>';
214SELECT sellipse '<{ 5d, 3d},( 50d, -2d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
215SELECT sellipse '<{ 5d, 3d},( 50d,-12d), 90d>'  && sellipse '<{0d,0d},(50d,-5d),0d>';
216
217-- left ellipse is point         right ellipse is line
218SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
219SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
220SELECT sellipse '<{ 0d, 0d},( 50d, 6d),  0d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
221SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
222SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
223SELECT sellipse '<{ 0d, 0d},( 50d, 6d),  0d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
224
225-- left ellipse is line         right ellipse is line
226SELECT sellipse '<{ 3d, 0d},( 50d,-5d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
227SELECT sellipse '<{ 3d, 0d},( 50d,-8d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
228SELECT sellipse '<{ 3d, 0d},( 50d,-6d),  0d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
229SELECT sellipse '<{ 3d, 0d},( 50d, 6d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
230SELECT sellipse '<{ 3d, 0d},( 50d,-5d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
231SELECT sellipse '<{ 3d, 0d},( 50d,-8d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
232SELECT sellipse '<{ 3d, 0d},( 50d,-6d),  0d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
233SELECT sellipse '<{ 3d, 0d},( 50d, 6d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
234
235-- left ellipse is circle         right ellipse is line
236SELECT sellipse '<{ 3d, 3d},( 50d,-5d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
237SELECT sellipse '<{ 3d, 3d},( 50d,-8d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
238SELECT sellipse '<{ 3d, 3d},( 50d,-6d),  0d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
239SELECT sellipse '<{ 3d, 3d},( 50d, 6d), 90d>'   @ sellipse '<{5d,0d},(50d,-5d),90d>';
240SELECT sellipse '<{ 3d, 3d},( 50d,-5d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
241SELECT sellipse '<{ 3d, 3d},( 50d,-8d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
242SELECT sellipse '<{ 3d, 3d},( 50d,-6d),  0d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
243SELECT sellipse '<{ 3d, 3d},( 50d, 6d), 90d>'  && sellipse '<{5d,0d},(50d,-5d),90d>';
244
245-- left ellipse is point         right ellipse is circle
246SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
247SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
248SELECT sellipse '<{ 0d, 0d},( 50d, 6d),  0d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
249SELECT sellipse '<{ 0d, 0d},( 50d,-5d),  0d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
250SELECT sellipse '<{ 0d, 0d},( 50d,-6d),  0d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
251SELECT sellipse '<{ 0d, 0d},( 50d, 6d),  0d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
252
253-- left ellipse is line         right ellipse is circle
254SELECT sellipse '<{ 5d, 0d},( 50d,-5d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
255SELECT sellipse '<{ 5d, 0d},( 50d,-6d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
256SELECT sellipse '<{ 5d, 0d},( 50d, 6d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
257SELECT sellipse '<{ 5d, 0d},( 50d,-5d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
258SELECT sellipse '<{ 5d, 0d},( 50d,-6d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
259SELECT sellipse '<{ 5d, 0d},( 50d, 6d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
260
261-- left ellipse is circle       right ellipse is circle
262SELECT sellipse '<{ 3d, 3d},( 50d,-4d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
263SELECT sellipse '<{ 5d, 5d},( 50d,-5d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
264SELECT sellipse '<{ 5d, 5d},( 50d,-6d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
265SELECT sellipse '<{ 5d, 5d},( 50d, 6d), 90d>'   @ sellipse '<{5d,5d},(50d,-5d),90d>';
266SELECT sellipse '<{ 3d, 3d},( 50d,-4d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
267SELECT sellipse '<{ 5d, 5d},( 50d,-5d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
268SELECT sellipse '<{ 5d, 5d},( 50d,-6d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
269SELECT sellipse '<{ 5d, 5d},( 50d, 6d), 90d>'  && sellipse '<{5d,5d},(50d,-5d),90d>';
270
271