/// Create a new `Extractor` given an `EGraph` and a
/// `CostFunction`.
///
/// The extraction does all the work on creation, so this function
/// performs the greedy search for cheapest representative of each
/// eclass.


The extraction does all the work on creation, so this function
performs the greedy search for cheapest representative of each
eclass.
The extraction does all the work on creation so this function performs the greedy search for cheapest representative of each eclass .
pub fn new(egraph: &'a EGraph<L, N>, cost_function: CF) -> Self {
        let costs = HashMap::default();
        let mut extractor = Extractor {
            costs,
            egraph,
            cost_function,
        };
        extractor.find_costs();
        extractor
    }
pub fn new ( egraph : & ' a EGraph < L , N > , cost_function : CF ) -> Self { let costs = HashMap :: default ( ) ; let mut extractor = Extractor { costs , egraph , cost_function , } ; extractor . find_costs ( ) ; extractor }
Create a new `Extractor` given an `EGraph` and a
`CostFunction`.
Create a new ` Extractor ` given an ` EGraph ` and a ` CostFunction ` .
egraph
&'a EGraph<L, N>
cost_function
CF