bitcoin-sha256 0.1.20

SHA-256 and SHA-512 are novel hash functions computed with eight 32-bit and 64-bit words, respectively. They use different shift amounts and additive constants, but their structures are otherwise virtually identical, differing only in the number of rounds. (from wikipedia)
// ---------------- [ File: bitcoin-sha256/src/sha256_transform_one_block.rs ]
crate::ix!();

/// Perform exactly one SHA-256 transformation, processing exactly 16 big-endian
/// 32-bit words (i.e., exactly one 64-byte chunk).
///
/// # Safety
/// - `s` **must** point to **at least** eight valid, writable `u32` words.
/// - `chunk` **must** point to exactly 16 readable big-endian `u32` words.
/// - Regions pointed to by `s` and `chunk` must not overlap.
///
/// Behaviour is *wrapping* on 32‑bit overflow, matching the reference C++.
#[inline]
pub unsafe fn sha256_transform_one_block_be_words(
    s: *mut u32,
    chunk: *const u32,
) {
    trace!(
        target: "sha256",
        "sha256_transform_one_block_be_words: forwarding call as single block"
    );

    sha256_transform(s, chunk as *const u8, 1);
}