primitives/algebra/field/
field_extension_name.rs1use itertools::Itertools;
2
3pub trait FieldExtensionName {
4 fn get_name() -> String;
5}
6
7impl FieldExtensionName for crate::algebra::field::binary::Gf2 {
8 fn get_name() -> String {
9 "GF2".to_string()
10 }
11}
12
13impl<P: crate::algebra::field::binary::gf2_ext::Gf2ExtParams, const K: usize> FieldExtensionName
14 for crate::algebra::field::binary::Gf2Ext<P, K>
15{
16 fn get_name() -> String {
17 let poly = P::POLY_MOD_ONES
18 .iter()
19 .map(|k| format!("X^{k}"))
20 .join(" + ");
21 format!("GF(2^{}, 1 + {poly})", K * 64).to_string()
22 }
23}
24
25impl FieldExtensionName
26 for crate::algebra::elliptic_curve::ScalarField<
27 crate::algebra::elliptic_curve::Curve25519Ristretto,
28 >
29{
30 fn get_name() -> String {
31 "Curve25519Ristretto_ScalarField".to_string()
32 }
33}
34impl FieldExtensionName
35 for crate::algebra::elliptic_curve::BaseField<
36 crate::algebra::elliptic_curve::Curve25519Ristretto,
37 >
38{
39 fn get_name() -> String {
40 "Curve25519Ristretto_BaseField".to_string()
41 }
42}
43
44impl FieldExtensionName for crate::algebra::field::mersenne::Mersenne107 {
45 fn get_name() -> String {
46 "Mersenne107".to_string()
47 }
48}