scirs2-stats 0.3.3

Statistical functions module for SciRS2 (scirs2-stats)
Documentation
//! Auto-generated module
//!
//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)

use scirs2_core::numeric::{Float, NumCast, One, Zero};
use scirs2_core::{parallel_ops::*, simd_ops::SimdUnifiedOps, validation::*};

use super::types::{AdvancedQuantumAnalyzer, QuantumConfig};

/// Helper to convert f64 constants to generic Float type
#[inline(always)]
pub(super) fn const_f64<F: Float + NumCast>(value: f64) -> F {
    F::from(value).expect("Failed to convert constant to target float type")
}
#[cfg(test)]
mod tests {
    use super::*;
    use scirs2_core::ndarray::array;
    #[test]
    fn test_quantum_analyzer_creation() {
        let config = QuantumConfig::default();
        let analyzer = AdvancedQuantumAnalyzer::<f64>::new(config);
        assert_eq!(analyzer.config.num_qubits, 10);
    }
    #[test]
    fn test_quantum_amplitude_estimation() {
        let config = QuantumConfig::default();
        let mut analyzer = AdvancedQuantumAnalyzer::<f64>::new(config);
        let data = array![[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]];
        let result = analyzer.quantum_amplitude_estimation(&data.view());
        assert!(result.is_ok());
    }
    #[test]
    fn test_quantum_pca() {
        let config = QuantumConfig::default();
        let mut analyzer = AdvancedQuantumAnalyzer::<f64>::new(config);
        let data = array![[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]];
        let result = analyzer.quantum_pca(&data.view());
        assert!(result.is_ok());
    }
}