1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
use desert::ToBytesLE;
use failure::Error;

pub fn encode_with_offset(point: f64, buf: &mut [u8], offset: usize) -> Result<usize, Error> {
    let bytes = (point as f32).to_bytes_le()?;
    let mut encoded = 0;
    (0..bytes.len()).for_each(|i| {
        if let Some(elem) = bytes.get(i) {
            buf[offset + encoded] = *elem;
            encoded += 1;
        }
    });
    return Ok(encoded);
}