]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/geometry/test/formulas/intersection_cases.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / geometry / test / formulas / intersection_cases.hpp
1 // Boost.Geometry
2 // Unit Test
3
4 // Copyright (c) 2016 Oracle and/or its affiliates.
5
6 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
7
8 // Use, modification and distribution is subject to the Boost Software License,
9 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
10 // http://www.boost.org/LICENSE_1_0.txt)
11
12 #ifndef BOOST_GEOMETRY_TEST_INTERSECTION_CASES_HPP
13 #define BOOST_GEOMETRY_TEST_INTERSECTION_CASES_HPP
14
15 struct coordinates
16 {
17 double lon;
18 double lat;
19 };
20
21 struct expected_result
22 {
23 double lon;
24 double lat;
25 };
26
27 struct expected_results
28 {
29 coordinates p1;
30 coordinates p2;
31 coordinates q1;
32 coordinates q2;
33 expected_result gnomonic_vincenty;
34 expected_result gnomonic_thomas;
35 expected_result sjoberg_vincenty;
36 expected_result sjoberg_thomas;
37 expected_result sjoberg_andoyer;
38 expected_result great_elliptic;
39 };
40
41 #define ND 1000
42
43 expected_results expected[] =
44 {
45 {
46 { -1, -1 },{ 1, 1 },
47 { -1, 1 },{ 1, -1 },
48 { 0.0000000000000000, 0.0000000000000000 },
49 { 0.0000000000000000, 0.0000000000000000 },
50 { 0.0000000000626537, -0.0000000000000000 },
51 { -0.0000000187861002, -0.0000000000000000 },
52 { -0.0000055778585615, -0.0000000000000000 },
53 { -0.0000000000000000, -0.0000000000000000 }
54 },{
55 { 1, 1 },{ -1, -1 },
56 { -1, 1 },{ 1, -1 },
57 { 0.0000000000000000, 0.0000000000000000 },
58 { 0.0000000000000000, 0.0000000000000000 },
59 { 0.0000000000000000, 0.0000000000626632 },
60 { -0.0000000000000006, -0.0000000187889745 },
61 { -0.0000000000000001, -0.0000055787431353 },
62 { -0.0000000000000000, 0.0000000000000000 }
63 },{
64 { -1, -1 },{ 1, 1 },
65 { 1, -1 },{ -1, 1 },
66 { 0.0000000000000000, 0.0000000000000000 },
67 { 0.0000000000000000, 0.0000000000000000 },
68 { -0.0000000000000000, -0.0000000000626632 },
69 { -0.0000000000000004, 0.0000000187889746 },
70 { 0.0000000000000001, 0.0000055787431353 },
71 { 0.0000000000000000, 0.0000000000000000 }
72 },{
73 { 1, 1 },{ -1, -1 },
74 { 1, -1 },{ -1, 1 },
75 { 0.0000000000000000, 0.0000000000000000 },
76 { 0.0000000000000000, 0.0000000000000000 },
77 { -0.0000000000626537, -0.0000000000000000 },
78 { 0.0000000187860994, 0.0000000000000001 },
79 { 0.0000055778585615, -0.0000000000000000 },
80 { -0.0000000000000000, 0.0000000000000000 }
81 },{
82 { 0, 0 },{ 1, 1 },
83 { 0, 1 },{ 1, 0 },
84 { 0.5000000000000000, 0.5000573755188470 },
85 { 0.5000000000000000, 0.5000573755109839 },
86 { 0.5000000000313266, 0.5000573755188389 },
87 { 0.4999999906069524, 0.5000573755152582 },
88 { 0.4999972102164753, 0.5000573755151276 },
89 { 0.4999999999999999, 0.5000571197534014 }
90 },{
91 { 1, 1 },{ 0, 0 },
92 { 0, 1 },{ 1, 0 },
93 { 0.5000000000000000, 0.5000573755188470 },
94 { 0.5000000000000000, 0.5000573755109839 },
95 { 0.5000000000000000, 0.5000573755501669 },
96 { 0.4999999999999996, 0.5000573661218464 },
97 { 0.4999999999999999, 0.5000545856093679 },
98 { 0.4999999999999999, 0.5000571197534014 }
99 },{
100 { 0, 0 },{ 1, 1 },
101 { 1, 0 },{ 0, 1 },
102 { 0.5000000000000000, 0.5000573755188470 },
103 { 0.5000000000000000, 0.5000573755109839 },
104 { 0.4999999999999999, 0.5000573754875109 },
105 { 0.4999999999999999, 0.5000573849086647 },
106 { 0.5000000000000000, 0.5000601654208935 },
107 { 0.4999999999999999, 0.5000571197534014 }
108 },{
109 { 1, 1 },{ 0, 0 },
110 { 1, 0 },{ 0, 1 },
111 { 0.5000000000000000, 0.5000573755188470 },
112 { 0.5000000000000000, 0.5000573755109839 },
113 { 0.4999999999686731, 0.5000573755188389 },
114 { 0.5000000093930521, 0.5000573755152582 },
115 { 0.5000027897835244, 0.5000573755151276 },
116 { 0.4999999999999999, 0.5000571197534014 }
117 },{
118 { 1, 1 }, {2, 2},
119 {-2, -1}, {-1, -1},
120 { ND, ND },
121 { ND, ND },
122 { -0.9981650042162076, -0.999999718164758 },
123 { ND, ND },
124 { ND, ND },
125 { -0.9981731758085121, -0.9999997213000095 }
126 },{
127 {-25, -31}, {3, 44},
128 {-66, -14}, {-1, -1},
129 { ND, ND },
130 { ND, ND },
131 { -15.83269406235058, -4.87746450262433 },
132 { ND, ND },
133 { ND, ND },
134 { -15.82846301029918, -4.869650527718342 }
135 },{
136 {-47, -8}, {-1, -4},
137 {-40, -5}, {-5, -5},
138 { ND, ND },
139 { ND, ND },
140 { -10.28209064194141, -5.124101297536392 },
141 { ND, ND },
142 { ND, ND },
143 { -10.29663941896089, -5.123527178300465 }
144 }, {
145 {-43, -8}, {3, -4},
146 {-43, -5}, {3, -7},
147 { ND, ND },
148 { ND, ND },
149 { -19.95519754153282, -6.521540589691206 },
150 { ND, ND },
151 { ND, ND },
152 { -19.95535387979888, -6.517861579906892 }
153 }, {
154 {-1, -17}, {-5, 3},
155 {-40, -5}, {-1, -5},
156 { ND, ND },
157 { ND, ND },
158 { -3.424525475838061, -5.070550173747042 },
159 { ND, ND },
160 { ND, ND },
161 { -3.424493504575876, -5.070060631936228 }
162 }, {
163 {-29, -4}, {-1, -5},
164 {-40, -5}, {-1, -5},
165 { ND, ND },
166 { ND, ND },
167 { -0.9999999978280006, -5.00000000000684 },
168 { ND, ND },
169 { ND, ND },
170 { -0.9999999999999919, -5 }
171 }, {
172 {-4, -6}, {-40, -5},
173 {-40, -5}, {-1, -5},
174 { ND, ND },
175 { ND, ND },
176 { -40.00000000470697, -4.999999999854269 },
177 { ND, ND },
178 { ND, ND },
179 { -40.00000000000003, -4.999999999999998 }
180 }, {
181 {5, -4}, {-25, -5},
182 {-40, -5}, {-1, -5},
183 { ND, ND },
184 { ND, ND },
185 { -40.04870859732954, -4.998490166905039 },
186 { ND, ND },
187 { ND, ND },
188 { -39.87674154148858, -5.003778171392734 }
189 }, {
190 {-44, -1}, {38, -7},
191 {-54, -10}, {27, 3},
192 { ND, ND },
193 { ND, ND },
194 { -12.49994722584679, -4.492062263169279 },
195 { ND, ND },
196 { ND, ND },
197 { -12.49786552878283, -4.48224349980724 }
198 }, {
199 {-29, -5}, {10, -5},
200 {-40, -5}, {-1, -5},
201 { ND, ND },
202 { ND, ND },
203 { -14.99999999880286, -5.280237387890117 },
204 { ND, ND },
205 { ND, ND },
206 { -14.99999999999999, -5.278284829442087 }
207 }, {
208 {-29, -5}, {7, -5},
209 {-40, -5}, {-1, -5},
210 { ND, ND },
211 { ND, ND },
212 { -12.68814198534678, -5.255404335144863 },
213 { ND, ND },
214 { ND, ND },
215 { -12.68883814704657, -5.253634733357015 }
216 }, {
217 {-29, -5}, {2, -5},
218 {-40, -5}, {-1, -5},
219 { ND, ND },
220 { ND, ND },
221 { -6.793546728871506, -5.153444544719724 },
222 { ND, ND },
223 { ND, ND },
224 { -6.794933162619669, -5.152409434095275 }
225 }, {
226 {-29, -5}, {2, -5},
227 {-30, -5}, {-1, -5},
228 { ND, ND },
229 { ND, ND },
230 { -22.13104411461423, -5.130155316882458 },
231 { ND, ND },
232 { ND, ND },
233 { -22.13016591567375, -5.129277412801533 }
234 }, {
235 {-29, -5}, {2, -5},
236 {-32, -5}, {-1, -5},
237 { ND, ND },
238 { ND, ND },
239 { -14.99999999908104, -5.187213913248173 },
240 { ND, ND },
241 { ND, ND },
242 { -15.00000000000009, -5.185931965560752 }
243 }, {
244 {-92, -24}, {44, 19},
245 {-78, -5}, {50, -5},
246 { ND, ND },
247 { ND, ND },
248 { -31.65127861442256, -10.84411293410938 },
249 { ND, ND },
250 { ND, ND },
251 { -31.65294079308247, -10.76785432928444 }
252 }, {
253 {-93, -15}, {22, 3},
254 {-78, -5}, {50, -5},
255 { ND, ND },
256 { ND, ND },
257 { -32.33383382062637, -10.80295061031259 },
258 { ND, ND },
259 { ND, ND },
260 { -32.26069578187354, -10.73176059393484 }
261 }, {
262 {-93, -15}, {28, 3},
263 {-78, -5}, {50, -5},
264 { ND, ND },
265 { ND, ND },
266 { -25.71257598566304, -11.13752154787724 },
267 { ND, ND },
268 { ND, ND },
269 { -25.67761999514295, -11.05881610957402 }
270 }, {
271 {-54, -21}, {20, 17},
272 {-59, -5}, {13, -5},
273 { ND, ND },
274 { ND, ND },
275 { -22.96397490169162, -6.181426780426698 },
276 { ND, ND },
277 { ND, ND },
278 { -22.95999443662035, -6.172089364736989 }
279 }, {
280 {-31, -10}, {-31, -2},
281 {-37, -10}, {-25, -2},
282 { ND, ND },
283 { ND, ND },
284 { -31.00000000000001, -6.062729839503469 },
285 { ND, ND },
286 { ND, ND },
287 { -31, -6.062411484514648 }
288 }, {
289 {-26, -10}, {-26, 13},
290 {-37, -4}, {-18, -4},
291 { ND, ND },
292 { ND, ND },
293 { -25.99999999999969, -4.05441766735837 },
294 { ND, ND },
295 { ND, ND },
296 { -26, -4.05405101510235 }
297 }, {
298 {-26, -10}, {154, 78},
299 {-46, 41}, {-13, 36},
300 { ND, ND },
301 { ND, ND },
302 { -26, 39.19492836828103 },
303 { ND, ND },
304 { ND, ND },
305 { -26, 39.19004133747198 }
306 }, {
307 {-26, -10}, {154, 68},
308 {-85, 79}, {22, 80},
309 { ND, ND },
310 { ND, ND },
311 { -26.00000000000013, 83.7164889918963 },
312 { ND, ND },
313 { ND, ND },
314 { -26.00000000000002, 83.71603758698208 }
315 }, {
316 {-25, 55}, {155, 68},
317 {178, 79}, {124, 80},
318 { ND, ND },
319 { ND, ND },
320 { 155, 80.55982670305147 },
321 { ND, ND },
322 { ND, ND },
323 { 155, 80.55961176607357 }
324 }
325 };
326
327 size_t const expected_size = sizeof(expected) / sizeof(expected_results);
328
329 #endif // BOOST_GEOMETRY_TEST_INTERSECTION_CASES_HPP