#![cfg_attr(
test,
allow(
clippy::expect_used,
clippy::unwrap_used,
clippy::panic,
clippy::float_cmp,
clippy::disallowed_methods
)
)]
pub mod core_io;
pub mod crc32;
pub mod error;
pub mod f16;
pub mod falsifiers;
pub mod model_card;
pub mod types;
pub mod v2;
pub mod validate;
pub use core_io::{
inspect, inspect_bytes, load, load_auto, load_from_bytes, load_mmap, save, MMAP_THRESHOLD,
};
pub use crc32::crc32;
pub use error::{AprFormatError, Result};
pub use f16::{f16_to_f32, f32_to_f16};
pub use model_card::{ModelCard, TrainingDataInfo};
pub use types::{
Compression, DistillMethod, DistillationInfo, DistillationParams, Flags, Header, LayerMapping,
LicenseInfo, LicenseTier, Metadata, ModelInfo, ModelType, SaveOptions, TeacherProvenance,
TrainingInfo, FORMAT_VERSION, HEADER_SIZE, MAGIC, MAX_UNCOMPRESSED_SIZE,
};
pub use validate::{validate_structure, StructureCheck};
#[cfg(test)]
mod sovereignty_tests {
#[test]
fn test_std_only_surface_available() {
use crate::types::{ModelType, SaveOptions};
let dir = std::env::temp_dir();
let path = dir.join("apr_format_std_probe.apr");
crate::save(
&vec![1.0_f32, 2.0],
ModelType::LinearRegression,
&path,
SaveOptions::default(),
)
.expect("std-only save must work");
let back: Vec<f32> =
crate::load(&path, ModelType::LinearRegression).expect("std-only load must work");
assert_eq!(back, vec![1.0, 2.0]);
let _ = std::fs::remove_file(&path);
}
}