fix: clang compilation fixed

This commit is contained in:
Mateusz Pusz
2021-04-13 19:28:53 +02:00
parent 97245a8c96
commit d2a7df6540
2 changed files with 11 additions and 3 deletions

View File

@@ -22,6 +22,7 @@
#pragma once
#include <units/bits/external/hacks.h>
#include <units/format.h>
#include <units/generic/dimensionless.h>
#include <units/isq/dimensions/time.h>
@@ -74,6 +75,13 @@ public:
uncertainty_type uncertainty;
};
#if UNITS_COMP_CLANG == 12
template<QuantityOrQuantityPoint QQP, units::Quantity U>
estimation(state<QQP>, U) -> estimation<QQP>;
#endif
// kalman gain
template<units::Quantity Q>
constexpr units::dimensionless<units::one> kalman_gain(Q estimate_uncertainty, Q measurement_uncertainty)

View File

@@ -63,11 +63,11 @@ int main()
print_header(initial);
estimation next = predict(initial);
for(int index = 1; const auto& m : measurements) {
for(int index = 1; const auto& measured : measurements) {
const auto& previous = next;
const auto gain = kalman_gain(previous.uncertainty, measurement_uncertainty);
const estimation current = update(previous, m, gain);
const estimation current = update(previous, measured, gain);
next = predict(current);
print(index++, gain, m, current, next);
print(index++, gain, measured, current, next);
}
}