@Description("Laplace cdf given mean, scale parameters and value")
    @ScalarFunction
    @SqlType(StandardTypes.DOUBLE)
    public static double laplaceCdf(
            @SqlType(StandardTypes.DOUBLE) double mean,
            @SqlType(StandardTypes.DOUBLE) double scale,
            @SqlType(StandardTypes.DOUBLE) double value)
    {
        checkCondition(scale > 0, INVALID_FUNCTION_ARGUMENT, "laplaceCdf Function: scale must be greater than 0");
        LaplaceDistribution distribution = new LaplaceDistribution(null, mean, scale);
        return distribution.cumulativeProbability(value);
    }
@Test
    public void testLaplaceCdf()
    {
        assertFunction("laplace_cdf(4, 1, 4)", DOUBLE, 0.5);
        assertFunction("laplace_cdf(4, 2, 4.0)", DOUBLE, 0.5);
        assertFunction("round(laplace_cdf(4, 2, 4.0 - 0.4463), 2)", DOUBLE, 0.4);
        assertFunction("round(laplace_cdf(-4, 2, -4.0 + 0.4463), 4)", DOUBLE, 0.6);

        assertInvalidFunction("laplace_cdf(5, 0, 10)", "laplaceCdf Function: scale must be greater than 0");
        assertInvalidFunction("laplace_cdf(5, -1, 10)", "laplaceCdf Function: scale must be greater than 0");
    }