Skip to main content

compress

Function compress 

Source
pub const fn compress(
    cv: [u32; 8],
    block: [u32; 16],
    counter: u64,
    block_len: u32,
    flags: u32,
) -> [u32; 16]
Expand description

Compresses a single BLAKE3 block, returning all sixteen feed-forward words.

The first eight words are the next chaining value when ROOT is absent; all sixteen words are one output block when ROOT is present. For root output, counter is the XOF output-block number, not the input chunk number. This low-level function does not validate caller-owned lengths or flags.

Inputs: cv (8 words: the chaining value, or IV for a first block), block (16 message words), counter (64-bit chunk or output-block number), block_len (bytes used, 0..=64) and flags. This is the reference the hardware pipeline is tested against.