diff --git a/plonky2/src/curve/glv.rs b/plonky2/src/curve/glv.rs index a2786e31..591f61ea 100644 --- a/plonky2/src/curve/glv.rs +++ b/plonky2/src/curve/glv.rs @@ -55,9 +55,9 @@ pub fn decompose_secp256k1_scalar( } else { k1_raw }; - let k2_neg = k2_raw.to_biguint() > p.clone() / two.clone(); + let k2_neg = k2_raw.to_biguint() > p.clone() / two; let k2 = if k2_neg { - Secp256K1Scalar::from_biguint(p.clone() - k2_raw.to_biguint()) + Secp256K1Scalar::from_biguint(p - k2_raw.to_biguint()) } else { k2_raw }; @@ -67,8 +67,8 @@ pub fn decompose_secp256k1_scalar( pub fn glv_mul(p: ProjectivePoint, k: Secp256K1Scalar) -> ProjectivePoint { let (k1, k2, k1_neg, k2_neg) = decompose_secp256k1_scalar(k); - let one = Secp256K1Scalar::ONE; - /*let m1 = if k1_neg { -one } else { one }; + /*let one = Secp256K1Scalar::ONE; + let m1 = if k1_neg { -one } else { one }; let m2 = if k2_neg { -one } else { one }; assert!(k1 * m1 + S * k2 * m2 == k);*/ @@ -80,7 +80,11 @@ pub fn glv_mul(p: ProjectivePoint, k: Secp256K1Scalar) -> ProjectiveP }; let first = if k1_neg { p.neg() } else { p }; - let second = if k2_neg { sp.to_projective().neg() } else { sp.to_projective() }; + let second = if k2_neg { + sp.to_projective().neg() + } else { + sp.to_projective() + }; msm_parallel(&[k1, k2], &[first, second], 5) } diff --git a/plonky2/src/gadgets/glv.rs b/plonky2/src/gadgets/glv.rs index 5614de55..89013dd1 100644 --- a/plonky2/src/gadgets/glv.rs +++ b/plonky2/src/gadgets/glv.rs @@ -37,8 +37,8 @@ impl, const D: usize> CircuitBuilder { k: k.clone(), k1: k1.clone(), k2: k2.clone(), - k1_neg: k1_neg.clone(), - k2_neg: k2_neg.clone(), + k1_neg, + k2_neg, _phantom: PhantomData, }); @@ -91,8 +91,8 @@ impl, const D: usize> SimpleGenerator out_buffer.set_nonnative_target(self.k1.clone(), k1); out_buffer.set_nonnative_target(self.k2.clone(), k2); - out_buffer.set_bool_target(self.k1_neg.clone(), k1_neg); - out_buffer.set_bool_target(self.k2_neg.clone(), k2_neg); + out_buffer.set_bool_target(self.k1_neg, k1_neg); + out_buffer.set_bool_target(self.k2_neg, k2_neg); } }