Move all floats to doubles

The code was developed initially around a pid loop implemented using
floats.  Therefore, the code was converting back and forth between
double for sensor values as inputs and outputs from this PID loop.

Change-Id: I2d2919e1165103040729c9f16bb84fde3dd6b81b
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/dbus/dbusconfiguration.cpp b/dbus/dbusconfiguration.cpp
index 9d62643..78cc4e4 100644
--- a/dbus/dbusconfiguration.cpp
+++ b/dbus/dbusconfiguration.cpp
@@ -294,9 +294,9 @@
 
             auto& details = zoneDetailsConfig[index];
             details.minthermalrpm = variant_ns::apply_visitor(
-                VariantToFloatVisitor(), zone.at("MinThermalRpm"));
+                VariantToDoubleVisitor(), zone.at("MinThermalRpm"));
             details.failsafepercent = variant_ns::apply_visitor(
-                VariantToFloatVisitor(), zone.at("FailSafePercent"));
+                VariantToDoubleVisitor(), zone.at("FailSafePercent"));
         }
         auto findBase = configuration.second.find(pidConfigurationInterface);
         if (findBase != configuration.second.end())
@@ -402,29 +402,29 @@
                 else
                 {
                     info.setpoint = variant_ns::apply_visitor(
-                        VariantToFloatVisitor(), base.at("SetPoint"));
+                        VariantToDoubleVisitor(), base.at("SetPoint"));
                 }
                 info.pidInfo.ts = 1.0; // currently unused
                 info.pidInfo.p_c = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("PCoefficient"));
+                    VariantToDoubleVisitor(), base.at("PCoefficient"));
                 info.pidInfo.i_c = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("ICoefficient"));
+                    VariantToDoubleVisitor(), base.at("ICoefficient"));
                 info.pidInfo.ff_off = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("FFOffCoefficient"));
+                    VariantToDoubleVisitor(), base.at("FFOffCoefficient"));
                 info.pidInfo.ff_gain = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("FFGainCoefficient"));
+                    VariantToDoubleVisitor(), base.at("FFGainCoefficient"));
                 info.pidInfo.i_lim.max = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("ILimitMax"));
+                    VariantToDoubleVisitor(), base.at("ILimitMax"));
                 info.pidInfo.i_lim.min = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("ILimitMin"));
+                    VariantToDoubleVisitor(), base.at("ILimitMin"));
                 info.pidInfo.out_lim.max = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("OutLimitMax"));
+                    VariantToDoubleVisitor(), base.at("OutLimitMax"));
                 info.pidInfo.out_lim.min = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("OutLimitMin"));
+                    VariantToDoubleVisitor(), base.at("OutLimitMin"));
                 info.pidInfo.slew_neg = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("SlewNeg"));
+                    VariantToDoubleVisitor(), base.at("SlewNeg"));
                 info.pidInfo.slew_pos = variant_ns::apply_visitor(
-                    VariantToFloatVisitor(), base.at("SlewPos"));
+                    VariantToDoubleVisitor(), base.at("SlewPos"));
             }
         }
         auto findStepwise =
@@ -494,13 +494,13 @@
                 if (findPosHyst != base.end())
                 {
                     info.stepwiseInfo.positiveHysteresis =
-                        variant_ns::apply_visitor(VariantToFloatVisitor(),
+                        variant_ns::apply_visitor(VariantToDoubleVisitor(),
                                                   findPosHyst->second);
                 }
                 if (findNegHyst != base.end())
                 {
                     info.stepwiseInfo.positiveHysteresis =
-                        variant_ns::apply_visitor(VariantToFloatVisitor(),
+                        variant_ns::apply_visitor(VariantToDoubleVisitor(),
                                                   findNegHyst->second);
                 }
                 std::vector<double> readings =
@@ -519,7 +519,7 @@
                 if (readings.size() < ec::maxStepwisePoints)
                 {
                     info.stepwiseInfo.reading[readings.size()] =
-                        std::numeric_limits<float>::quiet_NaN();
+                        std::numeric_limits<double>::quiet_NaN();
                 }
                 std::vector<double> outputs =
                     variant_ns::get<std::vector<double>>(base.at("Output"));
@@ -533,7 +533,7 @@
                 if (outputs.size() < ec::maxStepwisePoints)
                 {
                     info.stepwiseInfo.output[outputs.size()] =
-                        std::numeric_limits<float>::quiet_NaN();
+                        std::numeric_limits<double>::quiet_NaN();
                 }
             }
         }
diff --git a/dbus/dbuswrite.cpp b/dbus/dbuswrite.cpp
index fab9b4a..dff11d6 100644
--- a/dbus/dbuswrite.cpp
+++ b/dbus/dbuswrite.cpp
@@ -61,12 +61,12 @@
 
 void DbusWritePercent::write(double value)
 {
-    float minimum = getMin();
-    float maximum = getMax();
+    double minimum = getMin();
+    double maximum = getMax();
 
-    float range = maximum - minimum;
-    float offset = range * value;
-    float ovalue = offset + minimum;
+    double range = maximum - minimum;
+    double offset = range * value;
+    double ovalue = offset + minimum;
 
     if (oldValue == static_cast<int64_t>(ovalue))
     {
diff --git a/dbus/util.hpp b/dbus/util.hpp
index 1b3a95b..719bb1d 100644
--- a/dbus/util.hpp
+++ b/dbus/util.hpp
@@ -85,23 +85,6 @@
 std::string getMatch(const std::string& type, const std::string& id);
 bool validType(const std::string& type);
 
-struct VariantToFloatVisitor
-{
-    template <typename T>
-    std::enable_if_t<std::is_arithmetic<T>::value, float>
-        operator()(const T& t) const
-    {
-        return static_cast<float>(t);
-    }
-
-    template <typename T>
-    std::enable_if_t<!std::is_arithmetic<T>::value, float>
-        operator()(const T& t) const
-    {
-        throw std::invalid_argument("Cannot translate type to float");
-    }
-};
-
 struct VariantToDoubleVisitor
 {
     template <typename T>