protected Column evaluate()

in backend/engine/src/main/java/com/epam/deltix/quantgrid/engine/node/expression/UnaryFunction.java [40:70]


    protected Column evaluate(Column source) {
        return switch (function) {
            case ABS -> applyDoubleUnaryFunction(source, DoubleFunctions::abs);
            case ACOS -> applyDoubleUnaryFunction(source, DoubleFunctions::acos);
            case ASIN -> applyDoubleUnaryFunction(source, DoubleFunctions::asin);
            case ATAN -> applyDoubleUnaryFunction(source, DoubleFunctions::atan);
            case CEIL -> applyDoubleUnaryFunction(source, DoubleFunctions::ceil);
            case COS -> applyDoubleUnaryFunction(source, DoubleFunctions::cos);
            case DAY -> applyDoubleUnaryFunction(source, Dates::getDay);
            case EXP -> applyDoubleUnaryFunction(source, DoubleFunctions::exp);
            case FLOOR -> applyDoubleUnaryFunction(source, DoubleFunctions::floor);
            case HOUR -> applyDoubleUnaryFunction(source, Dates::getHour);
            case ISNA -> isNa(source);
            case LEN -> applyString2DoubleFunction(source, StringFunctions::len);
            case LN -> applyDoubleUnaryFunction(source, DoubleFunctions::log);
            case LOG10 -> applyDoubleUnaryFunction(source, DoubleFunctions::log10);
            case LOWER -> applyStringUnaryFunction(source, StringUtils::lowerCase);
            case MINUTE -> applyDoubleUnaryFunction(source, Dates::getMinute);
            case MONTH -> applyDoubleUnaryFunction(source, Dates::getMonth);
            case ROUND -> applyDoubleUnaryFunction(source, DoubleFunctions::round);
            case SECOND -> applyDoubleUnaryFunction(source, Dates::getSecond);
            case SIN -> applyDoubleUnaryFunction(source, DoubleFunctions::sin);
            case SQRT -> applyDoubleUnaryFunction(source, DoubleFunctions::sqrt);
            case TAN -> applyDoubleUnaryFunction(source, DoubleFunctions::tan);
            case TRIM -> applyStringUnaryFunction(source, StringUtils::trim);
            case VALUE -> applyString2DoubleFunction(source, StringFunctions::parseDouble);
            case UNICHAR -> applyDouble2StringFunction(source, StringFunctions::fromCharCode);
            case UPPER -> applyStringUnaryFunction(source, StringUtils::upperCase);
            case YEAR -> applyDoubleUnaryFunction(source, Dates::getYear);
        };
    }