(data: &[u8], cursor: &mut usize, is_le: bool)
| 255 | } |
| 256 | |
| 257 | fn read_f64(data: &[u8], cursor: &mut usize, is_le: bool) -> Option<f64> { |
| 258 | if *cursor + 8 > data.len() { |
| 259 | return None; |
| 260 | } |
| 261 | let bytes: [u8; 8] = [ |
| 262 | data[*cursor], |
| 263 | data[*cursor + 1], |
| 264 | data[*cursor + 2], |
| 265 | data[*cursor + 3], |
| 266 | data[*cursor + 4], |
| 267 | data[*cursor + 5], |
| 268 | data[*cursor + 6], |
| 269 | data[*cursor + 7], |
| 270 | ]; |
| 271 | *cursor += 8; |
| 272 | Some(if is_le { |
| 273 | f64::from_le_bytes(bytes) |
| 274 | } else { |
| 275 | f64::from_be_bytes(bytes) |
| 276 | }) |
| 277 | } |
| 278 | |
| 279 | fn read_coords( |
| 280 | data: &[u8], |
no test coverage detected