Skip to content

Implement BatchNormalize for NonIdentity #1889

@daxpedda

Description

@daxpedda

Implementing BatchNormalize for NonIdentity is currently not possible because the implementation needs access to various internals that are currently not abstracted over in elliptic-curve. So the implementation currently has to live where ProjectivePoint is defined, e.g. primeorder.

Because NonIdentity is a non-local type for e.g. primeorder, it can't implement BatchNormalize for it. However, we can always implement it in elliptic-curve by allocating more memory to basically make a copy of the given list converted to ProjectivePoints and call its BatchNormalize implementation.

One more thing that comes to mind: make NonIdentity #[transparent] and transmute the given slice to ProjectivePoints without having to allocate additional memory. Which is unsafe ofc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions