nak/bitview: Add a SetField<f32> implementation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397>
This commit is contained in:
Faith Ekstrand 2024-04-04 16:40:04 -05:00 committed by Marge Bot
parent 426553d61d
commit d5b7dd6ce5
1 changed files with 8 additions and 1 deletions

View File

@ -287,11 +287,18 @@ impl<T: SetFieldU64> SetField<u8> for T {
impl<T: SetFieldU64> SetField<bool> for T {
fn set_field(&mut self, range: Range<usize>, val: bool) {
assert!(range.end == range.start + 1);
assert!(range.len() == 1);
self.set_field(range, u64::from(val));
}
}
impl<T: SetFieldU64> SetField<f32> for T {
fn set_field(&mut self, range: Range<usize>, val: f32) {
assert!(range.len() == 32);
self.set_field(range, val.to_bits());
}
}
pub trait SetBit {
fn set_bit(&mut self, bit: usize, val: bool);
}