quantrs2-tytan 0.1.3

High-level quantum annealing interface inspired by Tytan for the QuantRS2 framework
Documentation
//! Auto-generated module
//!
//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)

use std::collections::{HashMap, VecDeque};
use std::time::{Duration, SystemTime};

use super::types::{
    AdvancedVisualizationManager, AnalysisError, ComparisonMetric, ComparisonResult,
    ConvergenceAnalysis, ConvergenceData, DashboardData, Dataset, ExportFormat, InteractiveFeature,
    PerformanceHistory, PerformancePrediction, PredictionError, QuantumState, RealTimeAnalysis,
    RenderingQuality, StateVisualization, StatisticalTest, VisualizationConfig, VisualizationError,
    WidgetConfig, WidgetRender, WidgetType,
};

pub trait StateVisualizationMethod: Send + Sync {
    fn name(&self) -> &str;
    fn visualize(&self, state: &QuantumState) -> Result<StateVisualization, VisualizationError>;
    fn supported_dimensions(&self) -> Vec<usize>;
    fn interactive_features(&self) -> Vec<InteractiveFeature>;
}
pub trait DashboardWidget: Send + Sync {
    fn name(&self) -> &str;
    fn widget_type(&self) -> WidgetType;
    fn update(&mut self, data: &DashboardData) -> Result<(), VisualizationError>;
    fn render(&self) -> Result<WidgetRender, VisualizationError>;
    fn configure(&mut self, config: WidgetConfig) -> Result<(), VisualizationError>;
}
pub trait PerformancePredictor: Send + Sync {
    fn name(&self) -> &str;
    fn predict(
        &self,
        historical_data: &PerformanceHistory,
    ) -> Result<PerformancePrediction, PredictionError>;
    fn confidence(&self) -> f64;
    fn prediction_horizon(&self) -> Duration;
}
pub trait ComparisonAlgorithm: Send + Sync {
    fn name(&self) -> &str;
    fn compare(&self, datasets: &[Dataset]) -> Result<ComparisonResult, AnalysisError>;
    fn comparison_metrics(&self) -> Vec<ComparisonMetric>;
    fn statistical_tests(&self) -> Vec<StatisticalTest>;
}
pub trait ConvergenceAnalyzer: Send + Sync {
    fn name(&self) -> &str;
    fn analyze(&self, data: &ConvergenceData) -> Result<ConvergenceAnalysis, AnalysisError>;
    fn real_time_analysis(&self, data: &ConvergenceData)
        -> Result<RealTimeAnalysis, AnalysisError>;
}
/// Create a default advanced visualization manager
pub fn create_advanced_visualization_manager() -> AdvancedVisualizationManager {
    AdvancedVisualizationManager::new(VisualizationConfig::default())
}
/// Create a lightweight visualization manager for testing
pub fn create_lightweight_visualization_manager() -> AdvancedVisualizationManager {
    let config = VisualizationConfig {
        interactive_mode: false,
        real_time_updates: false,
        enable_3d_rendering: false,
        quantum_state_viz: false,
        performance_dashboard: false,
        update_frequency: Duration::from_secs(1),
        max_data_points: 1000,
        export_formats: vec![ExportFormat::PNG],
        rendering_quality: RenderingQuality::Low,
        color_schemes: HashMap::new(),
    };
    AdvancedVisualizationManager::new(config)
}