pub trait BnParameters: 'static {
    type Fp: PrimeField + Into<<Self::Fp as PrimeField>::BigInt>;
    type Fp2Config: Fp2Config<Fp = Self::Fp>;
    type Fp6Config: Fp6Config<Fp2Config = Self::Fp2Config>;
    type Fp12Config: Fp12Config<Fp6Config = Self::Fp6Config>;
    type G1Parameters: SWCurveConfig<BaseField = Self::Fp>;
    type G2Parameters: SWCurveConfig<BaseField = Fp2<Self::Fp2Config>, ScalarField = <Self::G1Parameters as CurveConfig>::ScalarField>;

    const X: &'static [u64];
    const X_IS_NEGATIVE: bool;
    const ATE_LOOP_COUNT: &'static [i8];
    const TWIST_TYPE: TwistType;
    const TWIST_MUL_BY_Q_X: Fp2<Self::Fp2Config>;
    const TWIST_MUL_BY_Q_Y: Fp2<Self::Fp2Config>;
}

Required Associated Types§

Required Associated Constants§

The absolute value of the BN curve parameter X (as in q = 36 X^4 + 36 X^3 + 24 X^2 + 6 X + 1).

Whether or not X is negative.

The absolute value of 6X + 2.

Implementors§