mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
builtin: unsafe vlib pointer indexing (#5836)
This commit is contained in:
@@ -48,7 +48,7 @@ fn wyhash64(key byteptr, len, seed_ u64) u64 {
|
||||
if len == 0 {
|
||||
return 0
|
||||
}
|
||||
mut p := &key[0]
|
||||
mut p := key
|
||||
mut seed := seed_
|
||||
mut i := len & 63
|
||||
unsafe {
|
||||
@@ -119,15 +119,21 @@ pub fn wymum(a, b u64) u64 {
|
||||
|
||||
[inline]
|
||||
fn wyr3(p byteptr, k u64) u64 {
|
||||
return (u64(p[0])<<16) | (u64(p[k>>1])<<8) | u64(p[k - 1])
|
||||
unsafe {
|
||||
return (u64(p[0])<<16) | (u64(p[k>>1])<<8) | u64(p[k - 1])
|
||||
}
|
||||
}
|
||||
|
||||
[inline]
|
||||
fn wyr4(p byteptr) u64 {
|
||||
return u32(p[0]) | (u32(p[1])<<u32(8)) | (u32(p[2])<<u32(16)) | (u32(p[3])<<u32(24))
|
||||
unsafe {
|
||||
return u32(p[0]) | (u32(p[1])<<u32(8)) | (u32(p[2])<<u32(16)) | (u32(p[3])<<u32(24))
|
||||
}
|
||||
}
|
||||
|
||||
[inline]
|
||||
fn wyr8(p byteptr) u64 {
|
||||
return u64(p[0]) | (u64(p[1])<<8) | (u64(p[2])<<16) | (u64(p[3])<<24) | (u64(p[4])<<32) | (u64(p[5])<<40) | (u64(p[6])<<48) | (u64(p[7])<<56)
|
||||
unsafe {
|
||||
return u64(p[0]) | (u64(p[1])<<8) | (u64(p[2])<<16) | (u64(p[3])<<24) | (u64(p[4])<<32) | (u64(p[5])<<40) | (u64(p[6])<<48) | (u64(p[7])<<56)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user