// Copyright (c) 2024-2026 Celestino Amoroso (celestino.amoroso@gmail.com). // All rights reserved. // util.go package kern func FixAnyNumber(v any) (fixed any) { switch unboxed := v.(type) { case int: fixed = int64(unboxed) case int8: fixed = int64(unboxed) case int16: fixed = int64(unboxed) case int32: fixed = int64(unboxed) case uint: fixed = int64(unboxed) case uint8: fixed = int64(unboxed) case uint16: fixed = int64(unboxed) case uint32: fixed = int64(unboxed) case uint64: if unboxed <= MaxUint64Allowed { fixed = int64(unboxed) } else { fixed = float64(unboxed) } case float32: fixed = float64(unboxed) default: fixed = v } return }