diff options
Diffstat (limited to 'src/parsing/equalizer_apo.lalrpop')
-rw-r--r-- | src/parsing/equalizer_apo.lalrpop | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/parsing/equalizer_apo.lalrpop b/src/parsing/equalizer_apo.lalrpop index 39dda67..752aee4 100644 --- a/src/parsing/equalizer_apo.lalrpop +++ b/src/parsing/equalizer_apo.lalrpop | |||
@@ -5,12 +5,8 @@ use std::str::FromStr; | |||
5 | grammar; | 5 | grammar; |
6 | 6 | ||
7 | pub Main: Filter = { | 7 | pub Main: Filter = { |
8 | <preamp: Preamp> <eq: Eq> => { | 8 | <preamp: Preamp> <eq: Eq> => Filter { preamp, frequencies: eq.0, coefficients: eq.1 } |
9 | let coefficients: Vec<_> = eq.1.iter().map(|decibel| 10f64.powf(decibel / 10f64).sqrt()).collect(); | 9 | |
10 | // TODO: add decibel_to_ratio conversion function | ||
11 | let preamp = 10f64.powf(preamp / 10f64); | ||
12 | Filter { preamp, frequencies: eq.0, coefficients } | ||
13 | } | ||
14 | } | 10 | } |
15 | 11 | ||
16 | Preamp: f64 = { | 12 | Preamp: f64 = { |