pub struct Scalar { /* private fields */ }Expand description
The Scalar struct is a wrapper around u64 which has optional fast modular arithmetic through ScalarContext.
Implementations§
Trait Implementations§
Source§impl ArithOperators for Scalar
impl ArithOperators for Scalar
Source§impl ArithUtils<Scalar> for Scalar
impl ArithUtils<Scalar> for Scalar
Source§fn new_modulus(q: u64) -> Scalar
fn new_modulus(q: u64) -> Scalar
Construct a new “modulus”, which is a u64 plus information needed for fast modular reduction.
fn sub(a: &Scalar, b: &Scalar) -> Scalar
fn div(a: &Scalar, b: &Scalar) -> Scalar
fn add_mod(a: &Scalar, b: &Scalar, q: &Scalar) -> Scalar
fn sub_mod(a: &Scalar, b: &Scalar, q: &Scalar) -> Scalar
fn mul_mod(a: &Scalar, b: &Scalar, q: &Scalar) -> Scalar
fn inv_mod(a: &Scalar, q: &Scalar) -> Scalar
fn from_u32(a: u32, q: &Scalar) -> Scalar
fn from_u32_raw(a: u32) -> Scalar
fn from_u64_raw(a: u64) -> Scalar
fn pow_mod(base: &Scalar, b: &Scalar, q: &Scalar) -> Scalar
fn double(a: &Scalar) -> Scalar
fn sample_blw(upper_bound: &Scalar) -> Scalar
fn sample_below_from_rng(upper_bound: &Scalar, rng: &mut dyn Rng) -> Self
fn modulus(a: &Scalar, q: &Scalar) -> Scalar
fn mul(a: &Scalar, b: &Scalar) -> Scalar
fn to_u64(a: &Scalar) -> u64
fn add(a: &Scalar, b: &Scalar) -> Scalar
fn one() -> T
fn zero() -> T
Source§impl Serializable for Scalar
impl Serializable for Scalar
impl SuperTrait<Scalar> for Scalar
Trait implementations
Auto Trait Implementations§
impl Freeze for Scalar
impl RefUnwindSafe for Scalar
impl Send for Scalar
impl Sync for Scalar
impl Unpin for Scalar
impl UnwindSafe for Scalar
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