/// Return the leaves of at `position` of all oracle in this round.
/// `result[i][j]` is leaf `i` at oracle `j`.
Return the leaves of at `position` of all oracle in this round.
Return the leaves of at ` position ` of all oracle in this round .
pub fn query_point(&mut self, positions: &[usize], tracer: TraceInfo) -> Vec<Vec<F>> {
        let _self = &mut self._self;
        let round = self.round;
        if !round.is_virtual {
            info!("Query Real Oracle point at {:?} by {}", positions, tracer);
            return _self.real_oracles[round.index].query(positions);
        }
        info!(
            "Query Virtual Oracle point at {:?} by {}",
            positions, tracer
        );
        let (virtual_round, mut shadow_self) = _self.take_virtual_oracle(round);
        let query_result = virtual_round.query_point(positions, &mut shadow_self);
        // restore self
        _self.restore_from_shadow_self(shadow_self, round, virtual_round);
        // return the query result
        query_result
    }
pub fn query_point ( & mut self , positions : & [ usize ] , tracer : TraceInfo ) -> Vec < Vec < F > > { let _self = & mut self . _self ; let round = self . round ; if ! round . is_virtual { info ! ( " " positions tracer ) ; return _self . real_oracles [ round . index ] . query ( positions ) ; } info ! ( " " positions tracer ) ; let ( virtual_round , mut shadow_self ) = _self . take_virtual_oracle ( round ) ; let query_result = virtual_round . query_point ( positions , & mut shadow_self ) ; // restore self _self . restore_from_shadow_self ( shadow_self , round , virtual_round ) ; // return the query result query_result }
Return the leaves of at `position` of all oracle in this round.
Return the leaves of at ` position ` of all oracle in this round .
&mut self
positions
&[usize]
tracer
TraceInfo