1# @ajax/mesh-abi-pipe-hash
23Pipe hashes: a record's position-mixed sum and an inbox type's FNV-1a 32.
45Part of the mesh contract: the memory, control, snapshot and peer protocols shared by meshd, its GPU
6programs (CUDA kernels, wasm lanes, native workers) and the tools. Every side compiles the same
7definitions, so an offset can never disagree.
89```c
10#include "mesh/abi/pipe_hash.h"
11```
1213## Ported from
1415[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): crates/mesh-abi/src/v2/pipe.rs (sum_part, rec_sum, pos_mix, rec_sum_at, type_hash).
1617## Device code
1819The header is freestanding (`<stdint.h>`, `<stddef.h>`, `<stdbool.h>` only): it compiles for the host, `nvptx64-nvidia-cuda` and `wasm32`. Functions the Rust marks `const fn` are `static inline` here.
2021## Tests
2223- `tests/golden.c`: its functions against 76 vectors computed by the Rust on the same inputs
2425## Licence
2627MIT. See the repository's LICENSE.