pub fn slice_i16_to_u8(slice: &[i16]) -> &[u8] {
let len = std::mem::size_of_val(slice);
unsafe { std::slice::from_raw_parts(slice.as_ptr() as *const u8, len) }
}
pub fn slice_i16_to_u8_mut(slice: &mut [i16]) -> &mut [u8] {
let len = std::mem::size_of_val(slice);
unsafe { std::slice::from_raw_parts_mut(slice.as_ptr() as *mut u8, len) }
}
#[cfg_attr(not(test), allow(dead_code))]
pub fn slice_f32_to_u8(slice: &[f32]) -> &[u8] {
let len = std::mem::size_of_val(slice);
unsafe { std::slice::from_raw_parts(slice.as_ptr() as *const u8, len) }
}