Skip to main content

quantrs2_sim/quantum_reservoir_computing/
memoryanalysisconfig_traits.rs

1//! # MemoryAnalysisConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `MemoryAnalysisConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use scirs2_core::random::prelude::*;
12
13use super::types::{EntropyMeasure, IPCFunction, MemoryAnalysisConfig, MemoryTask};
14
15impl Default for MemoryAnalysisConfig {
16    fn default() -> Self {
17        Self {
18            enable_capacity_estimation: true,
19            capacity_tasks: vec![
20                MemoryTask::DelayLine,
21                MemoryTask::TemporalXOR,
22                MemoryTask::Parity,
23            ],
24            enable_nonlinear: true,
25            nonlinearity_orders: vec![2, 3, 4],
26            enable_temporal_correlation: true,
27            correlation_lags: (1..=20).collect(),
28            enable_ipc: true,
29            ipc_functions: vec![
30                IPCFunction::Linear,
31                IPCFunction::Quadratic,
32                IPCFunction::Cubic,
33            ],
34            enable_entropy: true,
35            entropy_measures: vec![
36                EntropyMeasure::Shannon,
37                EntropyMeasure::Renyi,
38                EntropyMeasure::VonNeumann,
39            ],
40        }
41    }
42}