FunctionOptimizer

Trait FunctionOptimizer 

Source
pub trait FunctionOptimizer: Send + Sync {
    // Required methods
    fn optimize_bulk_evaluation(
        &self,
        name: &str,
        values: &[f64],
    ) -> Option<Vec<f64>>;
    fn detect_special_values(
        &self,
        name: &str,
        args: &[Expression],
    ) -> Option<Expression>;
    fn optimal_strategy(
        &self,
        name: &str,
        input_size: usize,
    ) -> EvaluationStrategy;
    fn complexity_estimate(
        &self,
        name: &str,
        input_size: usize,
    ) -> ComplexityEstimate;
}
Expand description

Trait for function optimization capabilities

Handles performance optimizations specific to different function families, such as SIMD evaluation, caching, and special value detection.

Required Methods§

Source

fn optimize_bulk_evaluation( &self, name: &str, values: &[f64], ) -> Option<Vec<f64>>

Optimize function evaluation for bulk operations

Source

fn detect_special_values( &self, name: &str, args: &[Expression], ) -> Option<Expression>

Check for special values that can be computed exactly

Source

fn optimal_strategy(&self, name: &str, input_size: usize) -> EvaluationStrategy

Get optimal evaluation strategy for given input size

Source

fn complexity_estimate( &self, name: &str, input_size: usize, ) -> ComplexityEstimate

Estimate computational complexity

Implementors§