utils.go 361 B

1234567891011121314151617181920212223242526
  1. package gun
  2. func UVarintLen(x uint64) int {
  3. switch {
  4. case x < 1<<(7*1):
  5. return 1
  6. case x < 1<<(7*2):
  7. return 2
  8. case x < 1<<(7*3):
  9. return 3
  10. case x < 1<<(7*4):
  11. return 4
  12. case x < 1<<(7*5):
  13. return 5
  14. case x < 1<<(7*6):
  15. return 6
  16. case x < 1<<(7*7):
  17. return 7
  18. case x < 1<<(7*8):
  19. return 8
  20. case x < 1<<(7*9):
  21. return 9
  22. default:
  23. return 10
  24. }
  25. }