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

Login to leave a comment.
View all comments