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>>>