(offset: usize, align: usize)
| 366 | } |
| 367 | |
| 368 | const fn compensate_alignment(offset: usize, align: usize) -> Option<usize> { |
| 369 | if align != 0 && offset != 0 { |
| 370 | // a % b == a & (b-1) if b is a power of 2 |
| 371 | (align - 1).checked_sub((offset - 1) & (align - 1)) |
| 372 | } else { |
| 373 | // alignment is already all good |
| 374 | Some(0) |
| 375 | } |
| 376 | } |
| 377 | |
| 378 | pub(crate) struct FormatInfo { |
| 379 | pub size: usize, |