use super::*;
use crate::error::{MLError, Result};
use scirs2_core::ndarray::*;
use scirs2_core::random::prelude::*;
use scirs2_core::{Complex32, Complex64};
use std::f64::consts::PI;
use super::types::QuantumInContextLearningConfig;
impl Default for QuantumInContextLearningConfig {
fn default() -> Self {
Self {
model_dim: 64,
context_length: 100,
max_context_examples: 50,
num_qubits: 8,
num_attention_heads: 4,
context_compression_ratio: 0.8,
quantum_context_encoding: QuantumContextEncoding::AmplitudeEncoding,
adaptation_strategy: AdaptationStrategy::DirectConditioning,
entanglement_strength: 0.5,
coherence_preservation: 0.9,
use_quantum_memory: true,
enable_meta_learning: true,
context_retrieval_method: ContextRetrievalMethod::QuantumNearestNeighbor {
distance_metric: QuantumDistanceMetric::QuantumFidelity,
k_neighbors: 5,
},
}
}
}