Skip to content

Commit 65aefd2

Browse files
committed
gf_ext: add cubic extension field of GF32, GF32768
1 parent 4c06f72 commit 65aefd2

File tree

5 files changed

+282
-1
lines changed

5 files changed

+282
-1
lines changed

api/all-features.txt

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
impl !core::panic::unwind_safe::RefUnwindSafe for bech32::EncodeIoError
2222
impl !core::panic::unwind_safe::UnwindSafe for bech32::EncodeIoError
2323
impl bech32::primitives::ExtensionField for bech32::primitives::gf32_ext::Fe1024
24+
impl bech32::primitives::ExtensionField for bech32::primitives::gf32_ext::Fe32768
2425
impl bech32::primitives::Field for bech32::primitives::gf32::Fe32
2526
impl bech32::primitives::Field for bech32::primitives::gf32_ext::Fe1024
27+
impl bech32::primitives::Field for bech32::primitives::gf32_ext::Fe32768
2628
impl bech32::primitives::checksum::Checksum for bech32::primitives::Bech32
2729
impl bech32::primitives::checksum::Checksum for bech32::primitives::Bech32m
2830
impl bech32::primitives::checksum::Checksum for bech32::primitives::NoChecksum
@@ -337,42 +339,58 @@ impl core::ops::arith::Add<&bech32::primitives::gf32::Fe32> for &bech32::primiti
337339
impl core::ops::arith::Add<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
338340
impl core::ops::arith::Add<&bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
339341
impl core::ops::arith::Add<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
342+
impl core::ops::arith::Add<&bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
343+
impl core::ops::arith::Add<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
340344
impl core::ops::arith::Add<bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
341345
impl core::ops::arith::Add<bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
346+
impl core::ops::arith::Add<bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
342347
impl core::ops::arith::AddAssign for bech32::primitives::gf32::Fe32
343348
impl core::ops::arith::AddAssign<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
344349
impl core::ops::arith::AddAssign<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
350+
impl core::ops::arith::AddAssign<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
345351
impl core::ops::arith::Div for bech32::primitives::gf32::Fe32
346352
impl core::ops::arith::Div<&bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
347353
impl core::ops::arith::Div<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
348354
impl core::ops::arith::Div<&bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
349355
impl core::ops::arith::Div<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
356+
impl core::ops::arith::Div<&bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
357+
impl core::ops::arith::Div<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
350358
impl core::ops::arith::Div<bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
351359
impl core::ops::arith::Div<bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
360+
impl core::ops::arith::Div<bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
352361
impl core::ops::arith::DivAssign for bech32::primitives::gf32::Fe32
353362
impl core::ops::arith::DivAssign<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
354363
impl core::ops::arith::DivAssign<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
364+
impl core::ops::arith::DivAssign<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
355365
impl core::ops::arith::Mul for bech32::primitives::gf32::Fe32
356366
impl core::ops::arith::Mul<&bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
357367
impl core::ops::arith::Mul<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
358368
impl core::ops::arith::Mul<&bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
359369
impl core::ops::arith::Mul<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
370+
impl core::ops::arith::Mul<&bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
371+
impl core::ops::arith::Mul<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
360372
impl core::ops::arith::Mul<bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
361373
impl core::ops::arith::Mul<bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
374+
impl core::ops::arith::Mul<bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
362375
impl core::ops::arith::MulAssign for bech32::primitives::gf32::Fe32
363376
impl core::ops::arith::MulAssign<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
364377
impl core::ops::arith::MulAssign<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
378+
impl core::ops::arith::MulAssign<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
365379
impl core::ops::arith::Neg for bech32::primitives::gf32::Fe32
366380
impl core::ops::arith::Sub for bech32::primitives::gf32::Fe32
367381
impl core::ops::arith::Sub<&bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
368382
impl core::ops::arith::Sub<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
369383
impl core::ops::arith::Sub<&bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
370384
impl core::ops::arith::Sub<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
385+
impl core::ops::arith::Sub<&bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
386+
impl core::ops::arith::Sub<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
371387
impl core::ops::arith::Sub<bech32::primitives::gf32::Fe32> for &bech32::primitives::gf32::Fe32
372388
impl core::ops::arith::Sub<bech32::primitives::gf32_ext::Fe32Ext<2>> for &bech32::primitives::gf32_ext::Fe1024
389+
impl core::ops::arith::Sub<bech32::primitives::gf32_ext::Fe32Ext<3>> for &bech32::primitives::gf32_ext::Fe32768
373390
impl core::ops::arith::SubAssign for bech32::primitives::gf32::Fe32
374391
impl core::ops::arith::SubAssign<&bech32::primitives::gf32::Fe32> for bech32::primitives::gf32::Fe32
375392
impl core::ops::arith::SubAssign<&bech32::primitives::gf32_ext::Fe32Ext<2>> for bech32::primitives::gf32_ext::Fe1024
393+
impl core::ops::arith::SubAssign<&bech32::primitives::gf32_ext::Fe32Ext<3>> for bech32::primitives::gf32_ext::Fe32768
376394
impl core::ops::bit::BitXor for bech32::primitives::checksum::PackedNull
377395
impl core::panic::unwind_safe::RefUnwindSafe for bech32::DecodeError
378396
impl core::panic::unwind_safe::RefUnwindSafe for bech32::EncodeError
@@ -746,6 +764,14 @@ pub const bech32::primitives::gf32_ext::Fe1024::MULTIPLICATIVE_ORDER_FACTORS: &'
746764
pub const bech32::primitives::gf32_ext::Fe1024::ONE: Self
747765
pub const bech32::primitives::gf32_ext::Fe1024::POLYNOMIAL: Self
748766
pub const bech32::primitives::gf32_ext::Fe1024::ZERO: Self
767+
pub const bech32::primitives::gf32_ext::Fe32768::DEGREE: usize
768+
pub const bech32::primitives::gf32_ext::Fe32768::EXT_ELEM: Self
769+
pub const bech32::primitives::gf32_ext::Fe32768::GENERATOR: Self
770+
pub const bech32::primitives::gf32_ext::Fe32768::MULTIPLICATIVE_ORDER: usize
771+
pub const bech32::primitives::gf32_ext::Fe32768::MULTIPLICATIVE_ORDER_FACTORS: &'static [usize]
772+
pub const bech32::primitives::gf32_ext::Fe32768::ONE: Self
773+
pub const bech32::primitives::gf32_ext::Fe32768::POLYNOMIAL: Self
774+
pub const bech32::primitives::gf32_ext::Fe32768::ZERO: Self
749775
pub const bech32::primitives::hrp::BC: bech32::primitives::hrp::Hrp
750776
pub const bech32::primitives::hrp::BCRT: bech32::primitives::hrp::Hrp
751777
pub const bech32::primitives::hrp::TB: bech32::primitives::hrp::Hrp
@@ -781,6 +807,14 @@ pub fn &bech32::primitives::gf32_ext::Fe1024::mul(self, other: &bech32::primitiv
781807
pub fn &bech32::primitives::gf32_ext::Fe1024::mul(self, other: bech32::primitives::gf32_ext::Fe1024) -> bech32::primitives::gf32_ext::Fe1024
782808
pub fn &bech32::primitives::gf32_ext::Fe1024::sub(self, other: &bech32::primitives::gf32_ext::Fe1024) -> bech32::primitives::gf32_ext::Fe1024
783809
pub fn &bech32::primitives::gf32_ext::Fe1024::sub(self, other: bech32::primitives::gf32_ext::Fe1024) -> bech32::primitives::gf32_ext::Fe1024
810+
pub fn &bech32::primitives::gf32_ext::Fe32768::add(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
811+
pub fn &bech32::primitives::gf32_ext::Fe32768::add(self, other: bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
812+
pub fn &bech32::primitives::gf32_ext::Fe32768::div(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
813+
pub fn &bech32::primitives::gf32_ext::Fe32768::div(self, other: bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
814+
pub fn &bech32::primitives::gf32_ext::Fe32768::mul(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
815+
pub fn &bech32::primitives::gf32_ext::Fe32768::mul(self, other: bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
816+
pub fn &bech32::primitives::gf32_ext::Fe32768::sub(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
817+
pub fn &bech32::primitives::gf32_ext::Fe32768::sub(self, other: bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
784818
pub fn &bech32::primitives::gf32_ext::Fe32Ext<DEG>::mul(self, other: &bech32::primitives::gf32::Fe32) -> Self::Output
785819
pub fn &bech32::primitives::gf32_ext::Fe32Ext<DEG>::mul(self, other: bech32::primitives::gf32::Fe32) -> Self::Output
786820
pub fn bech32::ByteIterExt::bytes_to_fes(self) -> bech32::primitives::iter::BytesToFes<Self>
@@ -1021,6 +1055,20 @@ pub fn bech32::primitives::gf32_ext::Fe1024::mul_assign(&mut self, other: &bech3
10211055
pub fn bech32::primitives::gf32_ext::Fe1024::multiplicative_inverse(self) -> Self
10221056
pub fn bech32::primitives::gf32_ext::Fe1024::sub(self, other: &bech32::primitives::gf32_ext::Fe1024) -> bech32::primitives::gf32_ext::Fe1024
10231057
pub fn bech32::primitives::gf32_ext::Fe1024::sub_assign(&mut self, other: &bech32::primitives::gf32_ext::Fe1024)
1058+
pub fn bech32::primitives::gf32_ext::Fe32768::_add(&self, other: &Self) -> Self
1059+
pub fn bech32::primitives::gf32_ext::Fe32768::_div(&self, other: &Self) -> Self
1060+
pub fn bech32::primitives::gf32_ext::Fe32768::_mul(&self, other: &Self) -> Self
1061+
pub fn bech32::primitives::gf32_ext::Fe32768::_neg(self) -> Self
1062+
pub fn bech32::primitives::gf32_ext::Fe32768::_sub(&self, other: &Self) -> Self
1063+
pub fn bech32::primitives::gf32_ext::Fe32768::add(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
1064+
pub fn bech32::primitives::gf32_ext::Fe32768::add_assign(&mut self, other: &bech32::primitives::gf32_ext::Fe32768)
1065+
pub fn bech32::primitives::gf32_ext::Fe32768::div(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
1066+
pub fn bech32::primitives::gf32_ext::Fe32768::div_assign(&mut self, other: &bech32::primitives::gf32_ext::Fe32768)
1067+
pub fn bech32::primitives::gf32_ext::Fe32768::mul(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
1068+
pub fn bech32::primitives::gf32_ext::Fe32768::mul_assign(&mut self, other: &bech32::primitives::gf32_ext::Fe32768)
1069+
pub fn bech32::primitives::gf32_ext::Fe32768::multiplicative_inverse(self) -> Self
1070+
pub fn bech32::primitives::gf32_ext::Fe32768::sub(self, other: &bech32::primitives::gf32_ext::Fe32768) -> bech32::primitives::gf32_ext::Fe32768
1071+
pub fn bech32::primitives::gf32_ext::Fe32768::sub_assign(&mut self, other: &bech32::primitives::gf32_ext::Fe32768)
10241072
pub fn bech32::primitives::gf32_ext::Fe32Ext<DEG>::clone(&self) -> bech32::primitives::gf32_ext::Fe32Ext<DEG>
10251073
pub fn bech32::primitives::gf32_ext::Fe32Ext<DEG>::eq(&self, other: &bech32::primitives::gf32_ext::Fe32Ext<DEG>) -> bool
10261074
pub fn bech32::primitives::gf32_ext::Fe32Ext<DEG>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
@@ -1180,9 +1228,11 @@ pub trait bech32::primitives::iter::ByteIterExt: core::marker::Sized + core::ite
11801228
pub trait bech32::primitives::iter::Fe32IterExt: core::marker::Sized + core::iter::traits::iterator::Iterator<Item = bech32::primitives::gf32::Fe32>
11811229
pub type &bech32::primitives::gf32::Fe32::Output = bech32::primitives::gf32::Fe32
11821230
pub type &bech32::primitives::gf32_ext::Fe1024::Output = bech32::primitives::gf32_ext::Fe32Ext<2>
1231+
pub type &bech32::primitives::gf32_ext::Fe32768::Output = bech32::primitives::gf32_ext::Fe32Ext<3>
11831232
pub type &bech32::primitives::gf32_ext::Fe32Ext<DEG>::Output = bech32::primitives::gf32_ext::Fe32Ext<DEG>
11841233
pub type bech32::Checksum::MidstateRepr: bech32::primitives::checksum::PackedFe32
11851234
pub type bech32::Fe1024 = bech32::primitives::gf32_ext::Fe32Ext<2>
1235+
pub type bech32::Fe32768 = bech32::primitives::gf32_ext::Fe32Ext<3>
11861236
pub type bech32::primitives::Bech32::MidstateRepr = u32
11871237
pub type bech32::primitives::Bech32m::MidstateRepr = u32
11881238
pub type bech32::primitives::ExtensionField::BaseField: bech32::primitives::Field
@@ -1201,6 +1251,9 @@ pub type bech32::primitives::gf32::Fe32::Output = bech32::primitives::gf32::Fe32
12011251
pub type bech32::primitives::gf32_ext::Fe1024 = bech32::primitives::gf32_ext::Fe32Ext<2>
12021252
pub type bech32::primitives::gf32_ext::Fe1024::BaseField = bech32::primitives::gf32::Fe32
12031253
pub type bech32::primitives::gf32_ext::Fe1024::Output = bech32::primitives::gf32_ext::Fe32Ext<2>
1254+
pub type bech32::primitives::gf32_ext::Fe32768 = bech32::primitives::gf32_ext::Fe32Ext<3>
1255+
pub type bech32::primitives::gf32_ext::Fe32768::BaseField = bech32::primitives::gf32::Fe32
1256+
pub type bech32::primitives::gf32_ext::Fe32768::Output = bech32::primitives::gf32_ext::Fe32Ext<3>
12041257
pub type bech32::primitives::gf32_ext::Fe32Ext<DEG>::Output = bech32::primitives::gf32_ext::Fe32Ext<DEG>
12051258
pub type bech32::primitives::hrp::ByteIter<'b>::Item = u8
12061259
pub type bech32::primitives::hrp::CharIter<'b>::Item = char

0 commit comments

Comments
 (0)