// See the file "COPYING" in the main distribution directory for copyright. #pragma once #include "zeek/Type.h" namespace zeek::detail { inline bool double_to_count_would_overflow(double v) { return v < 0.0 || v > static_cast(UINT64_MAX); } inline bool int_to_count_would_overflow(zeek_int_t v) { return v < 0.0; } inline bool double_to_int_would_overflow(double v) { return v < static_cast(INT64_MIN) || v > static_cast(INT64_MAX); } inline bool count_to_int_would_overflow(zeek_uint_t v) { return v > INT64_MAX; } extern bool would_overflow(const zeek::Type* from_type, const zeek::Type* to_type, const Val* val); } // namespace zeek::detail