deleted float operator overloads and added unary operator- to Time
diff --git a/aos/common/control_loop/ControlLoop.cc b/aos/common/control_loop/ControlLoop.cc
index f5253d4..ea62d85 100644
--- a/aos/common/control_loop/ControlLoop.cc
+++ b/aos/common/control_loop/ControlLoop.cc
@@ -4,8 +4,8 @@
 namespace control_loops {
 
 time::Time NextLoopTime(time::Time start) {
-  return (start / kLoopFrequency.ToNSec()) *
-      kLoopFrequency.ToNSec() +
+  return (start / static_cast<int32_t>(kLoopFrequency.ToNSec())) *
+      static_cast<int32_t>(kLoopFrequency.ToNSec()) +
       kLoopFrequency;
 }
 
diff --git a/aos/common/control_loop/Timing.cpp b/aos/common/control_loop/Timing.cpp
index 3a58036..8f42623 100644
--- a/aos/common/control_loop/Timing.cpp
+++ b/aos/common/control_loop/Timing.cpp
@@ -11,8 +11,8 @@
 void PhasedLoopXMS(int ms, int offset) {
   // TODO(brians): Tests!
   const Time frequency = Time::InMS(ms);
-  SleepUntil((Time::Now() / frequency.ToNSec()) *
-             frequency.ToNSec() +
+  SleepUntil((Time::Now() / static_cast<int32_t>(frequency.ToNSec())) *
+             static_cast<int32_t>(frequency.ToNSec()) +
              frequency + Time::InUS(offset));
 }