pub struct RnsParameters<E: Engine, F: PrimeField> {Show 17 fields
pub binary_limbs_params: LimbedRepresentationParameters<E>,
pub num_binary_limbs: usize,
pub binary_modulus: BigUint,
pub num_limbs_for_in_field_representation: usize,
pub base_field_modulus: BigUint,
pub binary_representation_max_value: BigUint,
pub represented_field_modulus: BigUint,
pub binary_limbs_bit_widths: Vec<usize>,
pub binary_limbs_max_values: Vec<BigUint>,
pub represented_field_modulus_limbs: Vec<E::Fr>,
pub represented_field_modulus_negated_limbs_biguints: Vec<BigUint>,
pub represented_field_modulus_negated_limbs: Vec<E::Fr>,
pub represented_field_modulus_in_base_field: E::Fr,
pub represented_field_modulus_negated_in_base_field: E::Fr,
pub range_check_info: RangeConstraintInfo,
pub prefer_single_limb_allocation: bool,
pub prefer_single_limb_carry_propagation: bool,
/* private fields */
}
Fields§
§binary_limbs_params: LimbedRepresentationParameters<E>
§num_binary_limbs: usize
§binary_modulus: BigUint
§num_limbs_for_in_field_representation: usize
§base_field_modulus: BigUint
§binary_representation_max_value: BigUint
§represented_field_modulus: BigUint
§binary_limbs_bit_widths: Vec<usize>
§binary_limbs_max_values: Vec<BigUint>
§represented_field_modulus_limbs: Vec<E::Fr>
§represented_field_modulus_negated_limbs_biguints: Vec<BigUint>
§represented_field_modulus_negated_limbs: Vec<E::Fr>
§represented_field_modulus_in_base_field: E::Fr
§represented_field_modulus_negated_in_base_field: E::Fr
§range_check_info: RangeConstraintInfo
§prefer_single_limb_allocation: bool
§prefer_single_limb_carry_propagation: bool
Implementations§
Source§impl<'a, E: Engine, F: PrimeField> RnsParameters<E, F>
impl<'a, E: Engine, F: PrimeField> RnsParameters<E, F>
pub fn max_representable_value(&self) -> BigUint
pub fn rns_system_max_value(&self) -> BigUint
pub fn new_for_field( limb_size: usize, intermediate_limb_capacity: usize, num_binary_limbs: usize, ) -> Self
pub fn new_for_field_with_strategy( limb_size: usize, intermediate_limb_capacity: usize, num_binary_limbs: usize, strategy: RangeConstraintInfo, prefer_single_limb_allocation: bool, ) -> Self
pub fn can_allocate_from_double_limb_witness(&self) -> bool
pub fn set_prefer_single_limb_allocation(&mut self, new_value: bool)
pub fn set_prefer_double_limb_carry_propagation(&mut self, value: bool)
pub fn propagate_carries_using_double_limbs(&self) -> bool
Trait Implementations§
Source§impl<E: Clone + Engine, F: Clone + PrimeField> Clone for RnsParameters<E, F>
impl<E: Clone + Engine, F: Clone + PrimeField> Clone for RnsParameters<E, F>
Source§fn clone(&self) -> RnsParameters<E, F>
fn clone(&self) -> RnsParameters<E, F>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<E: Debug + Engine, F: Debug + PrimeField> Debug for RnsParameters<E, F>
impl<E: Debug + Engine, F: Debug + PrimeField> Debug for RnsParameters<E, F>
Source§impl<'de, E: Engine, F: PrimeField> Deserialize<'de> for RnsParameters<E, F>
impl<'de, E: Engine, F: PrimeField> Deserialize<'de> for RnsParameters<E, F>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<E: PartialEq + Engine, F: PartialEq + PrimeField> PartialEq for RnsParameters<E, F>
impl<E: PartialEq + Engine, F: PartialEq + PrimeField> PartialEq for RnsParameters<E, F>
Source§impl<E: Engine, F: PrimeField> Serialize for RnsParameters<E, F>
impl<E: Engine, F: PrimeField> Serialize for RnsParameters<E, F>
impl<E: Eq + Engine, F: Eq + PrimeField> Eq for RnsParameters<E, F>
impl<E: Engine, F: PrimeField> StructuralPartialEq for RnsParameters<E, F>
Auto Trait Implementations§
impl<E, F> Freeze for RnsParameters<E, F>
impl<E, F> RefUnwindSafe for RnsParameters<E, F>
impl<E, F> Send for RnsParameters<E, F>
impl<E, F> Sync for RnsParameters<E, F>
impl<E, F> Unpin for RnsParameters<E, F>
impl<E, F> UnwindSafe for RnsParameters<E, F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more