@@ -318,11 +318,37 @@ SELECT spoly '{(10d,0d),(10d,1d),(15d,0d)}';
318318 {(10d , 0d),(10d , 1d),(15d , 0d)}
319319(1 row)
320320
321+ SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
322+ spoly_deg
323+ ---------------------------------
324+ {(1d , 2d),(3d , 4d),(5d , 6d)}
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+ {(10d , 0d),(10d , 1d),(15d , 0d)}
331+ (1 row)
332+
321333-- incorrect input -----
322334SELECT spoly '{(10d,0d),(10d,1d)}';
323335ERROR: spherepoly_in: more than two points needed
324336LINE 1: SELECT spoly '{(10d,0d),(10d,1d)}';
325337 ^
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+
326352--- self-crossing input -----
327353SELECT spoly '{(0d,0d),(10d,10d),(0d,10d),(10d,0d)}';
328354ERROR: spherepoly_from_array: a line segment overlaps or polygon too large
0 commit comments