@Udf(description = "Returns the inverse (arc) cosine of an INT value")
  public Double acos(
          @UdfParameter(
                  value = "value",
                  description = "The value to get the inverse cosine of."
          ) final Integer value
  ) {
    return acos(value == null ? null : value.doubleValue());
  }
@Test
  public void shouldHandleNegative() {
    assertThat(udf.acos(-0.43), closeTo(2.0152891037307157, 0.000000000000001));
    assertThat(udf.acos(-0.5), closeTo(2.0943951023931957, 0.000000000000001));
    assertThat(udf.acos(-1.0), closeTo(3.141592653589793, 0.000000000000001));
    assertThat(udf.acos(-1), closeTo(3.141592653589793, 0.000000000000001));
    assertThat(udf.acos(-1L), closeTo(3.141592653589793, 0.000000000000001));
  }