1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2#![doc = include_str!("../README.md")]
3#![no_std]
4#![allow(non_snake_case)]
5
6use core::fmt::Debug;
7
8use zeroize::Zeroize;
9use group::ff::PrimeField;
10
11mod affine;
12pub use affine::Affine;
13mod projective;
14pub use projective::Projective;
15
16pub trait ShortWeierstrass: 'static + Sized + Debug {
18 type FieldElement: Zeroize + PrimeField;
20 const A: Self::FieldElement;
22 const B: Self::FieldElement;
24 const GENERATOR: Affine<Self>;
26 type Scalar;
30}