/// Given queried coset elements, recovered the original point query responses.
Given queried coset elements, recovered the original point query responses.
Given queried coset elements recovered the original point query responses .
fn coset_query_response_to_point_query_response<F: PrimeField>(
    queried_coset: CosetQueryResult<F>,
    element_index_in_coset: Vec<usize>,
) -> Vec<Vec<F>> {
    queried_coset
        .into_iter()
        .zip(element_index_in_coset.into_iter())
        .map(|(coset_for_all_oracles, element_index)| {
            coset_for_all_oracles
                .into_iter()
                .map(|coset| coset[element_index])
                .collect::<Vec<_>>()
        })
        .collect()
}
fn coset_query_response_to_point_query_response < F : PrimeField > ( queried_coset : CosetQueryResult < F > , element_index_in_coset : Vec < usize > , ) -> Vec < Vec < F > > { queried_coset . into_iter ( ) . zip ( element_index_in_coset . into_iter ( ) ) . map ( | ( coset_for_all_oracles , element_index ) | { coset_for_all_oracles . into_iter ( ) . map ( | coset | coset [ element_index ] ) . collect :: < Vec < _ > > ( ) } ) . collect ( ) }
Given queried coset elements, recovered the original point query responses.
Given queried coset elements recovered the original point query responses .
queried_coset
CosetQueryResult<F>
element_index_in_coset
Vec<usize>