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.
73 lines
1.4 KiB
Rust
73 lines
1.4 KiB
Rust
use crate::elements::special::Expression;
|
|
|
|
#[derive(Debug, Clone, PartialOrd, PartialEq)]
|
|
pub enum Group {
|
|
MSep,
|
|
Parentheses(Parentheses),
|
|
Brackets(Brackets),
|
|
Braces(Braces),
|
|
Angles(Angles),
|
|
XGroup(XGroup),
|
|
Abs(Abs),
|
|
Floor(Floor),
|
|
Ceil(Ceil),
|
|
Norm(Norm),
|
|
Matrix(Matrix),
|
|
Vector(Vector),
|
|
}
|
|
|
|
#[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>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, PartialOrd, PartialEq)]
|
|
pub struct Matrix {
|
|
pub inner: Vec<Vec<Expression>>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, PartialOrd, PartialEq)]
|
|
pub struct Vector {
|
|
pub inner: Vec<Vec<Expression>>,
|
|
}
|