(&mut self, prop: &Prop)
| 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)?; |
no test coverage detected