aboutsummaryrefslogtreecommitdiff
path: root/internal/intconv/u64_i64.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 18:04:14 +0800
committerGravatar Runxi Yu2026-03-08 18:04:14 +0800
commit9053c85456bd9b4457b588610eeef1b8dfff2b89 (patch)
tree25cc230c908da6a4f858999779654b0059b2646b /internal/intconv/u64_i64.go
parent*: Fix lints (diff)
signatureNo signature
internal/intconv: Split
Diffstat (limited to 'internal/intconv/u64_i64.go')
-rw-r--r--internal/intconv/u64_i64.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/intconv/u64_i64.go b/internal/intconv/u64_i64.go
new file mode 100644
index 00000000..59b26a73
--- /dev/null
+++ b/internal/intconv/u64_i64.go
@@ -0,0 +1,15 @@
+package intconv
+
+import (
+ "fmt"
+ "math"
+)
+
+// Uint64ToInt64 converts v to int64, returning an error if it overflows.
+func Uint64ToInt64(v uint64) (int64, error) {
+ if v > math.MaxInt64 {
+ return 0, fmt.Errorf("intconv: uint64 %d overflows int64", v)
+ }
+
+ return int64(v), nil
+}