pub struct Prod {
pub args: Vec<Expr>,
}
Fields§
§args: Vec<Expr>
Implementations§
source§impl Prod
impl Prod
pub fn mul_rhs_raw(&mut self, rhs: &Expr)
pub fn mul_rhs(&mut self, rhs: &Expr)
fn cmp_args(lhs: &Expr, rhs: &Expr) -> Ordering
fn mul_sorted(lhs: &Expr, rhs: &Expr) -> Prod
fn expand_mul(lhs: &Expr, rhs: &Expr) -> Expr
fn distribute_first(&self) -> Expr
fn distribute(&self) -> Expr
fn flat_merge(lhs: &Expr, rhs: Prod) -> Prod
fn merge_args(p: &[Expr], q: &[Expr]) -> Prod
pub(crate) fn reduce_rec(args: &[Expr]) -> Prod
Trait Implementations§
source§impl<'de> Deserialize<'de> for Prod
impl<'de> Deserialize<'de> for Prod
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 Ord for Prod
impl Ord for Prod
source§impl PartialOrd for Prod
impl PartialOrd for Prod
source§impl SymbolicExpr for Prod
impl SymbolicExpr for Prod
source§fn reduce(&self) -> Expr
fn reduce(&self) -> Expr
basic simplification that can be applied regardless of context Read more
fn args(&self) -> &[Expr]
fn args_mut(&mut self) -> &mut [Expr]
fn is_atom(&self) -> bool
fn n_args(&self) -> usize
fn iter_args(&self) -> impl Iterator<Item = &Expr>
fn map_args(self, map_fn: impl Fn(&mut Expr)) -> Self
impl Eq for Prod
Auto Trait Implementations§
impl Freeze for Prod
impl RefUnwindSafe for Prod
impl !Send for Prod
impl !Sync for Prod
impl Unpin for Prod
impl UnwindSafe for Prod
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)