pub fn fixedpoint_with_scheduler<F, T, S>(&self, constructor: F) -> Result<T, SchedulerError>
    where
        F: FnOnce(&mut Circuit<Self>) -> Result<T, SchedulerError>,
        S: Scheduler + 'static,
    {
        self.subcircuit(true, |child| {
            let res = constructor(child)?;
            let child_clone = child.clone();
            let termination_check = move || child_clone.inner().fixedpoint();
            let executor = <IterativeExecutor<_, S>>::new(child, termination_check)?;
            Ok((res, executor))
        })
    }
/// Add a child circuit that will iterate to a fixed point.
///
/// Similar to [`fixedpoint`](`Self::fixedpoint`), but with a user-specified
/// [`Scheduler`] implementation.
Add a child circuit that will iterate to a fixed point.
Add a child circuit that will iterate to a fixed point .
pub fn fixedpoint_with_scheduler<F, T, S>(&self, constructor: F) -> Result<T, SchedulerError>
    where
        F: FnOnce(&mut Circuit<Self>) -> Result<T, SchedulerError>,
        S: Scheduler + 'static,
    {
        self.subcircuit(true, |child| {
            let res = constructor(child)?;
            let child_clone = child.clone();
            let termination_check = move || child_clone.inner().fixedpoint();
            let executor = <IterativeExecutor<_, S>>::new(child, termination_check)?;
            Ok((res, executor))
        })
    }
pub fn fixedpoint_with_scheduler < F , T , S > ( & self , constructor : F ) -> Result < T , SchedulerError > where F : FnOnce ( & mut Circuit < Self > ) -> Result < T , SchedulerError > , S : Scheduler + ' static , { self . subcircuit ( true , | child | { let res = constructor ( child ) ? ; let child_clone = child . clone ( ) ; let termination_check = move | | child_clone . inner ( ) . fixedpoint ( ) ; let executor = < IterativeExecutor < _ , S > > :: new ( child , termination_check ) ? ; Ok ( ( res , executor ) ) } ) }
Add a child circuit that will iterate to a fixed point.
Add a child circuit that will iterate to a fixed point .
&self
constructor
F