You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.2 KiB
Rust

use crate::elements::special::Expression;
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub enum Group {
Parentheses(Parentheses),
Brackets(Brackets),
Braces(Braces),
Angles(Angles),
XGroup(XGroup),
Abs(Abs),
Floor(Floor),
Ceil(Ceil),
Norm(Norm),
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Parentheses {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Brackets {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Braces {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Angles {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct XGroup {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Abs {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Floor {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Ceil {
pub inner: Box<Expression>,
}
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub struct Norm {
pub inner: Box<Expression>,
}