1mod arithmetic;
2pub mod ff_ext;
3pub mod fft;
4pub mod hash_to_curve;
5pub mod msm;
6pub mod serde;
78pub mod bls12_381;
9pub mod bn256;
10pub mod ed25519;
11pub mod grumpkin;
12pub mod pasta;
13pub mod pluto_eris;
14pub mod secp256k1;
15pub mod secp256r1;
16pub mod secq256k1;
1718#[macro_use]
19mod derive;
2021// Re-export to simplify down stream dependencies
22pub use arithmetic::CurveAffineExt;
23pub use ff;
24pub use group;
25pub use pairing;
26pub use pasta_curves::arithmetic::{Coordinates, CurveAffine, CurveExt};
2728#[cfg(test)]
29pub mod tests;
3031#[cfg(all(feature = "prefetch", target_arch = "x86_64"))]
32#[inline(always)]
33pub fn prefetch<T>(data: &[T], offset: usize) {
34use core::arch::x86_64::_mm_prefetch;
35unsafe {
36 _mm_prefetch(
37 data.as_ptr().add(offset) as *const i8,
38 core::arch::x86_64::_MM_HINT_T0,
39 );
40 }
41}