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 f64
impl Add<Expression> for f64
Source§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 Add for Expression
impl Add for Expression
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
+
operator.Source§impl Clone for Expression
impl Clone for Expression
Source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const 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 f64
impl Div<Expression> for f64
Source§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 Div for Expression
impl Div for Expression
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
/
operator.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<Matrix> for Expression
impl From<Matrix> for Expression
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> for Expression
impl From<SparseTensor> 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 f64
impl Mul<Expression> for f64
Source§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 Mul for Expression
impl Mul for Expression
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
*
operator.Source§impl Neg for Expression
impl Neg for Expression
Source§impl PartialEq for Expression
impl PartialEq for Expression
Source§impl Serialize for Expression
impl Serialize for Expression
Source§impl Sub<Expression> for f64
impl Sub<Expression> for f64
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
-
operator.Source§impl Sub<f64> for Expression
impl Sub<f64> for Expression
Source§impl Sub for Expression
impl Sub for Expression
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
-
operator.impl StructuralPartialEq for Expression
Auto Trait Implementations§
impl Freeze for Expression
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more