ruvector/crates/ruvector-solver/build.rs
Claude 5dcafd2dbc
feat: Implement complete sublinear-time sparse solver crate
Add ruvector-solver with 8 iterative solver algorithms:
- Jacobi-preconditioned Neumann series for diagonally dominant systems
- Conjugate Gradient (CG) for symmetric positive definite systems
- Forward/Backward Push for Personalized PageRank
- Hybrid Random Walk with Monte Carlo sampling
- TRUE solver with JL projection and spectral sparsification
- BMSSP multigrid preconditioner for ill-conditioned systems
- Jacobi and Gauss-Seidel iterative solvers

Includes intelligent algorithm router (SolverRouter/SolverOrchestrator),
WASM bindings (ruvector-solver-wasm), Node.js NAPI bindings
(ruvector-solver-node), Criterion benchmark suite, comprehensive
validation, audit logging, and 143 passing tests.

https://claude.ai/code/session_01TiqLbr2DaNAntQHaVeLfiR
2026-02-20 06:49:14 +00:00

14 lines
477 B
Rust

fn main() {
// Emit cfg flags for SIMD detection at build time
println!("cargo:rerun-if-changed=build.rs");
#[cfg(target_arch = "x86_64")]
{
if std::env::var("CARGO_CFG_TARGET_FEATURE").map_or(false, |f| f.contains("avx2")) {
println!("cargo:rustc-cfg=has_avx2");
}
if std::env::var("CARGO_CFG_TARGET_FEATURE").map_or(false, |f| f.contains("avx512f")) {
println!("cargo:rustc-cfg=has_avx512");
}
}
}