pub const NPY_MAGIC: &[u8] = b"\x93NUMPY";
pub const NPY_MAGIC_LEN: usize = 6;
pub const VERSION_1_0: (u8, u8) = (1, 0);
pub const VERSION_2_0: (u8, u8) = (2, 0);
pub const VERSION_3_0: (u8, u8) = (3, 0);
pub const HEADER_ALIGNMENT: usize = 64;
pub const MAX_HEADER_LEN_V1: usize = u16::MAX as usize;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MemmapMode {
ReadOnly,
ReadWrite,
CopyOnWrite,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn magic_bytes() {
assert_eq!(NPY_MAGIC.len(), NPY_MAGIC_LEN);
assert_eq!(NPY_MAGIC[0], 0x93);
assert_eq!(&NPY_MAGIC[1..], b"NUMPY");
}
#[test]
fn memmap_mode_variants() {
let modes = [
MemmapMode::ReadOnly,
MemmapMode::ReadWrite,
MemmapMode::CopyOnWrite,
];
assert_eq!(modes.len(), 3);
assert_ne!(MemmapMode::ReadOnly, MemmapMode::ReadWrite);
}
}