@Udf(description = "Returns the base 10 logarithm of an INT value.")
  public Double log(
          @UdfParameter(
                  value = "value",
                  description = "the value get the base 10 logarithm of."
          ) final Integer value
  ) {
    return log(value == null ? null : value.doubleValue());
  }
@Test
  public void shouldHandlePositiveValueAndBase() {
    assertThat(udf.log(1), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(1L), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(1.0), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(13), closeTo(2.5649493574615367, 0.000000000000001));
    assertThat(udf.log(13L), closeTo(2.5649493574615367, 0.000000000000001));
    assertThat(udf.log(13.0), closeTo(2.5649493574615367, 0.000000000000001));
    assertThat(udf.log(1), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(1L), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(1.0), closeTo(0.0, 0.000000000000001));
    assertThat(udf.log(15, 13), closeTo(0.9471572411831843, 0.000000000000001));
    assertThat(udf.log(15L, 13L), closeTo(0.9471572411831843, 0.000000000000001));
    assertThat(udf.log(15.0, 13.0), closeTo(0.9471572411831843, 0.000000000000001));
    assertThat(udf.log(Double.MIN_VALUE, 13.0), closeTo(-0.003445474597896734, 0.000000000000001));
    assertThat(udf.log(Double.MAX_VALUE, 13.0), closeTo(0.0036137106622471603, 0.000000000000001));
  }