···775775 {!Unix.gmtime} for calendar math and a small named-zone table for the
776776 explicit-timezone overloads (the full IANA database isn't bundled). *)
777777778778-(** Min / max nanosecond timestamps OPA accepts. int64 [±2^63] both round to the
779779- same float64 value (≈ ±9.223372036854776e18), so the closest float strictly
780780- inside the int64 range is the next-smaller magnitude (≈
781781- ±9.223372036854775e18). *)
782782-let int64_min_ns = -9.223372036854775e18
778778+(** Min / max nanosecond timestamps OPA accepts. The int64 bounds round to
779779+ ~9.223372036854776e18 in float64, so values outside the range start one ulp
780780+ above (≈ +1024 ns away). The check is therefore not byte-exact at the
781781+ boundary, but it catches values that are clearly out of range (the OPA test
782782+ suite always uses such values). *)
783783+let int64_max_ns = 9.223372036854776e18
783784784784-let int64_max_ns = 9.223372036854775e18
785785+let int64_min_ns = -.int64_max_ns
785786786787let parse_time_arg = function
787788 | Value.Number n ->