1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-14 00:06:20 +02:00
BLAKE3/c
Erik Johansson 182aea4871 Add extern "C" to blake3.h
So that the header can be included in C++-programs without getting linker
errors.
2020-01-23 20:42:34 +01:00
..
blake3_c_rust_bindings port compress_subtree_to_parent_node from Rust to C 2020-01-22 21:32:39 -05:00
.gitignore remove the C code's duplicated copy of the test vectors 2020-01-09 09:48:52 -05:00
Makefile port compress_subtree_to_parent_node from Rust to C 2020-01-22 21:32:39 -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 more robust bit-trickery functions 2020-01-23 10:58:45 +00:00
blake3.h Add extern "C" to blake3.h 2020-01-23 20:42:34 +01:00
blake3_avx2.c streamline load_counters 2020-01-23 12:17:43 +00:00
blake3_avx512.c streamline load_counters 2020-01-23 12:17:43 +00:00
blake3_dispatch.c port compress_subtree_to_parent_node from Rust to C 2020-01-22 21:32:39 -05:00
blake3_impl.h name collision 2020-01-23 11:51:46 +00: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 streamline load_counters 2020-01-23 12:17:43 +00:00
main.c more robust bit-trickery functions 2020-01-23 10:58:45 +00: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.