arnaucube
arnaucube/testudoPublic Self-hosted repository
testudo/src/scalar/mod.rs
src/scalar/mod.rsRaw
 1pub use ark_bls12_377::Fr as Scalar;
 2// mod ristretto255;
 3
 4// pub type Scalar = ristretto255::Scalar;
 5// pub type ScalarBytes = curve25519_dalek::scalar::Scalar;
 6
 7// pub trait ScalarFromPrimitives {
 8//   fn to_scalar(self) -> Scalar;
 9// }
10
11// impl ScalarFromPrimitives for usize {
12//   #[inline]
13//   fn to_scalar(self) -> Scalar {
14//     (0..self).map(|_i| Scalar::one()).sum()
15//   }
16// }
17
18// impl ScalarFromPrimitives for bool {
19//   #[inline]
20//   fn to_scalar(self) -> Scalar {
21//     if self {
22//       Scalar::one()
23//     } else {
24//       Scalar::zero()
25//     }
26//   }
27// }
28
29// pub trait ScalarBytesFromScalar {
30//   fn decompress_scalar(s: &Scalar) -> ScalarBytes;
31//   fn decompress_vector(s: &[Scalar]) -> Vec<ScalarBytes>;
32// }
33
34// impl ScalarBytesFromScalar for Scalar {
35//   fn decompress_scalar(s: &Scalar) -> ScalarBytes {
36//     ScalarBytes::from_bytes_mod_order(s.to_bytes())
37//   }
38
39//   fn decompress_vector(s: &[Scalar]) -> Vec<ScalarBytes> {
40//     (0..s.len())
41//       .map(|i| Scalar::decompress_scalar(&s[i]))
42//       .collect::<Vec<ScalarBytes>>()
43//   }
44// }