@Override
    protected Object execute(Object[] data, State state) {
        double min = Double.MAX_VALUE;
        for (Object aObj : data) {
            Double value = Double.MAX_VALUE;
            if (aObj instanceof Integer) {
                int inputInt = (Integer) aObj;
                value = (double) inputInt;
            } else if (aObj instanceof Long) {
                long inputLong = (Long) aObj;
                value = (double) inputLong;
            } else if (aObj instanceof Float) {
                float inputLong = (Float) aObj;
                value = (double) inputLong;
            } else if (aObj instanceof Double) {
                value = (Double) aObj;
            }
            if (value < min) {
                min = value;
            }
        }
        switch (returnType) {
            case INT:
                return (int) min;
            case LONG:
                return (long) min;
            case FLOAT:
                return (float) min;
            case DOUBLE:
                return min;
        }
        return min;
    }
return maximum of arbitrary long set of Double values

@param data  array of Double values
@param state
@return max
modules/siddhi-core/src/main/java/io/siddhi/core/executor/function/MinimumFunctionExecutor.java