diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -249,15 +249,11 @@ unsafe impl<T, Ceiling> Sync for Resource<T, Ceiling> {} /// priorities encode the actual priority in the highest bits of a byte so /// priorities like `1` and `2` aren't actually different) /// -/// NOTE `logical` must be in the range `[1, 15]` (inclusive) -pub const fn logical(priority: u8) -> u8 { - // NOTE elements 1 and 2 of the tuple are a poor man's const context range - // checker - (((1 << PRIORITY_BITS) - priority) << (8 - PRIORITY_BITS), - priority - 1, - priority + 240) - .0 +/// NOTE Input `priority` must be in the range `[1, 16]` (inclusive) +pub fn logical(priority: u8) -> u8 { + assert!(priority >= 1 && priority <= 16); + ((1 << PRIORITY_BITS) - priority) << (8 - PRIORITY_BITS) } /// Fake ceiling, indicates that the resource is shared by cooperative tasks |
