(fq: BigInt<4>, limb_size: usize)
| 26 | } |
| 27 | |
| 28 | fn fq_to_chunked_bits(fq: BigInt<4>, limb_size: usize) -> Vec<u32> { |
| 29 | let bits: Vec<bool> = ark_ff::BitIteratorBE::new(fq.as_ref()).collect(); |
| 30 | assert!(bits.len() == 256); |
| 31 | bits.chunks(limb_size) |
| 32 | .map(|chunk| { |
| 33 | let mut factor = 1; |
| 34 | let res = chunk.iter().rev().fold(0, |acc, &x| { |
| 35 | let r = acc + if x { factor } else { 0 }; |
| 36 | factor *= 2; |
| 37 | r |
| 38 | }); |
| 39 | res |
| 40 | }) |
| 41 | .collect() |
| 42 | } |
| 43 | |
| 44 | pub(crate) fn extern_hash_fps(fqs: Vec<ark_bn254::Fq>) -> [u8; 64] { |
| 45 | let mut msgs: Vec<[u8; 64]> = Vec::new(); |
no test coverage detected