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
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<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.