#[derive(npyz::Serialize, npyz::Deserialize, npyz::AutoSerialize, Debug, PartialEq, Clone)]
struct Struct {
a: i32,
b: f32,
}
fn main() -> std::io::Result<()> {
let pi = std::f32::consts::PI;
let mut structs = vec![];
for i in 0..360i32 {
structs.push(Struct { a: i, b: (i as f32 * pi / 180.0).sin() });
}
npyz::to_file_1d("examples/output/roundtrip.npy", structs)?;
let bytes = std::fs::read("examples/output/roundtrip.npy")?;
for (i, arr) in npyz::NpyFile::new(&bytes[..]).unwrap().data().unwrap().enumerate() {
assert_eq!(Struct { a: i as i32, b: (i as f32 * pi / 180.0).sin() }, arr?);
}
Ok(())
}