pub struct ExpressionProfile {
pub operator_counts: OperatorCounts,
pub complexity: ComplexityMetrics,
pub has_quantifiers: bool,
pub has_modal: bool,
pub has_temporal: bool,
pub has_fuzzy: bool,
pub has_constants: bool,
pub size: usize,
}Expand description
Characteristics of an expression used for strategy selection.
Fields§
§operator_counts: OperatorCountsOperator counts by category
complexity: ComplexityMetricsComplexity metrics
has_quantifiers: boolWhether the expression has quantifiers
has_modal: boolWhether the expression has modal operators
has_temporal: boolWhether the expression has temporal operators
has_fuzzy: boolWhether the expression has fuzzy operators
has_constants: boolWhether the expression has constants
size: usizeExpression size (node count)
Implementations§
Source§impl ExpressionProfile
impl ExpressionProfile
Sourcepub fn is_simple(&self) -> bool
pub fn is_simple(&self) -> bool
Check if the expression is simple (few operators, shallow depth).
Sourcepub fn is_complex(&self) -> bool
pub fn is_complex(&self) -> bool
Check if the expression is complex (many operators, deep nesting).
Sourcepub fn needs_distribution(&self) -> bool
pub fn needs_distribution(&self) -> bool
Check if the expression would benefit from distributive laws.
Sourcepub fn has_constant_opportunities(&self) -> bool
pub fn has_constant_opportunities(&self) -> bool
Check if the expression has significant constant folding opportunities.
Trait Implementations§
Source§impl Clone for ExpressionProfile
impl Clone for ExpressionProfile
Source§fn clone(&self) -> ExpressionProfile
fn clone(&self) -> ExpressionProfile
Returns a duplicate 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 ExpressionProfile
impl Debug for ExpressionProfile
Source§impl PartialEq for ExpressionProfile
impl PartialEq for ExpressionProfile
impl StructuralPartialEq for ExpressionProfile
Auto Trait Implementations§
impl Freeze for ExpressionProfile
impl RefUnwindSafe for ExpressionProfile
impl Send for ExpressionProfile
impl Sync for ExpressionProfile
impl Unpin for ExpressionProfile
impl UnwindSafe for ExpressionProfile
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