| ... | ... | @@ -123,7 +123,7 @@ fn Blake2s(comptime out_len: usize) type { |
| 123 | 123 | const rr = d.h[0 .. out_len / 32]; |
| 124 | 124 | |
| 125 | 125 | for (rr) |s, j| { |
| 126 | | mem.writeIntLittle(u32, out[4 * j ..][0..4], s); |
| 126 | mem.writeIntSliceLittle(u32, out[4 * j ..], s); |
| 127 | 127 | } |
| 128 | 128 | } |
| 129 | 129 | |
| ... | ... | @@ -296,19 +296,22 @@ test "blake2s256 streaming" { |
| 296 | 296 | htest.assertEqual(h3, out[0..]); |
| 297 | 297 | } |
| 298 | 298 | |
| 299 | | test "blake2s256 aligned final" { |
| 300 | | var block = [_]u8{0} ** Blake2s256.block_length; |
| 301 | | var out: [Blake2s256.digest_length]u8 = undefined; |
| 299 | test "comptime blake2s256" { |
| 300 | comptime { |
| 301 | @setEvalBranchQuota(8000); |
| 302 | var block = [_]u8{0} ** Blake2s256.block_length; |
| 303 | var out: [Blake2s256.digest_length]u8 = undefined; |
| 302 | 304 | |
| 303 | | const h1 = "ae09db7cd54f42b490ef09b6bc541af688e4959bb8c53f359a6f56e38ab454a3"; |
| 305 | const h1 = "ae09db7cd54f42b490ef09b6bc541af688e4959bb8c53f359a6f56e38ab454a3"; |
| 304 | 306 | |
| 305 | | htest.assertEqualHash(Blake2s256, h1, block[0..]); |
| 307 | htest.assertEqualHash(Blake2s256, h1, block[0..]); |
| 306 | 308 | |
| 307 | | var h = Blake2s256.init(); |
| 308 | | h.update(&block); |
| 309 | | h.final(out[0..]); |
| 309 | var h = Blake2s256.init(); |
| 310 | h.update(&block); |
| 311 | h.final(out[0..]); |
| 310 | 312 | |
| 311 | | htest.assertEqual(h1, out[0..]); |
| 313 | htest.assertEqual(h1, out[0..]); |
| 314 | } |
| 312 | 315 | } |
| 313 | 316 | |
| 314 | 317 | ///////////////////// |
| ... | ... | @@ -409,7 +412,7 @@ fn Blake2b(comptime out_len: usize) type { |
| 409 | 412 | const rr = d.h[0 .. out_len / 64]; |
| 410 | 413 | |
| 411 | 414 | for (rr) |s, j| { |
| 412 | | mem.writeIntLittle(u64, out[8 * j ..][0..8], s); |
| 415 | mem.writeIntSliceLittle(u64, out[8 * j ..], s); |
| 413 | 416 | } |
| 414 | 417 | } |
| 415 | 418 | |
| ... | ... | @@ -582,17 +585,20 @@ test "blake2b512 streaming" { |
| 582 | 585 | htest.assertEqual(h3, out[0..]); |
| 583 | 586 | } |
| 584 | 587 | |
| 585 | | test "blake2b512 aligned final" { |
| 586 | | var block = [_]u8{0} ** Blake2b512.block_length; |
| 587 | | var out: [Blake2b512.digest_length]u8 = undefined; |
| 588 | test "comptime blake2b512" { |
| 589 | comptime { |
| 590 | @setEvalBranchQuota(8000); |
| 591 | var block = [_]u8{0} ** Blake2b512.block_length; |
| 592 | var out: [Blake2b512.digest_length]u8 = undefined; |
| 588 | 593 | |
| 589 | | const h1 = "865939e120e6805438478841afb739ae4250cf372653078a065cdcfffca4caf798e6d462b65d658fc165782640eded70963449ae1500fb0f24981d7727e22c41"; |
| 594 | const h1 = "865939e120e6805438478841afb739ae4250cf372653078a065cdcfffca4caf798e6d462b65d658fc165782640eded70963449ae1500fb0f24981d7727e22c41"; |
| 590 | 595 | |
| 591 | | htest.assertEqualHash(Blake2b512, h1, block[0..]); |
| 596 | htest.assertEqualHash(Blake2b512, h1, block[0..]); |
| 592 | 597 | |
| 593 | | var h = Blake2b512.init(); |
| 594 | | h.update(&block); |
| 595 | | h.final(out[0..]); |
| 598 | var h = Blake2b512.init(); |
| 599 | h.update(&block); |
| 600 | h.final(out[0..]); |
| 596 | 601 | |
| 597 | | htest.assertEqual(h1, out[0..]); |
| 602 | htest.assertEqual(h1, out[0..]); |
| 603 | } |
| 598 | 604 | } |