1use crate::Float;
2
3#[derive(Debug, Clone)]
4pub struct Sample<const IN: usize, const OUT: usize> {
5 pub input: [Float; IN],
6 pub target: [Float; OUT],
7}
8
9impl<const IN: usize, const OUT: usize> Sample<IN, OUT> {
10 pub fn new(input: [Float; IN], target: [Float; OUT]) -> Self {
11 Self { input, target }
12 }
13}
14
15impl<const IN: usize, const OUT: usize> From<(&[Float; IN], &[Float; OUT])> for Sample<IN, OUT> {
16 fn from(value: (&[Float; IN], &[Float; OUT])) -> Self {
17 Self::new(*value.0, *value.1)
18 }
19}
20
21impl<const IN: usize, const OUT: usize> From<([Float; IN], [Float; OUT])> for Sample<IN, OUT> {
22 fn from(value: ([Float; IN], [Float; OUT])) -> Self {
23 Self::new(value.0, value.1)
24 }
25}