use crate::token::Operator;
pub const NO_PRECEDENCE: usize = 0;
pub const UNOP_PRECEDENCE: usize = 3;
#[cfg(feature = "pejmdas")]
const IMPLICIT_MULTIPLICATION_PRECEDENCE: usize = 3;
#[cfg(feature = "pemdas")]
const IMPLICIT_MULTIPLICATION_PRECEDENCE: usize = get_for_op(Operator::Times);
pub const IMPLICIT_MULTIPLICATION_INFO: (Operator, usize) =
(Operator::Times, IMPLICIT_MULTIPLICATION_PRECEDENCE);
pub const fn get_for_op(op: Operator) -> usize {
match op {
Operator::Plus | Operator::Minus => 1,
Operator::Times | Operator::Divide | Operator::Modulo => 2,
Operator::Power => 4,
Operator::Factorial => 5,
}
}