From 42eadef82ffbdea337f033135aa022b2070eb160 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Sun, 6 Jun 2021 12:11:15 +0800 Subject: [PATCH] sinsemilla::message.rs: Add MessageSubPiece.to_field_elem() method --- src/circuit/gadget/sinsemilla/message.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/circuit/gadget/sinsemilla/message.rs b/src/circuit/gadget/sinsemilla/message.rs index f5b1a2990..b7af5e826 100644 --- a/src/circuit/gadget/sinsemilla/message.rs +++ b/src/circuit/gadget/sinsemilla/message.rs @@ -128,3 +128,17 @@ impl From<(Option, std::ops::Range)> } } } + +impl MessageSubPiece { + pub fn to_field_elem(self) -> Option { + self.field_elem.map(|value| { + let bits = &value + .to_le_bits() + .iter() + .by_val() + .take(F::NUM_BITS as usize) + .collect::>()[self.bit_range]; + bits_to_field_elem(bits) + }) + } +}