1
2
3
4
5
6
7 package byteorder
8
9 func LeUint16(b []byte) uint16 {
10 _ = b[1]
11 return uint16(b[0]) | uint16(b[1])<<8
12 }
13
14 func LePutUint16(b []byte, v uint16) {
15 _ = b[1]
16 b[0] = byte(v)
17 b[1] = byte(v >> 8)
18 }
19
20 func LeAppendUint16(b []byte, v uint16) []byte {
21 return append(b,
22 byte(v),
23 byte(v>>8),
24 )
25 }
26
27 func LeUint32(b []byte) uint32 {
28 _ = b[3]
29 return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
30 }
31
32 func LePutUint32(b []byte, v uint32) {
33 _ = b[3]
34 b[0] = byte(v)
35 b[1] = byte(v >> 8)
36 b[2] = byte(v >> 16)
37 b[3] = byte(v >> 24)
38 }
39
40 func LeAppendUint32(b []byte, v uint32) []byte {
41 return append(b,
42 byte(v),
43 byte(v>>8),
44 byte(v>>16),
45 byte(v>>24),
46 )
47 }
48
49 func LeUint64(b []byte) uint64 {
50 _ = b[7]
51 return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |
52 uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
53 }
54
55 func LePutUint64(b []byte, v uint64) {
56 _ = b[7]
57 b[0] = byte(v)
58 b[1] = byte(v >> 8)
59 b[2] = byte(v >> 16)
60 b[3] = byte(v >> 24)
61 b[4] = byte(v >> 32)
62 b[5] = byte(v >> 40)
63 b[6] = byte(v >> 48)
64 b[7] = byte(v >> 56)
65 }
66
67 func LeAppendUint64(b []byte, v uint64) []byte {
68 return append(b,
69 byte(v),
70 byte(v>>8),
71 byte(v>>16),
72 byte(v>>24),
73 byte(v>>32),
74 byte(v>>40),
75 byte(v>>48),
76 byte(v>>56),
77 )
78 }
79
80 func BeUint16(b []byte) uint16 {
81 _ = b[1]
82 return uint16(b[1]) | uint16(b[0])<<8
83 }
84
85 func BePutUint16(b []byte, v uint16) {
86 _ = b[1]
87 b[0] = byte(v >> 8)
88 b[1] = byte(v)
89 }
90
91 func BeAppendUint16(b []byte, v uint16) []byte {
92 return append(b,
93 byte(v>>8),
94 byte(v),
95 )
96 }
97
98 func BeUint32(b []byte) uint32 {
99 _ = b[3]
100 return uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24
101 }
102
103 func BePutUint32(b []byte, v uint32) {
104 _ = b[3]
105 b[0] = byte(v >> 24)
106 b[1] = byte(v >> 16)
107 b[2] = byte(v >> 8)
108 b[3] = byte(v)
109 }
110
111 func BeAppendUint32(b []byte, v uint32) []byte {
112 return append(b,
113 byte(v>>24),
114 byte(v>>16),
115 byte(v>>8),
116 byte(v),
117 )
118 }
119
120 func BeUint64(b []byte) uint64 {
121 _ = b[7]
122 return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
123 uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
124 }
125
126 func BePutUint64(b []byte, v uint64) {
127 _ = b[7]
128 b[0] = byte(v >> 56)
129 b[1] = byte(v >> 48)
130 b[2] = byte(v >> 40)
131 b[3] = byte(v >> 32)
132 b[4] = byte(v >> 24)
133 b[5] = byte(v >> 16)
134 b[6] = byte(v >> 8)
135 b[7] = byte(v)
136 }
137
138 func BeAppendUint64(b []byte, v uint64) []byte {
139 return append(b,
140 byte(v>>56),
141 byte(v>>48),
142 byte(v>>40),
143 byte(v>>32),
144 byte(v>>24),
145 byte(v>>16),
146 byte(v>>8),
147 byte(v),
148 )
149 }
150
View as plain text