pub enum Coordinates<'a, Size: ModulusSize> {
Identity,
Compact {
x: &'a GenericArray<u8, Size>,
},
Compressed {
x: &'a GenericArray<u8, Size>,
y_is_odd: bool,
},
Uncompressed {
x: &'a GenericArray<u8, Size>,
y: &'a GenericArray<u8, Size>,
},
}
Available on crate feature
point
only.Expand description
Enum representing the coordinates of either compressed or uncompressed SEC1-encoded elliptic curve points.
Variants§
Identity
Identity point (a.k.a. point at infinity)
Compact
Compact curve point
Fields
§
x: &'a GenericArray<u8, Size>
x-coordinate
Compressed
Compressed curve point
Uncompressed
Uncompressed curve point
Implementations§
Source§impl<'a, Size: ModulusSize> Coordinates<'a, Size>
impl<'a, Size: ModulusSize> Coordinates<'a, Size>
Sourcepub fn tag(&self) -> Tag
pub fn tag(&self) -> Tag
Get the tag octet needed to encode this set of Coordinates
Trait Implementations§
Source§impl<'a, Size: Clone + ModulusSize> Clone for Coordinates<'a, Size>
impl<'a, Size: Clone + ModulusSize> Clone for Coordinates<'a, Size>
Source§fn clone(&self) -> Coordinates<'a, Size>
fn clone(&self) -> Coordinates<'a, Size>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a, Size: Debug + ModulusSize> Debug for Coordinates<'a, Size>
impl<'a, Size: Debug + ModulusSize> Debug for Coordinates<'a, Size>
Source§impl<'a, Size: PartialEq + ModulusSize> PartialEq for Coordinates<'a, Size>
impl<'a, Size: PartialEq + ModulusSize> PartialEq for Coordinates<'a, Size>
impl<'a, Size: Copy + ModulusSize> Copy for Coordinates<'a, Size>
impl<'a, Size: Eq + ModulusSize> Eq for Coordinates<'a, Size>
impl<'a, Size: ModulusSize> StructuralPartialEq for Coordinates<'a, Size>
Auto Trait Implementations§
impl<'a, Size> Freeze for Coordinates<'a, Size>
impl<'a, Size> RefUnwindSafe for Coordinates<'a, Size>
impl<'a, Size> Send for Coordinates<'a, Size>
impl<'a, Size> Sync for Coordinates<'a, Size>
impl<'a, Size> Unpin for Coordinates<'a, Size>
impl<'a, Size> UnwindSafe for Coordinates<'a, Size>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes
Size for each variant:
Identity
: 0 bytesCompact
: 15 bytesCompressed
: 15 bytesUncompressed
: 23 bytes