From c7fda246ca4c3f009d419ffce5103736be247b2f Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Wed, 10 Nov 2021 11:53:45 -0800 Subject: [PATCH] fixes --- src/field/field_types.rs | 4 ---- src/gadgets/curve.rs | 16 ++++++++-------- src/gadgets/nonnative.rs | 11 ++++++----- src/iop/generator.rs | 4 ++-- src/iop/witness.rs | 4 ++-- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/field/field_types.rs b/src/field/field_types.rs index 80eeecff..b7b9ddf4 100644 --- a/src/field/field_types.rs +++ b/src/field/field_types.rs @@ -93,10 +93,6 @@ pub trait Field: self.square() * *self } - fn double(&self) -> Self { - *self * Self::TWO - } - fn triple(&self) -> Self { *self * (Self::ONE + Self::TWO) } diff --git a/src/gadgets/curve.rs b/src/gadgets/curve.rs index fe6ae306..5acd38d2 100644 --- a/src/gadgets/curve.rs +++ b/src/gadgets/curve.rs @@ -1,18 +1,18 @@ use crate::curve::curve_types::{AffinePoint, Curve}; use crate::field::extension_field::Extendable; use crate::field::field_types::{Field, RichField}; -use crate::gadgets::nonnative::ForeignFieldTarget; +use crate::gadgets::nonnative::NonNativeTarget; use crate::plonk::circuit_builder::CircuitBuilder; /// A Target representing an affine point on the curve `C`. #[derive(Clone, Debug)] pub struct AffinePointTarget { - pub x: ForeignFieldTarget, - pub y: ForeignFieldTarget, + pub x: NonNativeTarget, + pub y: NonNativeTarget, } impl AffinePointTarget { - pub fn to_vec(&self) -> Vec> { + pub fn to_vec(&self) -> Vec> { vec![self.x.clone(), self.y.clone()] } } @@ -130,8 +130,8 @@ mod tests { use crate::curve::curve_types::{AffinePoint, Curve}; use crate::curve::secp256k1::Secp256K1; - use crate::field::crandall_field::CrandallField; use crate::field::field_types::Field; + use crate::field::goldilocks_field::GoldilocksField; use crate::field::secp256k1_base::Secp256K1Base; use crate::iop::witness::PartialWitness; use crate::plonk::circuit_builder::CircuitBuilder; @@ -140,7 +140,7 @@ mod tests { #[test] fn test_curve_point_is_valid() -> Result<()> { - type F = CrandallField; + type F = GoldilocksField; const D: usize = 4; let config = CircuitConfig::large_config(); @@ -164,7 +164,7 @@ mod tests { #[test] #[should_panic] fn test_curve_point_is_not_valid() { - type F = CrandallField; + type F = GoldilocksField; const D: usize = 4; let config = CircuitConfig::large_config(); @@ -190,7 +190,7 @@ mod tests { #[test] fn test_curve_double() -> Result<()> { - type F = CrandallField; + type F = GoldilocksField; const D: usize = 4; let config = CircuitConfig::large_config(); diff --git a/src/gadgets/nonnative.rs b/src/gadgets/nonnative.rs index 0f16ddc3..10629ad9 100644 --- a/src/gadgets/nonnative.rs +++ b/src/gadgets/nonnative.rs @@ -10,8 +10,9 @@ use crate::iop::target::Target; use crate::iop::witness::{PartitionWitness, Witness}; use crate::plonk::circuit_builder::CircuitBuilder; +#[derive(Clone, Debug)] pub struct NonNativeTarget { - value: BigUintTarget, + pub(crate) value: BigUintTarget, _phantom: PhantomData, } @@ -107,8 +108,8 @@ impl, const D: usize> CircuitBuilder { inv } - /// Returns `x % |FF|` as a `ForeignFieldTarget`. - fn reduce(&mut self, x: &BigUintTarget) -> ForeignFieldTarget { + /// Returns `x % |FF|` as a `NonNativeTarget`. + fn reduce(&mut self, x: &BigUintTarget) -> NonNativeTarget { let modulus = FF::order(); let order_target = self.constant_biguint(&modulus); let value = self.rem_biguint(x, &order_target); @@ -131,8 +132,8 @@ impl, const D: usize> CircuitBuilder { #[derive(Debug)] struct NonNativeInverseGenerator, const D: usize, FF: Field> { - x: ForeignFieldTarget, - inv: ForeignFieldTarget, + x: NonNativeTarget, + inv: NonNativeTarget, _phantom: PhantomData, } diff --git a/src/iop/generator.rs b/src/iop/generator.rs index ff7f66e0..ea4ac1f6 100644 --- a/src/iop/generator.rs +++ b/src/iop/generator.rs @@ -8,7 +8,7 @@ use crate::field::extension_field::{Extendable, FieldExtension}; use crate::field::field_types::{Field, RichField}; use crate::gadgets::arithmetic_u32::U32Target; use crate::gadgets::biguint::BigUintTarget; -use crate::gadgets::nonnative::ForeignFieldTarget; +use crate::gadgets::nonnative::NonNativeTarget; use crate::hash::hash_types::{HashOut, HashOutTarget}; use crate::iop::target::Target; use crate::iop::wire::Wire; @@ -169,7 +169,7 @@ impl GeneratedValues { } } - pub fn set_nonnative_target(&mut self, target: ForeignFieldTarget, value: FF) { + pub fn set_nonnative_target(&mut self, target: NonNativeTarget, value: FF) { self.set_biguint_target(target.value, value.to_biguint()) } diff --git a/src/iop/witness.rs b/src/iop/witness.rs index d6f4fb59..8b6df90a 100644 --- a/src/iop/witness.rs +++ b/src/iop/witness.rs @@ -6,7 +6,7 @@ use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::{Extendable, FieldExtension}; use crate::field::field_types::Field; use crate::gadgets::biguint::BigUintTarget; -use crate::gadgets::nonnative::ForeignFieldTarget; +use crate::gadgets::nonnative::NonNativeTarget; use crate::hash::hash_types::HashOutTarget; use crate::hash::hash_types::{HashOut, MerkleCapTarget}; use crate::hash::merkle_tree::MerkleCap; @@ -69,7 +69,7 @@ pub trait Witness { result } - fn get_nonnative_target(&self, target: ForeignFieldTarget) -> FF { + fn get_nonnative_target(&self, target: NonNativeTarget) -> FF { let val = self.get_biguint_target(target.value); FF::from_biguint(val) }