1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! # Chronix Compute Engine
//!
//! CPU compute engine for Chronix analytics operations — dot products,
//! matrix solving, exponential smoothing, differencing, autocorrelation, and
//! batch statistics. Built on multi-tier SIMD acceleration and rayon
//! parallelism.
//!
//! ## Architecture
//!
//! ```text
//! ┌──────────────────────────────────┐
//! │ ComputeEngine trait │
//! ├──────────────────────────────────┤
//! │ batch_dot_product() │
//! │ batch_matrix_solve() │
//! │ batch_exponential_smooth() │
//! │ batch_difference() │
//! │ batch_autocorrelation() │
//! └──────────────┬───────────────────┘
//! │
//! ┌─────┴────┐
//! │ CpuEngine │
//! │ rayon+SIMD│
//! └───────────┘
//! ```
//!
//! ## SIMD Operations
//!
//! Multi-tier SIMD for common statistical operations:
//! - `simd_sum`, `simd_mean`, `simd_variance`, `simd_min_max`, `simd_dot_product`, `simd_std_dev`
//! - x86_64: runtime-detected AVX-512F (8×f64) → AVX2+FMA (4×f64) → SSE2 (2×f64, baseline)
//! - aarch64: NEON (2×f64, baseline)
//! - Scalar 4-wide ILP fallback on other architectures
//! - `simd_tier()` returns the active tier for diagnostics
//!
//! ## Buffer Pool
//!
//! `BufferPool<T>` provides reusable `Vec<T>` to minimize allocation overhead
//! in hot compute paths.
// The SIMD module is the one audited exception to the crate-wide
// unsafe_code deny: every unsafe block is a runtime-feature-gated
// std::arch intrinsic call with a // SAFETY: justification.
// chunks_exact(N) with SIMD lane constants reads clearer than as_chunks::<N>() here.
pub use BufferPool;
pub use ;
pub use ComputeError;
pub use ;