Browse Source

Add optimization for bls12_381 and bn254

fq2_neg_nonresidue
ValarDragon 3 years ago
parent
commit
64ece6414f
2 changed files with 24 additions and 0 deletions
  1. +12
    -0
      bls12_381/src/fields/fq2.rs
  2. +12
    -0
      bn254/src/fields/fq2.rs

+ 12
- 0
bls12_381/src/fields/fq2.rs

@ -29,6 +29,18 @@ impl Fp2Parameters for Fq2Parameters {
fn mul_fp_by_nonresidue(fp: &Self::Fp) -> Self::Fp {
-(*fp)
}
// x + -1 * y, computed as x - y
#[inline(always)]
fn add_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
*x - y
}
// x - (-1 * y), computed as x + y
#[inline(always)]
fn sub_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
*x + y
}
}
pub const FQ2_ZERO: Fq2 = field_new!(Fq2, FQ_ZERO, FQ_ZERO);

+ 12
- 0
bn254/src/fields/fq2.rs

@ -32,6 +32,18 @@ impl Fp2Parameters for Fq2Parameters {
fn mul_fp_by_nonresidue(fe: &Self::Fp) -> Self::Fp {
-(*fe)
}
// x + -1 * y, computed as x - y
#[inline(always)]
fn add_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
*x - y
}
// x - (-1 * y), computed as x + y
#[inline(always)]
fn sub_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
*x + y
}
}
pub const FQ2_ZERO: Fq2 = field_new!(Fq2, FQ_ZERO, FQ_ZERO);

Loading…
Cancel
Save