1#[derive(Clone, Debug)]
17pub struct Params {
18 pub gain: Option<f64>,
19 pub offset: Option<f64>,
20 pub residuals: Option<f64>,
21 pub power: Option<f64>,
22 pub base: Option<f64>,
23}
24
25impl Params {
27 pub fn new() -> Self {
28 Self {
29 gain: None,
30 offset: None,
31 residuals: None,
32 power: None,
33 base: None,
34 }
35 }
36
37 pub fn gain(&mut self, value: f64) -> &mut Self {
38 self.gain = Some(value);
39 self
40 }
41
42 pub fn offset(&mut self, value: f64) -> &mut Self {
43 self.offset = Some(value);
44 self
45 }
46
47 pub fn residuals(&mut self, value: f64) -> &mut Self {
48 self.residuals = Some(value);
49 self
50 }
51
52 pub fn power(&mut self, value: f64) -> &mut Self {
53 self.power = Some(value);
54 self
55 }
56
57 pub fn base(&mut self, value: f64) -> &mut Self {
58 self.base = Some(value);
59 self
60 }
61
62 pub fn build(&mut self) -> Params {
63 Params {
64 gain: self.gain,
65 offset: self.offset,
66 residuals: self.residuals,
67 power: self.power,
68 base: self.base,
69 }
70 }
71}
72
73impl Default for Params {
74 fn default() -> Self {
75 Self::new()
76 }
77}