OxiBLAS Core - Foundational types and traits for OxiBLAS.
This crate provides the core infrastructure for OxiBLAS:
- Scalar traits:
Scalar,Real,ComplexScalar,Fieldfor numeric types - SIMD abstraction: Custom SIMD layer via
core::archintrinsics - Memory management: Aligned allocation, stack-based temporaries
- Parallelization: Work partitioning and parallel execution
Supported Types
f32,f64: Real floating-point numbersComplex32,Complex64: Complex numbers (vianum-complex)
SIMD Support
The SIMD abstraction automatically detects and uses the best available instruction set:
- x86_64: AVX2 (256-bit), AVX512F (512-bit)
- AArch64: NEON (128-bit), with 256-bit emulation
- Fallback: Scalar operations for unsupported platforms
Example
use ;
use detect_simd_level;
// Check SIMD capability
let level = detect_simd_level;
println!;
// Use scalar traits
let x: f64 = 3.0;
let y: f64 = 4.0;
assert_eq!;