Skip to content

Commit b75e5cf

Browse files
committed
Include tests into git.
1 parent 99ad98c commit b75e5cf

17 files changed

+3965
-2
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
*.o
22
*.so
3-
*.sql
4-
results
3+
/*.sql
4+
/results
55
regression.out
66
regression.diffs

sql/box.sql

Lines changed: 436 additions & 0 deletions
Large diffs are not rendered by default.

sql/circle.sql

Lines changed: 292 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
-- Input/Output ---
2+
3+
SELECT set_sphere_output( 'RAD' );
4+
5+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1.0d >'::scircle;
6+
7+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1d 30m >'::scircle;
8+
9+
SELECT '< (1h 2m 30s , +1d 2m 30s), 0.1 >'::scircle;
10+
11+
SELECT '< (1h 2m 30s , +1d 2m 30s), 90d >'::scircle;
12+
13+
SELECT set_sphere_output( 'DEG' );
14+
15+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1.0d >'::scircle;
16+
17+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1d 30m >'::scircle;
18+
19+
SELECT '< (1h 2m 30s , +1d 2m 30s), 0.1 >'::scircle;
20+
21+
SELECT '< (1h 2m 30s , +1d 2m 30s), 90d >'::scircle;
22+
23+
SELECT set_sphere_output( 'DMS' );
24+
25+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1.0d >'::scircle;
26+
27+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1d 30m >'::scircle;
28+
29+
SELECT '< (1h 2m 30s , +1d 2m 30s), 0.1 >'::scircle;
30+
31+
SELECT '< (1h 2m 30s , +1d 2m 30s), 90d >'::scircle;
32+
33+
SELECT set_sphere_output( 'HMS' );
34+
35+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1.0d >'::scircle;
36+
37+
SELECT '< (1h 2m 30s , +1d 2m 30s), 1d 30m >'::scircle;
38+
39+
SELECT '< (1h 2m 30s , +1d 2m 30s), 0.1 >'::scircle;
40+
41+
SELECT '< (1h 2m 30s , +1d 2m 30s), 90d >'::scircle;
42+
43+
SELECT set_sphere_output( 'DMS' );
44+
45+
46+
47+
-- Functions
48+
49+
50+
-- checking spherical circle operators
51+
52+
SELECT scircle '<(0, 90d),1>' = '<(0, 90d),1>' ;
53+
SELECT scircle '<(0,-90d),1>' <> '<(0, 90d),1>' ;
54+
55+
56+
-- float8 dist(scircle,scircle)
57+
58+
SELECT 180.0*dist('<( 0h 2m 30s , 10d 0m 0s), 0.1d>'::scircle,'<( 0h 2m 30s , -10d 0m 0s),0.1d>'::scircle)/pi();
59+
60+
SELECT 180.0*dist('<( 0h 0m 00s , 0d 0m 0s), 1.0d>'::scircle,'<( 1h 0m 00s , 0d 0m 0s),1.0d>'::scircle)/pi();
61+
62+
SELECT 180.0*dist('<( 23h 30m 00s , 0d 0m 0s), 1.0d>'::scircle,'<( 1h 0m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
63+
64+
SELECT 180.0*dist('<( 0h 40m 00s , 0d 0m 0s), 1.0d>'::scircle,'<( 0h 50m 00s , 0d 0m 0s),1.0d>'::scircle)/pi();
65+
66+
SELECT 180.0*dist('<( 0h 40m 00s , 0d 0m 0s), 1.5d>'::scircle,'<( 0h 50m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
67+
68+
SELECT 180.0*dist('<( 0h 40m 00s , 90d 0m 0s), 1.5d>'::scircle,'<( 0h 50m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
69+
70+
SELECT 180.0*dist('<( 0h 40m 00s , 90d 0m 0s), 1.0d>'::scircle,'<( 0h 50m 00s , -90d 0m 0s),1.0d>'::scircle)/pi();
71+
72+
73+
74+
-- spoint center(scircle)
75+
76+
SELECT center('< (1h 2m 30s , +1d 2m 30s), 1.0d >'::scircle);
77+
78+
SELECT center('< (1h 2m 30s , +90d 0m 0s), 1.0d >'::scircle);
79+
80+
81+
82+
-- scircle scircle(spoint)
83+
84+
SELECT scircle('(0d,0d)'::spoint);
85+
86+
SELECT scircle('(0d,90d)'::spoint);
87+
88+
SELECT scircle('(0d,-90d)'::spoint);
89+
90+
91+
92+
-- Operators
93+
94+
-- = operator
95+
96+
-- should be "true"
97+
98+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle='< (1h 0m 0s,+1d), 1.5d >'::scircle ;
99+
100+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle='< (25h 0m 0s,+1d), 1d 30m >'::scircle ;
101+
102+
SELECT '< (1h 0m 0s,+95d), 1.5d >'::scircle='< (13h 0m 0s,+85d), 1.5d >'::scircle ;
103+
104+
SELECT '< (1h 0m 0s,-95d), 1.5d >'::scircle='< (13h 0m 0s,-85d), 1.5d >'::scircle ;
105+
106+
SELECT '< (1h 0m 0s,+90d), 1.5d >'::scircle='< (2h 0m 0s,+90d), 1.5d >'::scircle ;
107+
108+
SELECT '< (1h 0m 0s,-90d), 1.5d >'::scircle='< (2h 0m 0s,-90d), 1.5d >'::scircle ;
109+
110+
-- should be "false"
111+
112+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle='< (1h 0m 0s,-1d), 1.5d >'::scircle ;
113+
114+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle='< (1h 0m 0s,+1d), 2.5d >'::scircle ;
115+
116+
117+
118+
-- <> operator
119+
120+
-- should be "false"
121+
122+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle <> '< (1h 0m 0s,+1d), 1.5d >'::scircle ;
123+
124+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle <> '< (25h 0m 0s,+1d), 1d 30m >'::scircle ;
125+
126+
SELECT '< (1h 0m 0s,+95d), 1.5d >'::scircle <> '< (13h 0m 0s,+85d), 1.5d >'::scircle ;
127+
128+
SELECT '< (1h 0m 0s,-95d), 1.5d >'::scircle <> '< (13h 0m 0s,-85d), 1.5d >'::scircle ;
129+
130+
SELECT '< (1h 0m 0s,+90d), 1.5d >'::scircle <> '< (2h 0m 0s,+90d), 1.5d >'::scircle ;
131+
132+
SELECT '< (1h 0m 0s,-90d), 1.5d >'::scircle <> '< (2h 0m 0s,-90d), 1.5d >'::scircle ;
133+
134+
-- should be "true"
135+
136+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle <> '< (1h 0m 0s,-1d), 1.5d >'::scircle ;
137+
138+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle <> '< (1h 0m 0s,+1d), 2.5d >'::scircle ;
139+
140+
141+
142+
-- && operator
143+
144+
-- should be "true"
145+
146+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle && '< (1h 0m 0s,+1d), 1.5d >'::scircle;
147+
148+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle && '< (1h 0m 0s,+1d), 0.5d >'::scircle;
149+
150+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle && '< (1h 0m 0s,-1d), 1.5d >'::scircle;
151+
152+
SELECT '< (1h 0m 0s,0d), 15d >'::scircle && '< (0h 0m 0s,0d), 15d >'::scircle;
153+
154+
SELECT '< (2h 0m 0s,0d), 15d >'::scircle && '< (0h 0m 0.1s,0d), 15d >'::scircle;
155+
156+
SELECT '< (1h 0m 0s,0d), 15d >'::scircle && '< (23h 0m 0.1s,0d), 15d >'::scircle;
157+
158+
-- should be "false"
159+
160+
SELECT '< (1h 0m 0s,+1d), 0.5d >'::scircle && '< (1h 0m 0s,-1d), 0.5d >'::scircle;
161+
162+
SELECT '< (1d 0m 0s,+1d), 1.0d >'::scircle && '< (0d 0m 0s,0d), 0.1d >'::scircle;
163+
164+
165+
166+
-- @@ operator
167+
168+
SELECT @@ '< (1h 2m 3s , +1d 2m 3s), 1.0d >'::scircle;
169+
170+
SELECT @@ '< (1h 2m 3s , +90d 0m 0s), 1.0d >'::scircle;
171+
172+
173+
174+
-- <-> operator
175+
176+
SELECT 180.0*('<( 0h 2m 30s , 10d 0m 0s), 0.1d>'::scircle<->'<( 0h 2m 30s , -10d 0m 0s),0.1d>'::scircle)/pi();
177+
178+
SELECT 180.0*('<( 0h 0m 00s , 0d 0m 0s), 1.0d>'::scircle<->'<( 1h 0m 00s , 0d 0m 0s),1.0d>'::scircle)/pi();
179+
180+
SELECT 180.0*('<( 23h 30m 00s , 0d 0m 0s), 1.0d>'::scircle<->'<( 1h 0m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
181+
182+
SELECT 180.0*('<( 0h 40m 00s , 0d 0m 0s), 1.0d>'::scircle<->'<( 0h 50m 00s , 0d 0m 0s),1.0d>'::scircle)/pi();
183+
184+
SELECT 180.0*('<( 0h 40m 00s , 0d 0m 0s), 1.5d>'::scircle<->'<( 0h 50m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
185+
186+
SELECT 180.0*('<( 0h 40m 00s , 90d 0m 0s), 1.5d>'::scircle<->'<( 0h 50m 00s , 0d 0m 0s),1.5d>'::scircle)/pi();
187+
188+
SELECT 180.0*('<( 0h 40m 00s , 90d 0m 0s), 1.0d>'::scircle<->'<( 0h 50m 00s , -90d 0m 0s),1.0d>'::scircle)/pi();
189+
190+
191+
192+
-- scircle @ scircle operator
193+
194+
-- should be "true"
195+
196+
SELECT '< (1h 0m 0s,+1d), 0.5d >'::scircle @ '< (1h 0m 0s,+1d), 1.5d >'::scircle;
197+
198+
SELECT '< (2d 0m 0s,+1d), 0.5d >'::scircle @ '< (1d 0m 0s,0d), 3.5d >'::scircle;
199+
200+
SELECT '< (1h 0m 0s,+89d), 0.5d >'::scircle @ '< (1h 0m 0s,+90d), 1.5d >'::scircle;
201+
202+
SELECT '< (1h 0m 0s,-89d), 0.5d >'::scircle @ '< (1h 0m 0s,-90d), 1.5d >'::scircle;
203+
204+
-- should be "false"
205+
206+
SELECT '< (1h 0m 0s,+1d), 0.5d >'::scircle @ '< (2h 0m 0s,+1d), 1.5d >'::scircle;
207+
208+
SELECT '< (2d 0m 0s,+1d), 1.5d >'::scircle @ '< (0d 0m 0s, 0d), 3.5d >'::scircle;
209+
210+
SELECT '< (1h 0m 0s,+89d), 0.5d >'::scircle @ '< (1h 0m 0s,+90d), 1.0d >'::scircle;
211+
212+
SELECT '< (1h 0m 0s,-89d), 0.5d >'::scircle @ '< (1h 0m 0s,-90d), 1.0d >'::scircle;
213+
214+
215+
216+
-- scircle ~ scircle operator
217+
218+
-- should be "true"
219+
220+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle ~ '< (1h 0m 0s,+1d), 0.5d >'::scircle;
221+
222+
SELECT '< (1d 0m 0s,0d), 3.5d >'::scircle ~ '< (2d 0m 0s,+1d), 0.5d >'::scircle;
223+
224+
SELECT '< (1h 0m 0s,+90d), 1.5d >'::scircle ~ '< (1h 0m 0s,+89d), 0.5d >'::scircle;
225+
226+
SELECT '< (1h 0m 0s,-90d), 1.5d >'::scircle ~ '< (1h 0m 0s,-89d), 0.5d >'::scircle;
227+
228+
-- should be "false"
229+
230+
SELECT '< (2h 0m 0s,+1d), 1.5d >'::scircle ~ '< (1h 0m 0s,+1d), 0.5d >'::scircle;
231+
232+
SELECT '< (0d 0m 0s, 0d), 3.5d >'::scircle ~ '< (2d 0m 0s,+1d), 1.5d >'::scircle;
233+
234+
SELECT '< (1h 0m 0s,+90d), 1.0d >'::scircle ~ '< (1h 0m 0s,+89d), 0.5d >'::scircle;
235+
236+
SELECT '< (1h 0m 0s,-90d), 1.0d >'::scircle ~ '< (1h 0m 0s,-89d), 0.5d >'::scircle;
237+
238+
239+
240+
-- spoint @ scircle operator
241+
242+
-- should be "true"
243+
244+
SELECT '(1h 0m 0s,+1d) '::spoint @ '< (1h 0m 0s,+1d), 1.5d >'::scircle;
245+
246+
SELECT '(2d 0m 0s,+1d) '::spoint @ '< (1d 0m 0s, 0d), 3.5d >'::scircle;
247+
248+
SELECT '(1h 0m 0s,+89d)'::spoint @ '< (1h 0m 0s,+90d), 1.5d >'::scircle;
249+
250+
SELECT '(1h 0m 0s,-89d)'::spoint @ '< (1h 0m 0s,-90d), 1.5d >'::scircle;
251+
252+
SELECT '(1h 0m 0s,+89d)'::spoint @ '< (1h 0m 0s,+90d), 1.0d >'::scircle;
253+
254+
SELECT '(1h 0m 0s,-89d)'::spoint @ '< (1h 0m 0s,-90d), 1.0d >'::scircle;
255+
256+
-- should be "false"
257+
258+
SELECT '(1h 0m 0s,+1d )'::spoint @ '< (2h 0m 0s,-1d), 1.5d >'::scircle;
259+
260+
SELECT '(3d 30m 0s,+1d )'::spoint @ '< (0d 0m 0s, 0d), 3.5d >'::scircle;
261+
262+
SELECT '(1h 0m 0s,+88.99d)'::spoint @ '< (1h 0m 0s,+90d), 1.0d >'::scircle;
263+
264+
SELECT '(1h 0m 0s,-88.99d)'::spoint @ '< (1h 0m 0s,-90d), 1.0d >'::scircle;
265+
266+
267+
268+
-- spoint ~ scircle operator
269+
270+
-- should be "true"
271+
272+
SELECT '< (1h 0m 0s,+1d), 1.5d >'::scircle ~ '(1h 0m 0s,+1d) '::spoint;
273+
274+
SELECT '< (1d 0m 0s, 0d), 3.5d >'::scircle ~ '(2d 0m 0s,+1d) '::spoint;
275+
276+
SELECT '< (1h 0m 0s,+90d), 1.5d >'::scircle ~ '(1h 0m 0s,+89d)'::spoint;
277+
278+
SELECT '< (1h 0m 0s,-90d), 1.5d >'::scircle ~ '(1h 0m 0s,-89d)'::spoint;
279+
280+
SELECT '< (1h 0m 0s,+90d), 1.0d >'::scircle ~ '(1h 0m 0s,+89d)'::spoint;
281+
282+
SELECT '< (1h 0m 0s,-90d), 1.0d >'::scircle ~ '(1h 0m 0s,-89d)'::spoint;
283+
284+
-- should be "false"
285+
286+
SELECT '< (2h 0m 0s,-1d), 1.5d >'::scircle ~ '(1h 0m 0s,+1d )'::spoint;
287+
288+
SELECT '< (0d 0m 0s, 0d), 3.5d >'::scircle ~ '(3d 30m 0s,+1d )'::spoint;
289+
290+
SELECT '< (1h 0m 0s,+90d), 1.0d >'::scircle ~ '(1h 0m 0s,+88.99d)'::spoint;
291+
292+
SELECT '< (1h 0m 0s,-90d), 1.0d >'::scircle ~ '(1h 0m 0s,-88.99d)'::spoint;

0 commit comments

Comments
 (0)