1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-24 05:36:07 +02:00
BLAKE3/c
Jack O'Connor 28701d1585 add a README.md in c/blake3_c_rust_bindings 2020-01-16 18:29:20 -05:00
..
blake3_c_rust_bindings add a README.md in c/blake3_c_rust_bindings 2020-01-16 18:29:20 -05:00
.gitignore remove the C code's duplicated copy of the test vectors 2020-01-09 09:48:52 -05:00
Makefile merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
README.md replace the C code README with a "not yet ready" remark 2020-01-09 09:48:52 -05:00
blake3.c move 0-length checks to the top-level C API functions 2020-01-10 10:49:33 -05:00
blake3.h add blake3_c_rust_bindings for testing and benchmarking 2020-01-16 16:09:42 -05:00
blake3_avx2.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_avx512.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_dispatch.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_impl.h merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_neon.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_portable.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
blake3_sse41.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
main.c merge BLAKE3-c into this repo 2020-01-09 09:48:52 -05:00
test.py remove the C code's duplicated copy of the test vectors 2020-01-09 09:48:52 -05:00

This is the C implementation of BLAKE3. It's tested, and parts of it are linked into the Rust implementation for AVX-512 and NEON support. However, it doesn't yet have a friendly public interface.

This implementation is simpler than the Rust implementation. It doesn't support multithreading, and it doesn't parallelize parent hashes, so throughput is lower.