summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-10-15 00:32:35 -0400
committera1xd <[email protected]>2020-10-15 00:32:35 -0400
commit0f3006569d889d16ecc9ca7eb1a39a743bed9690 (patch)
treea92ac30a1cc00a73cc9b0169afc92f521fb1100b
parentupdate signed for 1.1.1 (diff)
downloadrawaccel-0f3006569d889d16ecc9ca7eb1a39a743bed9690.tar.xz
rawaccel-0f3006569d889d16ecc9ca7eb1a39a743bed9690.zip
fix gain cap conversion
-rw-r--r--converter/converter.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/converter/converter.cpp b/converter/converter.cpp
index 242a331..af2699b 100644
--- a/converter/converter.cpp
+++ b/converter/converter.cpp
@@ -133,10 +133,10 @@ ra::accel_args convert_quake(const ia_settings_t& ia_settings, bool legacy) {
double offset = get("Offset").value_or(0);
ra::accel_args args;
-
- double accel_b = std::pow(accel * prescale, power - 1) / sens;
- double accel_e = 1 / (power - 1);
- args.accel = std::pow(accel_b, accel_e);
+ double powm1 = power - 1;
+ double rpowm1 = 1 / powm1;
+ double accel_b = std::pow(accel * prescale, powm1) / sens;
+ args.accel = std::pow(accel_b, rpowm1);
args.exponent = power;
args.legacy_offset = legacy;
args.offset = offset;
@@ -147,9 +147,7 @@ ra::accel_args convert_quake(const ia_settings_t& ia_settings, bool legacy) {
args.scale_cap = cap_converted;
}
else {
- double b = (cap_converted - 1) / power;
- double e = 1 / (power - 1);
- args.gain_cap = offset + (1 / accel) * std::pow(b, e);
+ args.gain_cap = offset + std::pow(cap_converted - 1, rpowm1) / args.accel;
}
return args;