pub trait DistributiveMul: Sized + Mul<Output = Self> + Add<Output = Self> { }
Expand description

Safety

this trait is safe only when for all a, b, c: a * (b + c) = a * b + a * c

Implementors§

source§

impl<I, M> DistributiveMul for FpElement<I, M>where M: Montgomery<I>, I: BigIntOpsExt,

Safety

our element type is backed by biguint, so mod mul is distributive over add

source§

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

Safety

our element type is backed by biguint, so mod mul is distributive over add