quantrs2_core/platform/mod.rs
1//! Unified platform detection and capabilities module
2//!
3//! This module provides a centralized platform detection system that consolidates
4//! all hardware capability detection across the QuantRS2 framework.
5
6use std::sync::OnceLock;
7
8pub mod capabilities;
9pub mod detector;
10
11pub use capabilities::*;
12pub use detector::*;
13
14static PLATFORM_CAPS: OnceLock<PlatformCapabilities> = OnceLock::new();
15
16/// Get the cached platform capabilities
17pub fn get_platform_capabilities() -> &'static PlatformCapabilities {
18 PLATFORM_CAPS.get_or_init(|| detect_platform_capabilities())
19}
20
21/// Initialize platform detection (can be called multiple times safely)
22pub fn initialize_platform_detection() {
23 let _ = get_platform_capabilities();
24}