aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/coefficient_combine_rule.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamics/coefficient_combine_rule.rs')
-rw-r--r--src/dynamics/coefficient_combine_rule.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynamics/coefficient_combine_rule.rs b/src/dynamics/coefficient_combine_rule.rs
index 2c66888..1bef022 100644
--- a/src/dynamics/coefficient_combine_rule.rs
+++ b/src/dynamics/coefficient_combine_rule.rs
@@ -21,6 +21,16 @@ pub enum CoefficientCombineRule {
}
impl CoefficientCombineRule {
+ pub fn from_value(val: u8) -> Self {
+ match val {
+ 0 => CoefficientCombineRule::Average,
+ 1 => CoefficientCombineRule::Min,
+ 2 => CoefficientCombineRule::Multiply,
+ 3 => CoefficientCombineRule::Max,
+ _ => panic!("Invalid coefficient combine rule."),
+ }
+ }
+
pub(crate) fn combine(coeff1: Real, coeff2: Real, rule_value1: u8, rule_value2: u8) -> Real {
let effective_rule = rule_value1.max(rule_value2);