pub struct Equation {
pub lhs: Box<dyn Expr>,
pub rhs: Box<dyn Expr>,
}Fields§
§lhs: Box<dyn Expr>§rhs: Box<dyn Expr>Implementations§
Source§impl Equation
impl Equation
pub fn solve<'a, S: IntoIterator<Item = &'a dyn Expr>>( &self, exprs: S, ) -> Result<Equation, SolvingError>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Equation
impl<'de> Deserialize<'de> for Equation
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 DivAssign<&(dyn Expr + 'static)> for Equation
impl DivAssign<&(dyn Expr + 'static)> for Equation
Source§fn div_assign(&mut self, rhs: &dyn Expr)
fn div_assign(&mut self, rhs: &dyn Expr)
Performs the
/= operation. Read moreSource§impl Expr for Equation
impl Expr for Equation
fn name(&self) -> String
fn get_ref<'a>(&'a self) -> &'a dyn Expr
fn for_each_arg(&self, f: &mut dyn FnMut(&dyn Arg))
fn from_args(&self, args: Vec<Box<dyn Arg>>) -> Box<dyn Expr>
fn clone_box(&self) -> Box<dyn Expr>
fn str(&self) -> String
fn as_expr(&self) -> Option<Box<dyn Expr>>
fn args(&self) -> Vec<Box<dyn Arg>>
fn args_map_exprs( &self, _f: &dyn Fn(&dyn Expr) -> Box<dyn Arg>, ) -> Vec<Box<dyn Arg>>
fn as_arg(&self) -> Box<dyn Arg>
fn as_function(&self) -> Option<&Func>
fn equals(&self, other: &dyn Expr) -> bool
fn as_symbol(&self) -> Option<Symbol>
fn as_eq(&self) -> Option<Equation>
fn as_mul(&self) -> Option<&Mul>
fn as_pow(&self) -> Option<&Pow>
fn as_f64(&self) -> Option<f64>
fn to_cpp(&self) -> String
fn simplify(&self) -> Box<dyn Expr>
fn simplify_with_dimension(&self, dim: usize) -> Box<dyn Expr>
fn as_int(&self) -> Option<Integer>
fn pow(&self, exponent: &Box<dyn Expr>) -> Box<dyn Expr>
fn ipow(&self, exponent: isize) -> Box<dyn Expr>
fn sqrt(&self) -> Box<dyn Expr>
fn get_exponent(&self) -> (Box<dyn Expr>, Box<dyn Expr>)
fn diff(&self, var: &str, order: usize) -> Box<dyn Expr>
fn subs(&self, substitutions: &[[Box<dyn Expr>; 2]]) -> Box<dyn Expr>
fn has(&self, expr: &dyn Expr) -> bool
fn has_box(&self, expr: Box<dyn Expr>) -> bool
Source§fn factor(&self, factors: &[&dyn Expr]) -> Box<dyn Expr>
fn factor(&self, factors: &[&dyn Expr]) -> Box<dyn Expr>
Factorizes an expression
For example:
factor(ax + cx + zy, [x]) -> (a + c)x + zy
fn is_one(&self) -> bool
fn is_neg_one(&self) -> bool
fn is_number(&self) -> bool
fn is_negative_number(&self) -> bool
fn is_zero(&self) -> bool
fn known_expr(&self) -> KnownExpr<'_>
fn terms<'a>(&'a self) -> Box<dyn Iterator<Item = &'a dyn Expr> + 'a>
fn get_coeff(&self) -> (Rational, Box<dyn Expr>)
fn compare(&self, other: &dyn Expr) -> Option<Ordering>
fn evaluate(&self, vars: Option<HashMap<Symbol, BoxExpr>>) -> BoxExpr
Source§impl JsonSchema for Equation
impl JsonSchema for Equation
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(_generator: &mut SchemaGenerator) -> Schema
fn json_schema(_generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Equation
impl !RefUnwindSafe for Equation
impl Send for Equation
impl Sync for Equation
impl Unpin for Equation
impl !UnwindSafe for Equation
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> ExprOperations for Twhere
T: Expr,
impl<T> ExprOperations for Twhere
T: Expr,
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