fraug/augmenters/
reverse.rs

1use super::base::Augmenter;
2use tracing::{info_span};
3/// Reverses time series
4/// 
5/// The augmenter turns `[1, 2, 3]` to `[3, 2, 1]`
6pub struct Reverse {
7    pub name: String,
8    p: f64,
9}
10
11impl Reverse {
12    pub fn new() -> Self {
13        Reverse {
14            name: "Reverse".to_string(),
15            p: 1.0,
16        }
17    }
18}
19
20impl Augmenter for Reverse {
21    fn augment_one(&self, x: &[f64]) -> Vec<f64> {
22        let span = info_span!("", step = "augment_one");
23        let _enter = span.enter();
24
25        x.iter().rev().map(|v| *v).collect()
26    }
27
28    fn get_probability(&self) -> f64 {
29        self.p
30    }
31
32    fn set_probability(&mut self, probability: f64) {
33        self.p = probability;
34    }
35
36    fn get_name(&self) ->String {
37        self.name.clone()
38    }
39}