extern crate memmap;
#[macro_use]
extern crate npy_derive;
extern crate npy;
use std::fs::File;
use memmap::MmapOptions;
#[derive(Serializable, Debug, Default)]
struct Array {
a: i32,
b: f32,
c: i64,
}
fn main() {
let file = File::open("examples/simple.npy").unwrap();
let mmap = unsafe { MmapOptions::new().map(&file).unwrap() };
let data = npy::NpyData::from_bytes(&mmap[..]).unwrap();
let sum = data.into_iter().fold(Array::default(), |accum, arr: Array| {
eprintln!("read: {:?}", arr);
Array { a: accum.a + arr.a, b: accum.b + arr.b, c: accum.c + arr.c }
});
eprintln!("sum: {:?}", sum);
}