pub const HASH_SIZE: usize = 32;
pub(crate) const SEGMENT_SIZE: usize = HASH_SIZE;
pub(crate) const SEGMENT_SIZE_LOG2: usize = 5;
pub(crate) const SEGMENT_PAIR_LENGTH: usize = 2 * SEGMENT_SIZE;
pub const BRANCHES: usize = 128;
pub const DEFAULT_BODY_SIZE: usize = BRANCHES * SEGMENT_SIZE;
pub const SPAN_SIZE: usize = std::mem::size_of::<u64>();
pub(crate) const PROOF_LENGTH: usize = 7;
#[inline]
pub(crate) const fn zero_tree_levels(body_size: usize) -> usize {
(body_size / SEGMENT_PAIR_LENGTH).trailing_zeros() as usize + 1
}
#[inline]
pub(crate) const fn branches_for_body_size(body_size: usize) -> usize {
body_size / SEGMENT_SIZE
}