padme_padding/lib.rs
1#![no_std]
2
3pub struct Padme;
4
5impl Padme {
6 /// Return the padded length
7 pub fn padded_len(len: usize) -> usize {
8 let e = 63usize.saturating_sub(len.leading_zeros() as usize);
9 let s = 64 - e.leading_zeros() as usize;
10 let z = e - s;
11 let mask = (1usize << z) - 1;
12 (len + mask) & !mask
13 }
14
15 /// Return the padding length
16 #[inline]
17 pub fn padding_len(len: usize) -> usize {
18 Self::padded_len(len) - len
19 }
20}