@@ -318,11 +318,37 @@ SELECT spoly '{(10d,0d),(10d,1d),(15d,0d)}';
318
318
{(10d , 0d),(10d , 1d),(15d , 0d)}
319
319
(1 row)
320
320
321
+ SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
322
+ spoly_deg
323
+ ----------------------------------------------------------------------------------
324
+ {(237.29578d , 65.408441d),(351.88734d , -49.183118d),(286.4789d , -16.225323d)}
325
+ (1 row)
326
+
327
+ SELECT spoly_deg(ARRAY[10.0, 0.0, 10.0, 1.0, 15.0, 0.0]);
328
+ spoly_deg
329
+ --------------------------------------------------------------
330
+ {(212.9578d , 0d),(212.9578d , 57.29578d),(139.43669d , 0d)}
331
+ (1 row)
332
+
321
333
-- incorrect input -----
322
334
SELECT spoly '{(10d,0d),(10d,1d)}';
323
335
ERROR: spherepoly_in: more than two points needed
324
336
LINE 1: SELECT spoly '{(10d,0d),(10d,1d)}';
325
337
^
338
+ SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0]);
339
+ ERROR: Invalid arguments count. It must be even and >= 6
340
+ SELECT spoly_deg(ARRAY[]::float8[]);
341
+ spoly_deg
342
+ -----------
343
+
344
+ (1 row)
345
+
346
+ SELECT spoly_deg(NULL::float8[]);
347
+ spoly_deg
348
+ -----------
349
+
350
+ (1 row)
351
+
326
352
--- self-crossing input -----
327
353
SELECT spoly '{(0d,0d),(10d,10d),(0d,10d),(10d,0d)}';
328
354
ERROR: spherepoly_from_array: a line segment overlaps or polygon too large