@Description("Cauchy cdf for a given value, median, and scale (gamma)")
    @ScalarFunction
    @SqlType(StandardTypes.DOUBLE)
    public static double cauchyCdf(
            @SqlType(StandardTypes.DOUBLE) double median,
            @SqlType(StandardTypes.DOUBLE) double scale,
            @SqlType(StandardTypes.DOUBLE) double value)
    {
        checkCondition(scale > 0, INVALID_FUNCTION_ARGUMENT, "cauchyCdf Function: scale must be greater than 0");
        CauchyDistribution distribution = new CauchyDistribution(null, median, scale, CauchyDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY);
        return distribution.cumulativeProbability(value);
    }
@Test
    public void testCauchyCdf()
    {
        assertFunction("cauchy_cdf(0.0, 1.0, 0.0)", DOUBLE, 0.5);
        assertFunction("cauchy_cdf(0.0, 1.0, 1.0)", DOUBLE, 0.75);
        assertFunction("cauchy_cdf(5.0, 2.0, 3.0)", DOUBLE, 0.25);
        assertFunction("round(cauchy_cdf(2.5, 1.0, 3.0), 2)", DOUBLE, 0.65);
        assertFunction("round(cauchy_cdf(5.0, 1.0, 3.0), 2)", DOUBLE, 0.15);

        assertInvalidFunction("cauchy_cdf(0.0, -1.0, 0.0)", "cauchyCdf Function: scale must be greater than 0");
    }