namespace NTDLS.ExpressionParser
{
    internal static class Constants
    {
        internal static readonly string[] NativeFunctions =
        {
            "abs",
            "acos",
            "asin",
            "atan",
            "atan2",
            "avg",
            "ceil",
            "cos",
            "cosh",
            "exp",
            "floor",
            "log",
            "log10",
            "max",
            "min",
            "modpow",
            "not",
            "pow",
            "sin",
            "sinh",
            "sqrt",
            "sum",
            "tan",
            "tanh"
        };

        internal static readonly char[] PreOrderOperations =
        {
            '!',  //Logical NOT
        };

        internal static readonly char[] FirstOrderOperations =
        {
            '~',  //Bitwise NOT
            '*',  //Multiplication
            '/',  //Division
            '%'  //Modulation
        };

        internal static readonly char[] SecondOrderOperations =
        {
            '+',  //Addition
            '-'  //Subtraction
        };

        internal static readonly string[] ThirdOrderOperations =
        {
            "<>", //Logical Not Equal
            "|=", //Bitwise Or Equal
            "&=", //Bitwise And Equal
            "^=", //Bitwise XOR Equal
            "<=", //Logical Less or Equal
            ">=", //Logical Greater or Equal
            "!=", //Logical Not Equal

            "<<", //Bitwise Left Shift
            ">>", //Bitwise Right Shift

            "=",  //Logical Equals
            ">",  //Logical Greater Than
            "<",  //Logical Less Than

            "&&", //Logical AND
            "||", //Logical OR

            "|",  //Bitwise OR
            "&",  //Bitwise AND
            "^",  //Exclusive OR
        };
    }
}

Last modified by Admin 10/22/2025 3:54:55 PM

Comments