arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
Simplify a few "if" structures
François Garillot francois@garillot.net
Mon, 02 Dec 2019 07:30:54 -0800
commit

b42d5f8d36e24b7b2526dba861e589c625384746

parent

53a51eb4dc5945f07b6c3a3923ab074edacd95c9

M r1cs-std/src/bits/boolean.rs → r1cs-std/src/bits/boolean.rs

@@ -201,7 +201,7 @@ }

impl PartialEq for AllocatedBit { fn eq(&self, other: &Self) -> bool { - !self.value.is_none() && !other.value.is_none() && self.value == other.value + self.value.is_some() && other.value.is_some() && self.value == other.value } }
M r1cs-std/src/bits/uint32.rs → r1cs-std/src/bits/uint32.rs

@@ -312,7 +312,7 @@ }

impl PartialEq for UInt32 { fn eq(&self, other: &Self) -> bool { - !self.value.is_none() && !other.value.is_none() && self.value == other.value + self.value.is_some() && other.value.is_some() && self.value == other.value } }
M r1cs-std/src/bits/uint8.rs → r1cs-std/src/bits/uint8.rs

@@ -183,7 +183,7 @@ }

impl PartialEq for UInt8 { fn eq(&self, other: &Self) -> bool { - !self.value.is_none() && !other.value.is_none() && self.value == other.value + self.value.is_some() && other.value.is_some() && self.value == other.value } }
M r1cs-std/src/fields/fp.rs → r1cs-std/src/fields/fp.rs

@@ -275,7 +275,7 @@ }

impl<F: PrimeField> PartialEq for FpGadget<F> { fn eq(&self, other: &Self) -> bool { - !self.value.is_none() && !other.value.is_none() && self.value == other.value + self.value.is_some() && other.value.is_some() && self.value == other.value } }
M r1cs-std/src/groups/curves/twisted_edwards/mod.rs → r1cs-std/src/groups/curves/twisted_edwards/mod.rs

@@ -58,15 +58,13 @@ p: &TEAffine<P>,

) -> Result<(P::BaseField, P::BaseField), SynthesisError> { let montgomery_point: GroupAffine<P> = if p.y == P::BaseField::one() { GroupAffine::zero() + } else if p.x == P::BaseField::zero() { + GroupAffine::new(P::BaseField::zero(), P::BaseField::zero()) } else { - if p.x == P::BaseField::zero() { - GroupAffine::new(P::BaseField::zero(), P::BaseField::zero()) - } else { - let u = (P::BaseField::one() + &p.y) - * &(P::BaseField::one() - &p.y).inverse().unwrap(); - let v = u * &p.x.inverse().unwrap(); - GroupAffine::new(u, v) - } + let u = (P::BaseField::one() + &p.y) + * &(P::BaseField::one() - &p.y).inverse().unwrap(); + let v = u * &p.x.inverse().unwrap(); + GroupAffine::new(u, v) }; Ok((montgomery_point.x, montgomery_point.y))