Skip to content

Commit 696b2fb

Browse files
authored
encoding.binary: use a[idx] instead of << in long blocks of linear code (#25476)
1 parent 832e8c1 commit 696b2fb

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

vlib/encoding/binary/big_endian.v

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ pub fn big_endian_put_u16_end(mut b []u8, v u16) {
4949

5050
// big_endian_get_u16 creates u8 array from the unsigned 16-bit integer v in big endian order.
5151
pub fn big_endian_get_u16(v u16) []u8 {
52-
mut b := []u8{cap: 2}
53-
b << u8(v >> u16(8))
54-
b << u8(v)
52+
mut b := []u8{len: 2}
53+
b[0] = u8(v >> u16(8))
54+
b[1] = u8(v)
5555
return b
5656
}
5757

@@ -105,11 +105,11 @@ pub fn big_endian_put_u32_end(mut b []u8, v u32) {
105105

106106
// big_endian_get_u32 creates u8 array from the unsigned 32-bit integer v in big endian order.
107107
pub fn big_endian_get_u32(v u32) []u8 {
108-
mut b := []u8{cap: 4}
109-
b << u8(v >> u32(24))
110-
b << u8(v >> u32(16))
111-
b << u8(v >> u32(8))
112-
b << u8(v)
108+
mut b := []u8{len: 4}
109+
b[0] = u8(v >> u32(24))
110+
b[1] = u8(v >> u32(16))
111+
b[2] = u8(v >> u32(8))
112+
b[3] = u8(v)
113113
return b
114114
}
115115

@@ -172,14 +172,14 @@ pub fn big_endian_put_u64_end(mut b []u8, v u64) {
172172

173173
// big_endian_get_u64 creates u8 array from the unsigned 64-bit integer v in big endian order.
174174
pub fn big_endian_get_u64(v u64) []u8 {
175-
mut b := []u8{cap: 8}
176-
b << u8(v >> u64(56))
177-
b << u8(v >> u64(48))
178-
b << u8(v >> u64(40))
179-
b << u8(v >> u64(32))
180-
b << u8(v >> u64(24))
181-
b << u8(v >> u64(16))
182-
b << u8(v >> u64(8))
183-
b << u8(v)
175+
mut b := []u8{len: 8}
176+
b[0] = u8(v >> u64(56))
177+
b[1] = u8(v >> u64(48))
178+
b[2] = u8(v >> u64(40))
179+
b[3] = u8(v >> u64(32))
180+
b[4] = u8(v >> u64(24))
181+
b[5] = u8(v >> u64(16))
182+
b[6] = u8(v >> u64(8))
183+
b[7] = u8(v)
184184
return b
185185
}

vlib/encoding/binary/little_endian.v

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ pub fn little_endian_put_u16_end(mut b []u8, v u16) {
4949

5050
// little_endian_get_u16 creates u8 array from the unsigned 16-bit integer v in little endian order.
5151
pub fn little_endian_get_u16(v u16) []u8 {
52-
mut b := []u8{cap: 2}
53-
b << u8(v)
54-
b << u8(v >> u16(8))
52+
mut b := []u8{len: 2}
53+
b[0] = u8(v)
54+
b[1] = u8(v >> u16(8))
5555
return b
5656
}
5757

@@ -105,11 +105,11 @@ pub fn little_endian_put_u32_end(mut b []u8, v u32) {
105105

106106
// little_endian_get_u32 creates u8 array from the unsigned 32-bit integer v in little endian order.
107107
pub fn little_endian_get_u32(v u32) []u8 {
108-
mut b := []u8{cap: 4}
109-
b << u8(v)
110-
b << u8(v >> u32(8))
111-
b << u8(v >> u32(16))
112-
b << u8(v >> u32(24))
108+
mut b := []u8{len: 4}
109+
b[0] = u8(v)
110+
b[1] = u8(v >> u32(8))
111+
b[2] = u8(v >> u32(16))
112+
b[3] = u8(v >> u32(24))
113113
return b
114114
}
115115

@@ -182,14 +182,14 @@ pub fn little_endian_f32_at(b []u8, o int) f32 {
182182

183183
// little_endian_get_u64 creates u8 array from the unsigned 64-bit integer v in little endian order.
184184
pub fn little_endian_get_u64(v u64) []u8 {
185-
mut b := []u8{cap: 8}
186-
b << u8(v)
187-
b << u8(v >> u64(8))
188-
b << u8(v >> u64(16))
189-
b << u8(v >> u64(24))
190-
b << u8(v >> u64(32))
191-
b << u8(v >> u64(40))
192-
b << u8(v >> u64(48))
193-
b << u8(v >> u64(56))
185+
mut b := []u8{len: 8}
186+
b[0] = u8(v)
187+
b[1] = u8(v >> u64(8))
188+
b[2] = u8(v >> u64(16))
189+
b[3] = u8(v >> u64(24))
190+
b[4] = u8(v >> u64(32))
191+
b[5] = u8(v >> u64(40))
192+
b[6] = u8(v >> u64(48))
193+
b[7] = u8(v >> u64(56))
194194
return b
195195
}

0 commit comments

Comments
 (0)