pub enum ExprNode {
Distribution {
variables: VarSetId,
conditioned_on: VarSetId,
intervention: InterventionSetId,
domain: DomainRef,
},
Product(ExprListId),
SumOut {
variables: VarSetId,
expr: ExprId,
},
IntegralOut {
variables: VarSetId,
expr: ExprId,
},
Ratio {
numerator: ExprId,
denominator: ExprId,
},
Expectation {
function: OutcomeExprId,
distribution: ExprId,
},
Contrast {
left: ExprId,
right: ExprId,
op: ContrastOp,
},
}Expand description
Semantic expression node (no derivation metadata).
Variants§
Distribution
Joint / conditional distribution factor.
Fields
§
intervention: InterventionSetIdIntervention set (empty for observational).
Product(ExprListId)
Product of factors.
SumOut
Discrete marginalization.
IntegralOut
Continuous marginalization.
Ratio
Ratio of expressions.
Expectation
Expectation of an outcome under a distribution.
Contrast
Contrast of two expectations / functionals.
Trait Implementations§
impl Eq for ExprNode
impl StructuralPartialEq for ExprNode
Auto Trait Implementations§
impl Freeze for ExprNode
impl RefUnwindSafe for ExprNode
impl Send for ExprNode
impl Sync for ExprNode
impl Unpin for ExprNode
impl UnsafeUnpin for ExprNode
impl UnwindSafe for ExprNode
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