@@ -318,6 +318,18 @@ SELECT spoly '{(10d,0d),(10d,1d),(15d,0d)}';
318318 {(10d , 0d),(10d , 1d),(15d , 0d)}
319319(1 row)
320320
321+ SELECT spoly(ARRAY[0.017453292519943295, 0.03490658503988659, 0.05235987755982988, 0.06981317007977318, 0.08726646259971647, 0.10471975511965977]);
322+ spoly
323+ ---------------------------------
324+ {(1d , 2d),(3d , 4d),(5d , 6d)}
325+ (1 row)
326+
327+ SELECT spoly(ARRAY[0.17453292519943295, 0.0, 0.17453292519943295, 0.017453292519943295, 0.2617993877991494, 0.0]);
328+ spoly
329+ ------------------------------------
330+ {(10d , 0d),(10d , 1d),(15d , 0d)}
331+ (1 row)
332+
321333SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
322334 spoly_deg
323335---------------------------------
@@ -335,8 +347,22 @@ SELECT spoly '{(10d,0d),(10d,1d)}';
335347ERROR: spherepoly_in: more than two points needed
336348LINE 1: SELECT spoly '{(10d,0d),(10d,1d)}';
337349 ^
350+ SELECT spoly(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0]);
351+ ERROR: spherepoly_rad: invalid number of arguments (must be even and >= 6)
352+ SELECT spoly(ARRAY[1.0, 2.0, 3.0, NULL, 5.0, 6.0]);
353+ ERROR: spherepoly_rad: input array is invalid because it has null values
354+ SELECT spoly(ARRAY[]::float8[]);
355+ ERROR: spherepoly_rad: invalid number of arguments (must be even and >= 6)
356+ SELECT spoly(NULL::float8[]);
357+ spoly
358+ -------
359+
360+ (1 row)
361+
338362SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, 4.0, 5.0]);
339363ERROR: spherepoly_deg: invalid number of arguments (must be even and >= 6)
364+ SELECT spoly_deg(ARRAY[1.0, 2.0, 3.0, NULL, 5.0, 6.0]);
365+ ERROR: spherepoly_deg: input array is invalid because it has null values
340366SELECT spoly_deg(ARRAY[]::float8[]);
341367ERROR: spherepoly_deg: invalid number of arguments (must be even and >= 6)
342368SELECT spoly_deg(NULL::float8[]);