Every // ---- section banner dies (132 -> 0): names carry the WHAT. Narration deleted (filename restatements, run-with lines, what-the- next-line-does); every ref/hare cite, task cite, divergence, ABI/ layout contract, and ownership qualifier kept (borrowed-view lines restored where the sweep over-cut). Comment-only proven: all 442 walk-workdir .s and 32 import-probe .s byte-identical before/after; libbyteid 56-roster all-ID.
16 lines
253 B
Plaintext
16 lines
253 B
Plaintext
package fnv;
|
|
|
|
def OFFSET: u64 = 14695981039346656037;
|
|
def PRIME: u64 = 1099511628211;
|
|
|
|
export fn fnv1a(buf: []u8) u64 = {
|
|
let h: u64 = OFFSET;
|
|
let i: i32 = 0;
|
|
for (i < buf.len) {
|
|
h = h ^ (buf[i]: u64);
|
|
h = h * PRIME;
|
|
i += 1;
|
|
};
|
|
return h;
|
|
};
|