MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / ParseUint64

Function ParseUint64

pkg/util/byteutil/byteutil.go:56–85  ·  view source on GitHub ↗

ParseUint64 parses uint64 from b assuming little endian binary encoding.

(b []byte)

Source from the content-addressed store, hash-verified

54
55// ParseUint64 parses uint64 from b assuming little endian binary encoding.
56func ParseUint64(b []byte) uint64 {
57 switch len(b) {
58 case 0:
59 return 0
60 case 1:
61 _ = b[0]
62 return uint64(b[0])
63 case 2:
64 _ = b[1]
65 return uint64(b[0]) | uint64(b[1])<<8
66 case 3:
67 _ = b[2]
68 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16
69 case 4:
70 _ = b[3]
71 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24
72 case 5:
73 _ = b[4]
74 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32
75 case 6:
76 _ = b[5]
77 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40
78 case 7:
79 _ = b[6]
80 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48
81 default:
82 _ = b[7]
83 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
84 }
85}
86
87// AppendUint16 appends v to dst using little endian binary encoding using at most byteCount bytes.
88func AppendUint16(dst []byte, v uint16, byteCount uint8) []byte {

Callers 2

mac.goFile · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected