MCPcopy Create free account
hub / github.com/BitVM/BitVM / fq_to_bits

Function fq_to_bits

bitvm/src/bn254/utils.rs:62–77  ·  view source on GitHub ↗
(fq: BigInt<4>, limb_size: usize)

Source from the content-addressed store, hash-verified

60}
61
62pub fn fq_to_bits(fq: BigInt<4>, limb_size: usize) -> Vec<u32> {
63 let mut bits: Vec<bool> = ark_ff::BitIteratorBE::new(fq.as_ref()).skip(2).collect();
64 bits.reverse();
65
66 bits.chunks(limb_size)
67 .map(|chunk| {
68 let mut factor = 1;
69 let res = chunk.iter().fold(0, |acc, &x| {
70 let r = acc + if x { factor } else { 0 };
71 factor *= 2;
72 r
73 });
74 res
75 })
76 .collect()
77}

Callers 1

Calls 1

as_refMethod · 0.80

Tested by

no test coverage detected