Skip to main content

tml_utils/
data.rs

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}