Trait snarkvm_curves::traits::group::Group [−][src]
pub trait Group: ToBytes + FromBytes + Copy + Clone + Debug + Display + Default + Send + Sync + 'static + Eq + Hash + Neg<Output = Self> + UniformRand + Zero + Add<Self, Output = Self> + Sub<Self, Output = Self> + Mul<Self::ScalarField, Output = Self> + AddAssign<Self> + SubAssign<Self> + MulAssign<Self::ScalarField> + for<'a> Add<&'a Self, Output = Self> + for<'a> Sub<&'a Self, Output = Self> + for<'a> AddAssign<&'a Self> + for<'a> SubAssign<&'a Self> { type ScalarField: PrimeField + SquareRootField + Into<<Self::ScalarField as PrimeField>::BigInteger>; fn double(&self) -> Self; fn double_in_place(&mut self); }
Associated Types
type ScalarField: PrimeField + SquareRootField + Into<<Self::ScalarField as PrimeField>::BigInteger>
Required methods
fn double_in_place(&mut self)
fn double_in_place(&mut self)
Sets self := self + self
.
Implementors
impl<P: Parameters> Group for snarkvm_curves::templates::short_weierstrass::short_weierstrass_jacobian::GroupAffine<P>
impl<P: Parameters> Group for snarkvm_curves::templates::short_weierstrass::short_weierstrass_jacobian::GroupProjective<P>
impl<P: Parameters> Group for snarkvm_curves::templates::short_weierstrass::short_weierstrass_projective::GroupAffine<P>
impl<P: Parameters> Group for snarkvm_curves::templates::short_weierstrass::short_weierstrass_projective::GroupProjective<P>
impl<P: Parameters> Group for snarkvm_curves::templates::twisted_edwards_extended::GroupAffine<P>
impl<P: Parameters> Group for snarkvm_curves::templates::twisted_edwards_extended::GroupProjective<P>