// return evaluation of x^{degree_to_raise} at specific location
return evaluation of x^{degree_to_raise} at specific location
return evaluation of x^ { degree_to_raise } at specific location
fn degree_raise_poly_query<F: PrimeField>(
    domain: Radix2CosetDomain<F>,
    degree_to_raise: u64,
    log_coset_size: u64,
    coset_index: u64,
) -> Vec<F> {
    let mut result = Vec::with_capacity(1 << log_coset_size);
    let dist_between_coset_elems = 1 << (domain.dim() - log_coset_size as usize);
    // element h^{raise}(g^{index}^{raise}), h^{raise}(g^{index + dist *
    // 1}^{raise}), h^{raise}(g^{index + dist * 2}^{raise}), ...
    let mut curr = domain.offset.pow(&[degree_to_raise])
        * domain.gen().pow(&[coset_index]).pow(&[degree_to_raise]);
    let step = domain
        .gen()
        .pow(&[dist_between_coset_elems])
        .pow(&[degree_to_raise]);
    for _ in 0..(1 << log_coset_size) {
        result.push(curr);
        curr *= step;
    }
    result
}
fn degree_raise_poly_query < F : PrimeField > ( domain : Radix2CosetDomain < F > , degree_to_raise : u64 , log_coset_size : u64 , coset_index : u64 , ) -> Vec < F > { let mut result = Vec :: with_capacity ( 1 << log_coset_size ) ; let dist_between_coset_elems = 1 << ( domain . dim ( ) - log_coset_size as usize ) ; // element h^{raise}(g^{index}^{raise}), h^{raise}(g^{index + dist * // 1}^{raise}), h^{raise}(g^{index + dist * 2}^{raise}), ... let mut curr = domain . offset . pow ( & [ degree_to_raise ] ) * domain . gen ( ) . pow ( & [ coset_index ] ) . pow ( & [ degree_to_raise ] ) ; let step = domain . gen ( ) . pow ( & [ dist_between_coset_elems ] ) . pow ( & [ degree_to_raise ] ) ; for _ in 0 .. ( 1 << log_coset_size ) { result . push ( curr ) ; curr *= step ; } result }
return evaluation of x^{degree_to_raise} at specific location
return evaluation of x^ { degree_to_raise } at specific location
domain
Radix2CosetDomain<F>
degree_to_raise
u64
log_coset_size
u64
coset_index
u64