You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bd408a2
Browse filesBrowse the repository at this point in the historyBrowse files
- update(): gate the whole-lane fast path on cfg!(target_endian = "little").
The raw *const u64 lane read equals the required little-endian value only on
LE targets; the cfg! folds to a compile-time constant (codegen unchanged on
every real target) and the byte fallback is endian-correct everywhere.
- Deduplicate the squeeze: extract squeeze32_into(state, out), shared by
Keccak256::finalize and keccak256_pair. Write-into (rather than returning
[u8; 32]) so finalize fills its output reference in place — verified
guest-codegen and cycle-identical to the pre-dedup loops.
- Tests: replace the hand-rolled xorshift RNG with rand's StdRng + SeedableRng
(matching src/random.rs), keeping fixed seeds for reproducibility.
- Document at the byte-wise fallback that a from_le_bytes lane-assembly middle
path was measured at +4.7% cycles (dropped commit f6d575ed) so it is not
re-proposed on this 1-cycle-per-instruction VM.
Digests remain byte-identical to sha3 Keccak-256 (host differential tests);
guest cycles unchanged (recursion-min 41,747,766 / recursion-blowup8
260,967,578, keccak call counts identical).
0 commit comments