use c41417::big::NLEN;
use super::super::arch::Chunk;
use types::{ModType, CurveType, CurvePairingType, SexticTwist, SignOfX};
pub const MODULUS: [Chunk; NLEN] = [
0xFFFFFFFFFFFFFEF,
0xFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFF,
0x3FFFFFFFFFFFFF,
];
pub const R2MODP: [Chunk; NLEN] = [0x121000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0];
pub const MCONST: Chunk = 0x11;
pub const CURVE_COF_I: isize = 8;
pub const CURVE_A: isize = 1;
pub const CURVE_B_I: isize = 3617;
pub const CURVE_COF: [Chunk; NLEN] = [0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0];
pub const CURVE_B: [Chunk; NLEN] = [0xE21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0];
pub const CURVE_ORDER: [Chunk; NLEN] = [
0xB0E71A5E106AF79,
0x1C0338AD63CF181,
0x414CF706022B36F,
0xFFFFFFFFEB3CC92,
0xFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFF,
0x7FFFFFFFFFFFF,
];
pub const CURVE_GX: [Chunk; NLEN] = [
0x4FD3812F3CBC595,
0x1A73FAA8537C64C,
0x4AB4D6D6BA11130,
0x3EC7F57FF35498A,
0xE5FCD46369F44C0,
0x300218C0631C326,
0x1A334905141443,
];
pub const CURVE_GY: [Chunk; NLEN] = [0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0];
pub const MODBYTES: usize = 52;
pub const BASEBITS: usize = 60;
pub const MODBITS: usize = 414;
pub const MOD8: usize = 7;
pub const MODTYPE: ModType = ModType::PSEUDO_MERSENNE;
pub const SH: usize = 6;
pub const CURVETYPE: CurveType = CurveType::EDWARDS;
pub const CURVE_PAIRING_TYPE: CurvePairingType = CurvePairingType::NOT;
pub const SEXTIC_TWIST: SexticTwist = SexticTwist::NOT;
pub const ATE_BITS: usize = 0;
pub const SIGN_OF_X: SignOfX = SignOfX::NOT;
pub const HASH_TYPE: usize = 64;
pub const AESKEY: usize = 32;