make HashOutTarget internals public (#430)

This commit is contained in:
Sebastien La Duca 2022-01-13 15:12:59 -05:00 committed by GitHub
parent 0ff8365827
commit fe5a30ede1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -94,18 +94,18 @@ impl<F: Field> Default for HashOut<F> {
/// Represents a ~256 bit hash output. /// Represents a ~256 bit hash output.
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub struct HashOutTarget { pub struct HashOutTarget {
pub(crate) elements: [Target; 4], pub elements: [Target; 4],
} }
impl HashOutTarget { impl HashOutTarget {
pub(crate) fn from_vec(elements: Vec<Target>) -> Self { pub fn from_vec(elements: Vec<Target>) -> Self {
debug_assert!(elements.len() == 4); debug_assert!(elements.len() == 4);
Self { Self {
elements: elements.try_into().unwrap(), elements: elements.try_into().unwrap(),
} }
} }
pub(crate) fn from_partial(mut elements: Vec<Target>, zero: Target) -> Self { pub fn from_partial(mut elements: Vec<Target>, zero: Target) -> Self {
debug_assert!(elements.len() <= 4); debug_assert!(elements.len() <= 4);
while elements.len() < 4 { while elements.len() < 4 {
elements.push(zero); elements.push(zero);