fn adjust_query_indicies_and_prepare_eval_points(ctx: & mut Vec<Uint256>) {
    let n_unique_queries = uint256_ops::to_usize(&ctx[map::MM_N_UNIQUE_QUERIES]);
    let mut fri_queue = map::MM_FRI_QUEUE;
    let fri_queue_end = fri_queue + 3*n_unique_queries;
    let eval_domain_size = uint256_ops::to_usize(&ctx[map::MM_EVAL_DOMAIN_SIZE]);
    let log_eval_domain_size = uint256_ops::to_usize(&ctx[map::MM_LOG_EVAL_DOMAIN_SIZE]);
    let eval_domain_generator = ctx[map::MM_EVAL_DOMAIN_GENERATOR].clone();

    while fri_queue < fri_queue_end {
        let mut query_idx = uint256_ops::to_usize(&ctx[fri_queue]);

        // // Adjust queryIdx, see comment in function description.
        let adjusted_query_idx = query_idx + eval_domain_size;

        // Compute the evaluation point corresponding to the current queryIdx. 
        ctx[map::MM_OODS_EVAL_POINTS] = prime_field::fpow(
            &eval_domain_generator, & uint256_ops::from_usize( bit_reverse(query_idx, log_eval_domain_size) )
        );

        fri_queue += 3;
    }
}
/*
    Adjusts the query indices and generates evaluation points for each query index.

    Indices adjustment:
        The query indices adjustment is needed because both the Merkle verification and FRI
        expect queries "full binary tree in array" indices.
        The adjustment is simply adding evalDomainSize to each query.
        Note that evalDomainSize == 2^(#FRI layers) == 2^(Merkle tree hight).

    evalPoints generation:
        for each query index "idx" we compute the corresponding evaluation point:
            g^(bitReverse(idx, log_evalDomainSize).
*/
Adjusts the query indices and generates evaluation points for each query index.
Indices adjustment:
The query indices adjustment is needed because both the Merkle verification and FRI
expect queries "full binary tree in array" indices.
The adjustment is simply adding evalDomainSize to each query.
Note that evalDomainSize == 2^(#FRI layers) == 2^(Merkle tree hight).

evalPoints generation:
for each query index "idx" we compute the corresponding evaluation point:
g^(bitReverse(idx, log_evalDomainSize).
Adjusts the query indices and generates evaluation points for each query index . Indices adjustment : The query indices adjustment is needed because both the Merkle verification and FRI expect queries " full binary tree in array " indices . The adjustment is simply adding evalDomainSize to each query . Note that evalDomainSize == 2^ ( #FRI layers ) == 2^ ( Merkle tree hight ) . evalPoints generation : for each query index " idx " we compute the corresponding evaluation point : g^ ( bitReverse ( idx log_evalDomainSize ) .
fn adjust_query_indicies_and_prepare_eval_points(ctx: & mut Vec<Uint256>) {
    let n_unique_queries = uint256_ops::to_usize(&ctx[map::MM_N_UNIQUE_QUERIES]);
    let mut fri_queue = map::MM_FRI_QUEUE;
    let fri_queue_end = fri_queue + 3*n_unique_queries;
    let eval_domain_size = uint256_ops::to_usize(&ctx[map::MM_EVAL_DOMAIN_SIZE]);
    let log_eval_domain_size = uint256_ops::to_usize(&ctx[map::MM_LOG_EVAL_DOMAIN_SIZE]);
    let eval_domain_generator = ctx[map::MM_EVAL_DOMAIN_GENERATOR].clone();
    while fri_queue < fri_queue_end {
        let mut query_idx = uint256_ops::to_usize(&ctx[fri_queue]);
        // // Adjust queryIdx, see comment in function description.
        let adjusted_query_idx = query_idx + eval_domain_size;
        // Compute the evaluation point corresponding to the current queryIdx. 
        ctx[map::MM_OODS_EVAL_POINTS] = prime_field::fpow(
            &eval_domain_generator, & uint256_ops::from_usize( bit_reverse(query_idx, log_eval_domain_size) )
        );
        fri_queue += 3;
    }
}
fn adjust_query_indicies_and_prepare_eval_points ( ctx : & mut Vec < Uint256 > ) { let n_unique_queries = uint256_ops :: to_usize ( & ctx [ map :: MM_N_UNIQUE_QUERIES ] ) ; let mut fri_queue = map :: MM_FRI_QUEUE ; let fri_queue_end = fri_queue + 3 * n_unique_queries ; let eval_domain_size = uint256_ops :: to_usize ( & ctx [ map :: MM_EVAL_DOMAIN_SIZE ] ) ; let log_eval_domain_size = uint256_ops :: to_usize ( & ctx [ map :: MM_LOG_EVAL_DOMAIN_SIZE ] ) ; let eval_domain_generator = ctx [ map :: MM_EVAL_DOMAIN_GENERATOR ] . clone ( ) ; while fri_queue < fri_queue_end { let mut query_idx = uint256_ops :: to_usize ( & ctx [ fri_queue ] ) ; // // Adjust queryIdx, see comment in function description. let adjusted_query_idx = query_idx + eval_domain_size ; // Compute the evaluation point corresponding to the current queryIdx.  ctx [ map :: MM_OODS_EVAL_POINTS ] = prime_field :: fpow ( & eval_domain_generator , & uint256_ops :: from_usize ( bit_reverse ( query_idx , log_eval_domain_size ) ) ) ; fri_queue += 3 ; } }
Adjusts the query indices and generates evaluation points for each query index.
Adjusts the query indices and generates evaluation points for each query index .
ctx
& mut Vec<Uint256>
ctx
& mut Vec<Uint256>