pub enum Expression {
Variable(String, Vec<Size>),
Constant(ConstantValue),
PartialVariable(ExpressionArray),
Add(Box<Expression>, Box<Expression>),
Sub(Box<Expression>, Box<Expression>),
Mul(Box<Expression>, Box<Expression>),
Div(Box<Expression>, Box<Expression>),
Neg(Box<Expression>),
Transcendental(Box<TranscendentalExpression>),
Tensor(Box<TensorExpression>),
Matrix(Box<MatrixExpression>),
}
Variants§
Variable(String, Vec<Size>)
Constant(ConstantValue)
PartialVariable(ExpressionArray)
Add(Box<Expression>, Box<Expression>)
Sub(Box<Expression>, Box<Expression>)
Mul(Box<Expression>, Box<Expression>)
Div(Box<Expression>, Box<Expression>)
Neg(Box<Expression>)
Transcendental(Box<TranscendentalExpression>)
Tensor(Box<TensorExpression>)
Matrix(Box<MatrixExpression>)
Implementations§
source§impl Expression
impl Expression
pub fn assign(self, variables: &HashMap<&str, ConstantValue>) -> Expression
source§impl Expression
impl Expression
pub fn differential(&self, variable_ids: &[&str]) -> Vec<Expression>
source§impl Expression
impl Expression
pub fn det(self) -> Expression
source§impl Expression
impl Expression
pub fn inv(self) -> Expression
source§impl Expression
impl Expression
pub fn t(self) -> Expression
source§impl Expression
impl Expression
pub fn tr(self) -> Expression
source§impl Expression
impl Expression
pub fn matrix(self) -> Option<MatrixExpression>
pub fn into_matrix(self) -> MatrixExpression
source§impl Expression
impl Expression
pub fn sizes(&self) -> Vec<Size>
pub fn is_same_size(&self, other: &Expression) -> bool
pub fn not_1dimension_ranks(&self) -> usize
pub fn mathematical_sizes(&self) -> Vec<Size>
source§impl Expression
impl Expression
pub fn direct(self, rhs: Expression) -> Expression
source§impl Expression
impl Expression
pub fn dot(self, rhs: Expression, rank_pairs: &[[RankIndex; 2]]) -> Expression
source§impl Expression
impl Expression
pub fn tensor(self) -> Option<TensorExpression>
pub fn into_tensor(self) -> TensorExpression
source§impl Expression
impl Expression
source§impl Expression
impl Expression
source§impl Expression
impl Expression
source§impl Expression
impl Expression
source§impl Expression
impl Expression
pub fn log(self, antilogarithm: Expression) -> Self
source§impl Expression
impl Expression
pub fn pow(self, exponent: Expression) -> Self
source§impl Expression
impl Expression
source§impl Expression
impl Expression
source§impl Expression
impl Expression
pub fn variable_ids(&self) -> HashSet<&str>
Trait Implementations§
source§impl Add<Expression> for Expression
impl Add<Expression> for Expression
§type Output = Expression
type Output = Expression
The resulting type after applying the
+
operator.source§impl Add<Expression> for f64
impl Add<Expression> for f64
§type Output = Expression
type Output = Expression
The resulting type after applying the
+
operator.source§impl Add<f64> for Expression
impl Add<f64> for Expression
source§impl Clone for Expression
impl Clone for Expression
source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Expression
impl Debug for Expression
source§impl<'de> Deserialize<'de> for Expression
impl<'de> Deserialize<'de> for Expression
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Div<Expression> for Expression
impl Div<Expression> for Expression
§type Output = Expression
type Output = Expression
The resulting type after applying the
/
operator.source§impl Div<Expression> for f64
impl Div<Expression> for f64
§type Output = Expression
type Output = Expression
The resulting type after applying the
/
operator.source§impl Div<f64> for Expression
impl Div<f64> for Expression
source§impl From<ConstantValue> for Expression
impl From<ConstantValue> for Expression
source§fn from(v: ConstantValue) -> Self
fn from(v: ConstantValue) -> Self
Converts to this type from the input type.
source§impl From<Expression> for ConstantValue
impl From<Expression> for ConstantValue
source§fn from(v: Expression) -> Self
fn from(v: Expression) -> Self
Converts to this type from the input type.
source§impl From<MatrixExpression> for Expression
impl From<MatrixExpression> for Expression
source§fn from(m: MatrixExpression) -> Self
fn from(m: MatrixExpression) -> Self
Converts to this type from the input type.
source§impl From<SparseTensor<f64>> for Expression
impl From<SparseTensor<f64>> for Expression
source§fn from(v: SparseTensor) -> Self
fn from(v: SparseTensor) -> Self
Converts to this type from the input type.
source§impl From<TensorExpression> for Expression
impl From<TensorExpression> for Expression
source§fn from(t: TensorExpression) -> Self
fn from(t: TensorExpression) -> Self
Converts to this type from the input type.
source§impl From<TranscendentalExpression> for Expression
impl From<TranscendentalExpression> for Expression
source§fn from(t: TranscendentalExpression) -> Self
fn from(t: TranscendentalExpression) -> Self
Converts to this type from the input type.
source§impl From<f64> for Expression
impl From<f64> for Expression
source§impl Mul<Expression> for Expression
impl Mul<Expression> for Expression
§type Output = Expression
type Output = Expression
The resulting type after applying the
*
operator.source§impl Mul<Expression> for f64
impl Mul<Expression> for f64
§type Output = Expression
type Output = Expression
The resulting type after applying the
*
operator.source§impl Mul<f64> for Expression
impl Mul<f64> for Expression
source§impl Neg for Expression
impl Neg for Expression
source§impl PartialEq<Expression> for Expression
impl PartialEq<Expression> for Expression
source§fn eq(&self, other: &Expression) -> bool
fn eq(&self, other: &Expression) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for Expression
impl Serialize for Expression
source§impl Sub<Expression> for Expression
impl Sub<Expression> for Expression
§type Output = Expression
type Output = Expression
The resulting type after applying the
-
operator.source§impl Sub<Expression> for f64
impl Sub<Expression> for f64
§type Output = Expression
type Output = Expression
The resulting type after applying the
-
operator.source§impl Sub<f64> for Expression
impl Sub<f64> for Expression
impl StructuralPartialEq for Expression
Auto Trait Implementations§
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more