zufast is distributed under the MIT licence (see LICENSE). It includes code from the following upstream authors, each under its own licence. zufast is a header-only library: the installed headers under include/zufast/ carry this code, zufast.so is compiled from it, and every package that uses `LinkingTo: zufast` compiles the same code into its own shared object. ------------------------------------------------------------------------------ include/zufast/utf8.h -- UTF-8 decoder state table Transcribed from "Flexible and Economical UTF-8 Decoder", http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ Copyright (c) 2008-2010 Bjoern Hoehrmann Licence: MIT. The full notice is reproduced in the header. ------------------------------------------------------------------------------ include/zufast/vendor/ffc.h -- decimal number parsing and fixed formatting ffc.h, a C port of fast_float, https://github.com/kolemannix/ffc.h Pinned at tag v26.09.01 (commit 965d4db45d03365b4c852ab34f4d5b08b53bc7b3). Copyright (c) 2021 The fast_float authors (Daniel Lemire, João Paulo Magalhaes and contributors); C port by Koleman Nix. Licence: MIT, chosen from the MIT / Apache-2.0 / Boost-1.0 options. Licence text: licenses/ffc-LICENSE. Patched (the tools/ directory is in the source repository, https://github.com/pedrobtz/zufast, not in the package): tools/patches/ffc/0001-add-linkage-macros.patch adds FFC_LINKAGE and FFC_LINKAGE_EXTERN so that every public function can be made static; tools/patches/ffc/0002-drop-float-equal-pragmas.patch removes the pragmas that silence -Wfloat-equal, which R CMD check reports; tools/patches/ffc/0003-u64-overflow-at-max-digits.patch rejects unsigned 64-bit integers that wrap around 2^64 more than once, as fast_float 8.3 does; tools/patches/ffc/0004-const-tables.patch declares the five lookup tables const, so that they are read-only data. ------------------------------------------------------------------------------ include/zufast/vendor/ryu/ -- shortest round-trip digits of double and float Ryu, https://github.com/ulfjack/ryu Pinned at tag v2.0 (commit 72e18e8d14d4392a4a3261f37cde248e4fbedbec). Copyright 2018 Ulf Adams. Licence: Boost Software License 1.0, chosen from the Apache-2.0 / Boost-1.0 options. Licence text: licenses/ryu-LICENSE. Patched (in the source repository): tools/patches/ryu/0001-header-only.patch installs d2s.c and f2s.c as d2s_impl.h and f2s_impl.h with static inline entry points, relative includes, and assert() routed through RYU_ASSERT. ------------------------------------------------------------------------------ include/zufast/vendor/xxhash.h -- XXH3 hashing xxHash, https://github.com/Cyan4973/xxHash Pinned at tag v0.8.4 (commit c87183a77d67f7d37e3d2d1b7eaac5e7c695e4f0). Only xxhash.h is vendored; the xxhsum command-line tool in the same repository is GPL-2 and is not included. Copyright (c) 2012-2023 Yann Collet. Licence: BSD 2-Clause. Licence text: licenses/xxhash-LICENSE. Not patched. tests/testthat/fixtures/xxh3-vectors.tsv lists XXH3 hash values (input length, seed, hash) for xxHash's sanity buffer, a subset of those in xxHash's tests/sanity_test_vectors.h. That file carries no licence notice of its own; it is the output of tests/sanity_test_vectors_generator.c (GPL-2.0-only), which is not included. The fixture copies no code, only computed values, which the BSD-2-Clause xxhash.h above reproduces. The input those values hash is rebuilt by sanity_buffer() in src/zufast_test.c, an independent implementation of the same three-step fill (start at 2654435761, emit the top byte, multiply by 11400714785074694797, repeat), which must match exactly for the published values to apply; no code is copied from xxHash's test programs.