Separate types for affine / special group points
dtebbs opened this issue · comments
Separating out the types for group elements in special form (e.g. new types G1Affine
and G2Affine
etc) would have several advantages:
- the user of the library does not need to manually keep track of the form of each element (which can easily lead to errors)
- more optimizations can be enabled automatically
- affine elements take up less memory, and in some cases can be streamed directly from disk with no other logic required
(Note that this is much easier if we had generic G1 and G2 classees, with implementations providing the details, rather then each implementation fully defining the types G1 and G2.)