1use serde::{Deserialize, Serialize};
2
3mod base;
4mod ncp;
5mod random;
6
7pub use base::{FullyConnected, Wiring, Wiring as WiringTrait};
8pub use ncp::{AutoNCP, NCP};
9pub use random::Random;
10
11#[derive(Clone, Debug, Serialize, Deserialize)]
13pub struct WiringConfig {
14 pub units: usize,
15 pub adjacency_matrix: Option<Vec<Vec<i32>>>,
16 pub sensory_adjacency_matrix: Option<Vec<Vec<i32>>>,
17 pub input_dim: Option<usize>,
18 pub output_dim: Option<usize>,
19 pub erev_init_seed: Option<u64>,
21 pub self_connections: Option<bool>,
22 pub num_inter_neurons: Option<usize>,
24 pub num_command_neurons: Option<usize>,
25 pub num_motor_neurons: Option<usize>,
26 pub sensory_fanout: Option<usize>,
27 pub inter_fanout: Option<usize>,
28 pub recurrent_command_synapses: Option<usize>,
29 pub motor_fanin: Option<usize>,
30 pub seed: Option<u64>,
31 pub sparsity_level: Option<f64>,
33 pub random_seed: Option<u64>,
34}