Trait cryptix_field::ring::Ring

source ·
pub trait Ring: Sized + AbelianGroup + Mul<Output = Self> + AssociativeMul + DistributiveMul { }
Expand description

(R, add, mul) is a ring if

  1. (R, add) is an abelian group
  2. R is closed under multiplication
  3. multiplication in R is associative
  4. multiplication is distributed over addition

Implementors§

source§

impl<I, M> Ring for FpElement<I, M>where M: PrimeModular<I>, Self: Mul<Output = Self> + AssociativeMul + DistributiveMul + AbelianGroup,

source§

impl<I, M> Ring for Element<I, M>where M: Modular<I>, Self: Mul<Output = Self> + AssociativeMul + DistributiveMul + AbelianGroup,