pub fn force_answers(
        &mut self,
        goal: C::UCanonicalGoalInEnvironment,
        num_answers: usize,
    ) -> Vec<Answer<C>> {
        let table = self.get_or_create_table_for_ucanonical_goal(goal);
        let mut answers = Vec::with_capacity(num_answers);
        for i in 0..num_answers {
            let i = AnswerIndex::from(i);
            loop {
                match self.ensure_root_answer(table, i) {
                    Ok(()) => break,
                    Err(RootSearchFail::QuantumExceeded) => continue,
                    Err(RootSearchFail::NoMoreSolutions) => return answers,
                }
            }

            answers.push(self.answer(table, i).clone());
        }

        answers
    }
/// Finds the first N answers, looping as much as needed to get
/// them.
///
/// Thanks to subgoal abstraction and so forth, this should always
/// terminate.
Finds the first N answers, looping as much as needed to get
them.

Thanks to subgoal abstraction and so forth, this should always
terminate.
Finds the first N answers looping as much as needed to get them . Thanks to subgoal abstraction and so forth this should always terminate .
pub fn force_answers(
        &mut self,
        goal: C::UCanonicalGoalInEnvironment,
        num_answers: usize,
    ) -> Vec<Answer<C>> {
        let table = self.get_or_create_table_for_ucanonical_goal(goal);
        let mut answers = Vec::with_capacity(num_answers);
        for i in 0..num_answers {
            let i = AnswerIndex::from(i);
            loop {
                match self.ensure_root_answer(table, i) {
                    Ok(()) => break,
                    Err(RootSearchFail::QuantumExceeded) => continue,
                    Err(RootSearchFail::NoMoreSolutions) => return answers,
                }
            }
            answers.push(self.answer(table, i).clone());
        }
        answers
    }
pub fn force_answers ( & mut self , goal : C :: UCanonicalGoalInEnvironment , num_answers : usize , ) -> Vec < Answer < C > > { let table = self . get_or_create_table_for_ucanonical_goal ( goal ) ; let mut answers = Vec :: with_capacity ( num_answers ) ; for i in 0 .. num_answers { let i = AnswerIndex :: from ( i ) ; loop { match self . ensure_root_answer ( table , i ) { Ok ( ( ) ) => break , Err ( RootSearchFail :: QuantumExceeded ) => continue , Err ( RootSearchFail :: NoMoreSolutions ) => return answers , } } answers . push ( self . answer ( table , i ) . clone ( ) ) ; } answers }
Finds the first N answers, looping as much as needed to get
them.
Finds the first N answers looping as much as needed to get them .
&mut self
goal
C::UCanonicalGoalInEnvironment
num_answers
usize
&mut self
goal
C::UCanonicalGoalInEnvironment
num_answers
usize