diff --git a/src/typed-geometry/functions/basic/statistics.hh b/src/typed-geometry/functions/basic/statistics.hh
index c2eada4a88c597fb716c7f01316cdb093e3371ed..f6a244f89d908ab92584d502569dd8810a7544ed 100644
--- a/src/typed-geometry/functions/basic/statistics.hh
+++ b/src/typed-geometry/functions/basic/statistics.hh
@@ -127,7 +127,21 @@ template <class T = void, class RangeT = void, class TransformT = identity_fun>
 [[nodiscard]] constexpr auto arithmetic_mean(RangeT const& values, TransformT&& transform = {})
 {
     auto const s = sum<T>(values, transform);
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wsign-conversion"
+#endif
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable : 4244) // possible loss of data
+#endif
     return s / tg::container_size(values);
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
 }
 
 template <class T = void, class RangeT = void, class TransformT = identity_fun>