This is a Rust library crate (ndarray fork with HPC extensions). No external services (databases, APIs) are needed.
| Action | Command |
|---|---|
| Build | cargo build |
| Lint | cargo clippy -- -D warnings |
| Test (lib) | cargo test --lib -p ndarray |
| Test (workspace) | cargo test |
| Test (HPC subset) | cargo test --lib -p ndarray -- hpc:: |
| Run example | cargo run --example life |
| Format check | cargo fmt -- --check |
- Rust 1.94.1 is pinned via
rust-toolchain.toml; rustup auto-selects it in/workspace. - No AVX-512 hardware in Cloud Agent VMs — all test modules in
src/simd_avx512.rsare gated with#[cfg(all(test, target_feature = "avx512f"))]and compile away entirely on non-AVX-512 targets. This is intentional: raw AVX-512 intrinsic tests must never run on CI/Cloud (x86-64-v3). Thesimd.rsLazyLock polyfill dispatches tosimd_avx2.rson these machines. - Feature gates:
intel-mklandopenblasare mutually exclusive and require system libraries not installed by default. The default build usesnative(pure Rust SIMD) which needs no extra libs. - Build time: ~18s cold, <1s incremental. Tests (~1776 on non-AVX-512) take ~70s.
- The workspace has sub-crates under
crates/andndarray-rand/. Default members excludeblas-testsandblas-mock-tests(they activate theblasfeature which needs cblas-sys linking). libssl-devis needed as a build dependency for some transitive crates.cargo fmt:rustfmt.tomluses 13+ nightly-only options (brace_style,imports_granularity, etc.). Stable rustfmt ignores them and reports massive diffs. This is a known pre-existing issue — do not attempt to fix formatting drift without coordinating with the project owner.