use super::Felt;
pub use crate::crypto::hash::{Rpo256 as Hasher, RpoDigest as Digest};
pub const STATE_WIDTH: usize = Hasher::STATE_WIDTH;
pub const RATE_LEN: usize = 8;
#[inline(always)]
pub fn merge(values: &[Digest; 2]) -> Digest {
Hasher::merge(values)
}
#[inline(always)]
pub fn merge_in_domain(values: &[Digest; 2], domain: Felt) -> Digest {
Hasher::merge_in_domain(values, domain)
}
#[inline(always)]
pub fn hash_elements(elements: &[Felt]) -> Digest {
Hasher::hash_elements(elements)
}
#[inline(always)]
pub fn apply_round(state: &mut [Felt; STATE_WIDTH], round: usize) {
Hasher::apply_round(state, round)
}
#[inline(always)]
pub fn apply_permutation(state: &mut [Felt; STATE_WIDTH]) {
Hasher::apply_permutation(state)
}