use crate::fields::{cubic_extension::*, fp::FpVar}; use ark_ff::fields::{CubicExtConfig, Fp3ConfigWrapper}; use ark_ff::Fp3Config; /// A cubic extension field constructed over a prime field. /// This is the R1CS equivalent of `ark_ff::Fp3

`. pub type Fp3Var

= CubicExtVar::Fp>, Fp3ConfigWrapper

>; impl CubicExtVarConfig> for Fp3ConfigWrapper

{ fn mul_base_field_vars_by_frob_coeff( c1: &mut FpVar, c2: &mut FpVar, power: usize, ) { *c1 *= Self::FROBENIUS_COEFF_C1[power % Self::DEGREE_OVER_BASE_PRIME_FIELD]; *c2 *= Self::FROBENIUS_COEFF_C2[power % Self::DEGREE_OVER_BASE_PRIME_FIELD]; } }