File tree Expand file tree Collapse file tree 3 files changed +14
-13
lines changed Expand file tree Collapse file tree 3 files changed +14
-13
lines changed Original file line number Diff line number Diff line change @@ -84,14 +84,3 @@ pub trait PrimeCurveArithmetic:
84
84
/// Prime order elliptic curve group.
85
85
type CurveGroup : group:: prime:: PrimeCurve < Affine = <Self as CurveArithmetic >:: AffinePoint > ;
86
86
}
87
-
88
- /// Normalize point(s) in projective representation by converting them to their affine ones.
89
- pub trait BatchNormalize < Points : ?Sized > : group:: Curve {
90
- /// The output of the batch normalization; a container of affine points.
91
- type Output : AsRef < [ Self :: AffineRepr ] > ;
92
-
93
- /// Perform a batched conversion to affine representation on a sequence of projective points
94
- /// at an amortized cost that should be practically as efficient as a single conversion.
95
- /// Internally, implementors should rely upon `InvertBatch`.
96
- fn batch_normalize ( points : & Points ) -> <Self as BatchNormalize < Points > >:: Output ;
97
- }
Original file line number Diff line number Diff line change @@ -127,8 +127,8 @@ pub use zeroize;
127
127
#[ cfg( feature = "arithmetic" ) ]
128
128
pub use {
129
129
crate :: {
130
- arithmetic:: { BatchNormalize , CurveArithmetic , PrimeCurveArithmetic } ,
131
- point:: { AffinePoint , ProjectivePoint } ,
130
+ arithmetic:: { CurveArithmetic , PrimeCurveArithmetic } ,
131
+ point:: { AffinePoint , BatchNormalize , ProjectivePoint } ,
132
132
public_key:: PublicKey ,
133
133
scalar:: { NonZeroScalar , Scalar } ,
134
134
} ,
Original file line number Diff line number Diff line change @@ -32,6 +32,18 @@ pub trait AffineCoordinates {
32
32
fn y_is_odd ( & self ) -> Choice ;
33
33
}
34
34
35
+ /// Normalize point(s) in projective representation by converting them to their affine ones.
36
+ #[ cfg( feature = "arithmetic" ) ]
37
+ pub trait BatchNormalize < Points : ?Sized > : group:: Curve {
38
+ /// The output of the batch normalization; a container of affine points.
39
+ type Output : AsRef < [ Self :: AffineRepr ] > ;
40
+
41
+ /// Perform a batched conversion to affine representation on a sequence of projective points
42
+ /// at an amortized cost that should be practically as efficient as a single conversion.
43
+ /// Internally, implementors should rely upon `InvertBatch`.
44
+ fn batch_normalize ( points : & Points ) -> <Self as BatchNormalize < Points > >:: Output ;
45
+ }
46
+
35
47
/// Double a point (i.e. add it to itself)
36
48
pub trait Double {
37
49
/// Double this point.
You can’t perform that action at this time.
0 commit comments