egg_stats

Trait Recorder

source
pub trait Recorder<L, N>
where L: Language, N: Analysis<L>,
{ // Required method fn identifier(&self) -> Cow<'static, str>; // Provided methods fn record_before_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, ) -> Option<String> { ... } fn record_after_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String> { ... } fn record_before_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String> { ... } fn record_after_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, n_matches: usize, ) -> Option<String> { ... } }

Required Methods§

source

fn identifier(&self) -> Cow<'static, str>

Provided Methods§

source

fn record_before_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String>

source

fn record_after_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, n_matches: usize, ) -> Option<String>

Implementors§

source§

impl<L, N> Recorder<L, N> for NumberEClasses
where L: Language, N: Analysis<L>,

source§

impl<L, N> Recorder<L, N> for NumberENodes
where L: Language, N: Analysis<L>,

source§

impl<L, N> Recorder<L, N> for Timestamp
where L: Language, N: Analysis<L>,

source§

impl<L, N, C> Recorder<L, N> for BestProgram<C>
where L: Language, N: Analysis<L>, C: CostFunction<L> + Clone, <C as CostFunction<L>>::Cost: Display,