mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen/fmt: fix assign_stmt fix & cgen test & hash tests & fmt
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
module crc32
|
||||
|
||||
// polynomials
|
||||
const (
|
||||
pub const (
|
||||
ieee = 0xedb88320
|
||||
castagnoli = 0x82f63b78
|
||||
koopman = 0xeb31d82e
|
||||
@@ -26,7 +26,7 @@ mut:
|
||||
fn(c mut Crc32) generate_table(poly int) {
|
||||
for i in 0..256 {
|
||||
mut crc := u32(i)
|
||||
for j in 0..8 {
|
||||
for _ in 0..8 {
|
||||
if crc & u32(1) == u32(1) {
|
||||
crc = (crc >> 1) ^ u32(poly)
|
||||
} else {
|
||||
@@ -40,7 +40,7 @@ fn(c mut Crc32) generate_table(poly int) {
|
||||
fn(c &Crc32) sum32(b []byte) u32 {
|
||||
mut crc := ~u32(0)
|
||||
for i in 0..b.len {
|
||||
crc = c.table[byte(crc)^b[i]] ^ u32(crc >> u32(8))
|
||||
crc = c.table[byte(crc)^b[i]] ^ (crc >> 8)
|
||||
}
|
||||
return ~crc
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ fn test_hash_crc32() {
|
||||
b1 := 'testing crc32'.bytes()
|
||||
sum1 := crc32.sum(b1)
|
||||
assert sum1 == u32(1212124400)
|
||||
assert sum1.hex() == '0x483f8cf0'
|
||||
assert sum1.hex() == '483f8cf0'
|
||||
|
||||
|
||||
c := crc32.new(crc32.ieee)
|
||||
b2 := 'testing crc32 again'.bytes()
|
||||
sum2 := c.checksum(b2)
|
||||
assert sum2 == u32(1420327025)
|
||||
assert sum2.hex() == '0x54a87871'
|
||||
assert sum2.hex() == '54a87871'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user