MCPcopy Create free account
hub / github.com/LaihoE/Python-demoparser / decode_special_float

Method decode_special_float

src/parsing/read_bits.rs:283–300  ·  view source on GitHub ↗
(&mut self, prop: &Prop)

Source from the content-addressed store, hash-verified

281
282 #[inline(always)]
283 pub fn decode_special_float(&mut self, prop: &Prop) -> Option<f32> {
284 let mut val = 0.0;
285 let flags = prop.flags;
286 if flags & (1 << 1) != 0 {
287 val = self.read_bit_coord()? as f32;
288 } else if flags & (1 << 2) != 0 {
289 val = self.reader.read_f32().unwrap();
290 } else if flags & (1 << 5) != 0 {
291 val = self.read_bit_normal()? as f32;
292 } else if flags & (1 << 15) != 0 {
293 val = self.read_bit_cell_coord(prop.num_bits as usize, 0)? as f32;
294 } else if flags & (1 << 16) != 0 {
295 val = self.read_bit_cell_coord(prop.num_bits as usize, 1)? as f32;
296 } else if flags & (1 << 17) != 0 {
297 val = self.read_bit_cell_coord(prop.num_bits as usize, 2)? as f32;
298 }
299 Some(val)
300 }
301 #[inline(always)]
302 pub fn decode_float(&mut self, prop: &Prop) -> Option<f32> {
303 let val = self.decode_special_float(prop)?;

Callers 1

decode_floatMethod · 0.80

Calls 3

read_bit_coordMethod · 0.80
read_bit_normalMethod · 0.80
read_bit_cell_coordMethod · 0.80

Tested by

no test coverage detected