diff --git a/src/tg/detail/random.hh b/src/tg/detail/random.hh
index 3810201449783c9ef3bd728748e12a5dcb7d81a6..f2c91b89afc3fdb84459c63af170dc4ea347bd92 100644
--- a/src/tg/detail/random.hh
+++ b/src/tg/detail/random.hh
@@ -44,7 +44,7 @@ public:
     {
         m_seed = u64(rd()) << 31 | u64(rd());
     }
-    void seed(size_t seed) { m_seed = (seed ^ 0x2b41a160bab708aduLL) + size_t(seed == 0x2b41a160bab708aduLL); }
+    void seed(u64 seed) { m_seed = (seed ^ 0x2b41a160bab708aduLL) + u64(seed == 0x2b41a160bab708aduLL); }
 
     result_type operator()()
     {
@@ -88,7 +88,7 @@ public:
     {
         m_seed = u64(rd()) << 31 | u64(rd());
     }
-    void seed(size_t seed) { m_seed = (seed ^ 0x2b41a160bab708aduLL) + size_t(seed == 0x2b41a160bab708aduLL); }
+    void seed(u64 seed) { m_seed = (seed ^ 0x2b41a160bab708aduLL) + u64(seed == 0x2b41a160bab708aduLL); }
 
     result_type operator()()
     {
diff --git a/src/tg/detail/scalars/scalar_math.hh b/src/tg/detail/scalars/scalar_math.hh
index b3066819e8c505734591763802371c3de51fe964..aaa2c2f5359a099f80ed1705c398da674b77b423 100644
--- a/src/tg/detail/scalars/scalar_math.hh
+++ b/src/tg/detail/scalars/scalar_math.hh
@@ -1,8 +1,6 @@
 #pragma once
 
 #include <cmath>
-#include <cstdlib>
-#include <type_traits>
 
 #include "../../detail/traits.hh"
 #include "../../types/scalar.hh"
@@ -66,12 +64,12 @@ inline i64 iround(f64 v) { return v >= 0 ? i64(v + 0.5) : i64(v - 0.5); }
 template <class T, class = enable_if<is_scalar<T>>>
 constexpr T min(T const& a, T const& b)
 {
-    return std::min(b, a);
+    return a < b ? a : b;
 }
 template <class T, class = enable_if<is_scalar<T>>>
 constexpr T max(T const& a, T const& b)
 {
-    return std::max(b, a);
+    return a < b ? b : a;
 }
 
 template <class T, class = enable_if<has_multiplication<T>>>