pub trait CurveWithScalar:
'static
+ CurveArithmetic
+ Send
+ Sync {
type ReprSize: ArraySize<ArrayType<u8>: Copy> + Mul<U2, Output: ArraySize<ArrayType<u8>: Copy>>;
// Required methods
fn from_bytes_mod_order_wide(
input: &Array<u8, Prod<<Self as CurveWithScalar>::ReprSize, U2>>,
) -> Scalar<Self>;
fn from_canonical_bytes(
bytes: &Array<u8, <Self as CurveWithScalar>::ReprSize>,
) -> CtOption<Scalar<Self>>;
fn to_repr(
scalar: &Scalar<Self>,
) -> Array<u8, <Self as CurveWithScalar>::ReprSize>;
}Required Associated Types§
type ReprSize: ArraySize<ArrayType<u8>: Copy> + Mul<U2, Output: ArraySize<ArrayType<u8>: Copy>>
Required Methods§
fn from_bytes_mod_order_wide( input: &Array<u8, Prod<<Self as CurveWithScalar>::ReprSize, U2>>, ) -> Scalar<Self>
fn from_canonical_bytes( bytes: &Array<u8, <Self as CurveWithScalar>::ReprSize>, ) -> CtOption<Scalar<Self>>
fn to_repr( scalar: &Scalar<Self>, ) -> Array<u8, <Self as CurveWithScalar>::ReprSize>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.