arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
Allow CS being none for into_edwards  (#16)

* allow cs being none for into_edwards
Weikeng Chen w.k@berkeley.edu
Mon, 16 Nov 2020 01:39:07 -0800
commit

edc9a8ce025e1d43be2683fcd849411e3e76cf02

parent

18824c0c8366833335480707a94045f843154ebd

1 files changed, 11 insertions(+), 7 deletions(-)

jump to
M src/groups/curves/twisted_edwards/mod.rs → src/groups/curves/twisted_edwards/mod.rs

@@ -135,14 +135,18 @@ )?;

u.mul_equals(&self.y, &self.x)?; - let v = F::new_witness(ark_relations::ns!(cs, "v"), || { - let mut t0 = self.x.value()?; - let mut t1 = t0; - t0 -= &P::BaseField::one(); - t1 += &P::BaseField::one(); + let v = F::new_variable( + ark_relations::ns!(cs, "v"), + || { + let mut t0 = self.x.value()?; + let mut t1 = t0; + t0 -= &P::BaseField::one(); + t1 += &P::BaseField::one(); - Ok(t0 * &t1.inverse().ok_or(SynthesisError::DivisionByZero)?) - })?; + Ok(t0 * &t1.inverse().ok_or(SynthesisError::DivisionByZero)?) + }, + mode, + )?; let xplusone = &self.x + P::BaseField::one(); let xminusone = &self.x - P::BaseField::one();