FA-248 / Runtime and resources / Member archive
An arena aligns block size instead of its starting address · case 03
An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.
Case contract
Cursor and sizes are nonnegative integers; each requested alignment is a positive integer, not necessarily a power of two. Return [starting addresses,final cursor]. Each start is the least aligned address >= cursor, then cursor becomes start+size. Zero-size reservations may consume alignment padding.
Why this case matters
Models address arithmetic in an arena allocator without dereferencing memory, and exposes both misalignment and unnecessary padding independent of machine word size.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| unaligned starting cursor | [[25], 33] | [[32], 35] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗