react-native-quick-crypto 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +5 -1
- package/cpp/argon2/HybridArgon2.cpp +10 -3
- package/cpp/blake3/HybridBlake3.cpp +5 -3
- package/cpp/cipher/CCMCipher.cpp +29 -16
- package/cpp/cipher/CCMCipher.hpp +2 -4
- package/cpp/cipher/ChaCha20Cipher.cpp +14 -18
- package/cpp/cipher/ChaCha20Cipher.hpp +2 -4
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +34 -23
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +2 -4
- package/cpp/cipher/GCMCipher.cpp +14 -15
- package/cpp/cipher/HybridCipher.cpp +39 -36
- package/cpp/cipher/HybridCipher.hpp +17 -1
- package/cpp/cipher/HybridRsaCipher.cpp +74 -29
- package/cpp/cipher/OCBCipher.cpp +4 -3
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +14 -13
- package/cpp/cipher/XSalsa20Cipher.cpp +72 -6
- package/cpp/cipher/XSalsa20Cipher.hpp +25 -3
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +21 -25
- package/cpp/dh/HybridDiffieHellman.cpp +29 -0
- package/cpp/ec/HybridEcKeyPair.cpp +35 -33
- package/cpp/ec/HybridEcKeyPair.hpp +3 -7
- package/cpp/ecdh/HybridECDH.cpp +23 -0
- package/cpp/ed25519/HybridEdKeyPair.cpp +73 -117
- package/cpp/ed25519/HybridEdKeyPair.hpp +5 -9
- package/cpp/hash/HybridHash.cpp +5 -7
- package/cpp/hkdf/HybridHkdf.cpp +6 -4
- package/cpp/hmac/HybridHmac.cpp +4 -6
- package/cpp/kmac/HybridKmac.cpp +4 -4
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +37 -49
- package/cpp/mlkem/HybridMlKemKeyPair.cpp +39 -43
- package/cpp/pbkdf2/HybridPbkdf2.cpp +7 -8
- package/cpp/rsa/HybridRsaKeyPair.cpp +5 -8
- package/cpp/rsa/HybridRsaKeyPair.hpp +4 -7
- package/cpp/scrypt/HybridScrypt.cpp +6 -4
- package/cpp/sign/HybridSignHandle.cpp +25 -68
- package/cpp/sign/HybridVerifyHandle.cpp +23 -60
- package/cpp/utils/HybridUtils.cpp +183 -43
- package/cpp/utils/HybridUtils.hpp +9 -2
- package/cpp/utils/QuickCryptoUtils.hpp +72 -0
- package/lib/commonjs/argon2.js +51 -2
- package/lib/commonjs/argon2.js.map +1 -1
- package/lib/commonjs/cipher.js +109 -11
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dsa.js +8 -2
- package/lib/commonjs/dsa.js.map +1 -1
- package/lib/commonjs/hash.js +15 -5
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/hkdf.js +33 -6
- package/lib/commonjs/hkdf.js.map +1 -1
- package/lib/commonjs/hmac.js +15 -5
- package/lib/commonjs/hmac.js.map +1 -1
- package/lib/commonjs/keys/publicCipher.js +10 -4
- package/lib/commonjs/keys/publicCipher.js.map +1 -1
- package/lib/commonjs/random.js +11 -2
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js +12 -5
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/scrypt.js +47 -6
- package/lib/commonjs/scrypt.js.map +1 -1
- package/lib/commonjs/subtle.js +76 -5
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/cipher.js +18 -7
- package/lib/commonjs/utils/cipher.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +33 -9
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/timingSafeEqual.js +7 -2
- package/lib/commonjs/utils/timingSafeEqual.js.map +1 -1
- package/lib/commonjs/x509certificate.js +6 -6
- package/lib/commonjs/x509certificate.js.map +1 -1
- package/lib/module/argon2.js +51 -2
- package/lib/module/argon2.js.map +1 -1
- package/lib/module/cipher.js +109 -11
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dsa.js +8 -2
- package/lib/module/dsa.js.map +1 -1
- package/lib/module/hash.js +15 -5
- package/lib/module/hash.js.map +1 -1
- package/lib/module/hkdf.js +33 -6
- package/lib/module/hkdf.js.map +1 -1
- package/lib/module/hmac.js +15 -5
- package/lib/module/hmac.js.map +1 -1
- package/lib/module/keys/publicCipher.js +10 -4
- package/lib/module/keys/publicCipher.js.map +1 -1
- package/lib/module/random.js +11 -2
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +11 -4
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/scrypt.js +47 -6
- package/lib/module/scrypt.js.map +1 -1
- package/lib/module/subtle.js +76 -5
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/cipher.js +18 -7
- package/lib/module/utils/cipher.js.map +1 -1
- package/lib/module/utils/conversion.js +33 -9
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/timingSafeEqual.js +8 -3
- package/lib/module/utils/timingSafeEqual.js.map +1 -1
- package/lib/module/x509certificate.js +6 -6
- package/lib/module/x509certificate.js.map +1 -1
- package/lib/typescript/argon2.d.ts.map +1 -1
- package/lib/typescript/cipher.d.ts +2 -2
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dsa.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts +2 -2
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/hkdf.d.ts.map +1 -1
- package/lib/typescript/hmac.d.ts +2 -2
- package/lib/typescript/hmac.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/publicCipher.d.ts.map +1 -1
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts.map +1 -1
- package/lib/typescript/scrypt.d.ts.map +1 -1
- package/lib/typescript/specs/utils.nitro.d.ts +0 -2
- package/lib/typescript/specs/utils.nitro.d.ts.map +1 -1
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/cipher.d.ts +13 -1
- package/lib/typescript/utils/cipher.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts +9 -6
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -1
- package/lib/typescript/x509certificate.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +0 -2
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +0 -3
- package/package.json +37 -5
- package/src/argon2.ts +80 -2
- package/src/cipher.ts +139 -15
- package/src/dsa.ts +11 -2
- package/src/hash.ts +17 -7
- package/src/hkdf.ts +44 -6
- package/src/hmac.ts +17 -7
- package/src/keys/publicCipher.ts +10 -4
- package/src/random.ts +11 -2
- package/src/rsa.ts +18 -4
- package/src/scrypt.ts +73 -6
- package/src/specs/utils.nitro.ts +0 -2
- package/src/subtle.ts +90 -8
- package/src/utils/cipher.ts +30 -8
- package/src/utils/conversion.ts +58 -20
- package/src/utils/timingSafeEqual.ts +8 -3
- package/src/x509certificate.ts +5 -6
- package/deps/blake3/.cargo/config.toml +0 -2
- package/deps/blake3/.git-blame-ignore-revs +0 -2
- package/deps/blake3/.github/workflows/build_b3sum.py +0 -38
- package/deps/blake3/.github/workflows/ci.yml +0 -491
- package/deps/blake3/.github/workflows/tag.yml +0 -43
- package/deps/blake3/.github/workflows/upload_github_release_asset.py +0 -73
- package/deps/blake3/CONTRIBUTING.md +0 -31
- package/deps/blake3/Cargo.toml +0 -135
- package/deps/blake3/b3sum/Cargo.lock +0 -513
- package/deps/blake3/b3sum/Cargo.toml +0 -26
- package/deps/blake3/b3sum/README.md +0 -72
- package/deps/blake3/b3sum/src/main.rs +0 -564
- package/deps/blake3/b3sum/src/unit_tests.rs +0 -235
- package/deps/blake3/b3sum/tests/cli_tests.rs +0 -680
- package/deps/blake3/b3sum/what_does_check_do.md +0 -176
- package/deps/blake3/benches/bench.rs +0 -623
- package/deps/blake3/build.rs +0 -389
- package/deps/blake3/c/CMakeLists.txt +0 -383
- package/deps/blake3/c/CMakePresets.json +0 -73
- package/deps/blake3/c/Makefile.testing +0 -82
- package/deps/blake3/c/blake3-config.cmake.in +0 -14
- package/deps/blake3/c/blake3_avx2.c +0 -326
- package/deps/blake3/c/blake3_avx2_x86-64_unix.S +0 -1815
- package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +0 -1817
- package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +0 -1828
- package/deps/blake3/c/blake3_avx512.c +0 -1388
- package/deps/blake3/c/blake3_avx512_x86-64_unix.S +0 -4824
- package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +0 -2615
- package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +0 -2634
- package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +0 -32
- package/deps/blake3/c/blake3_c_rust_bindings/README.md +0 -4
- package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +0 -477
- package/deps/blake3/c/blake3_c_rust_bindings/build.rs +0 -253
- package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +0 -31
- package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +0 -333
- package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +0 -696
- package/deps/blake3/c/blake3_sse2.c +0 -566
- package/deps/blake3/c/blake3_sse2_x86-64_unix.S +0 -2291
- package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +0 -2332
- package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +0 -2350
- package/deps/blake3/c/blake3_sse41.c +0 -560
- package/deps/blake3/c/blake3_sse41_x86-64_unix.S +0 -2028
- package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +0 -2069
- package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +0 -2089
- package/deps/blake3/c/blake3_tbb.cpp +0 -37
- package/deps/blake3/c/dependencies/CMakeLists.txt +0 -3
- package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +0 -28
- package/deps/blake3/c/example.c +0 -36
- package/deps/blake3/c/example_tbb.c +0 -57
- package/deps/blake3/c/libblake3.pc.in +0 -12
- package/deps/blake3/c/main.c +0 -166
- package/deps/blake3/c/test.py +0 -97
- package/deps/blake3/media/B3.svg +0 -70
- package/deps/blake3/media/BLAKE3.svg +0 -85
- package/deps/blake3/media/speed.svg +0 -1474
- package/deps/blake3/reference_impl/Cargo.toml +0 -8
- package/deps/blake3/reference_impl/README.md +0 -14
- package/deps/blake3/reference_impl/reference_impl.rs +0 -374
- package/deps/blake3/src/ffi_avx2.rs +0 -65
- package/deps/blake3/src/ffi_avx512.rs +0 -169
- package/deps/blake3/src/ffi_neon.rs +0 -82
- package/deps/blake3/src/ffi_sse2.rs +0 -126
- package/deps/blake3/src/ffi_sse41.rs +0 -126
- package/deps/blake3/src/guts.rs +0 -60
- package/deps/blake3/src/hazmat.rs +0 -704
- package/deps/blake3/src/io.rs +0 -64
- package/deps/blake3/src/join.rs +0 -92
- package/deps/blake3/src/lib.rs +0 -1835
- package/deps/blake3/src/platform.rs +0 -587
- package/deps/blake3/src/portable.rs +0 -198
- package/deps/blake3/src/rust_avx2.rs +0 -474
- package/deps/blake3/src/rust_sse2.rs +0 -775
- package/deps/blake3/src/rust_sse41.rs +0 -766
- package/deps/blake3/src/test.rs +0 -1049
- package/deps/blake3/src/traits.rs +0 -227
- package/deps/blake3/src/wasm32_simd.rs +0 -794
- package/deps/blake3/test_vectors/Cargo.toml +0 -19
- package/deps/blake3/test_vectors/cross_test.sh +0 -25
- package/deps/blake3/test_vectors/src/bin/generate.rs +0 -4
- package/deps/blake3/test_vectors/src/lib.rs +0 -350
- package/deps/blake3/test_vectors/test_vectors.json +0 -217
- package/deps/blake3/tools/compiler_version/Cargo.toml +0 -7
- package/deps/blake3/tools/compiler_version/build.rs +0 -6
- package/deps/blake3/tools/compiler_version/src/main.rs +0 -27
- package/deps/blake3/tools/instruction_set_support/Cargo.toml +0 -6
- package/deps/blake3/tools/instruction_set_support/src/main.rs +0 -10
- package/deps/blake3/tools/release.md +0 -16
- package/deps/ncrypto/.bazelignore +0 -4
- package/deps/ncrypto/.bazelrc +0 -1
- package/deps/ncrypto/.bazelversion +0 -1
- package/deps/ncrypto/.clang-format +0 -111
- package/deps/ncrypto/.github/workflows/bazel.yml +0 -58
- package/deps/ncrypto/.github/workflows/commitlint.yml +0 -16
- package/deps/ncrypto/.github/workflows/linter.yml +0 -38
- package/deps/ncrypto/.github/workflows/macos.yml +0 -43
- package/deps/ncrypto/.github/workflows/release-please.yml +0 -16
- package/deps/ncrypto/.github/workflows/ubuntu.yml +0 -128
- package/deps/ncrypto/.github/workflows/visual-studio.yml +0 -49
- package/deps/ncrypto/.python-version +0 -1
- package/deps/ncrypto/.release-please-manifest.json +0 -3
- package/deps/ncrypto/BUILD.bazel +0 -44
- package/deps/ncrypto/CHANGELOG.md +0 -37
- package/deps/ncrypto/CMakeLists.txt +0 -79
- package/deps/ncrypto/MODULE.bazel +0 -16
- package/deps/ncrypto/MODULE.bazel.lock +0 -461
- package/deps/ncrypto/cmake/CPM.cmake +0 -1225
- package/deps/ncrypto/cmake/ncrypto-flags.cmake +0 -17
- package/deps/ncrypto/ncrypto.pc.in +0 -10
- package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +0 -28
- package/deps/ncrypto/pyproject.toml +0 -38
- package/deps/ncrypto/release-please-config.json +0 -11
- package/deps/ncrypto/src/CMakeLists.txt +0 -40
- package/deps/ncrypto/tests/BUILD.bazel +0 -11
- package/deps/ncrypto/tests/CMakeLists.txt +0 -7
- package/deps/ncrypto/tests/basic.cpp +0 -856
- package/deps/ncrypto/tools/run-clang-format.sh +0 -42
- package/deps/simdutf/.clang-format +0 -4
- package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +0 -62
- package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +0 -1
- package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +0 -35
- package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +0 -29
- package/deps/simdutf/.github/pull_request_template.md +0 -51
- package/deps/simdutf/.github/workflows/aarch64.yml +0 -39
- package/deps/simdutf/.github/workflows/alpine.yml +0 -27
- package/deps/simdutf/.github/workflows/amalgamation_demos.yml +0 -34
- package/deps/simdutf/.github/workflows/armv7.yml +0 -32
- package/deps/simdutf/.github/workflows/atomic_fuzz.yml +0 -25
- package/deps/simdutf/.github/workflows/cifuzz.yml +0 -37
- package/deps/simdutf/.github/workflows/clangformat.yml +0 -36
- package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +0 -40
- package/deps/simdutf/.github/workflows/debian.yml +0 -33
- package/deps/simdutf/.github/workflows/documentation.yml +0 -36
- package/deps/simdutf/.github/workflows/emscripten.yml +0 -19
- package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +0 -39
- package/deps/simdutf/.github/workflows/macos-latest.yml +0 -29
- package/deps/simdutf/.github/workflows/msys2-clang.yml +0 -48
- package/deps/simdutf/.github/workflows/msys2.yml +0 -50
- package/deps/simdutf/.github/workflows/ppc64le.yml +0 -29
- package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +0 -35
- package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +0 -35
- package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +0 -31
- package/deps/simdutf/.github/workflows/s390x.yml +0 -29
- package/deps/simdutf/.github/workflows/selective-amalgamation.yml +0 -29
- package/deps/simdutf/.github/workflows/typos.yml +0 -19
- package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +0 -30
- package/deps/simdutf/.github/workflows/ubuntu22.yml +0 -32
- package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +0 -27
- package/deps/simdutf/.github/workflows/ubuntu22sani.yml +0 -29
- package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +0 -34
- package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +0 -34
- package/deps/simdutf/.github/workflows/ubuntu24.yml +0 -32
- package/deps/simdutf/.github/workflows/ubuntu24sani.yml +0 -36
- package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +0 -29
- package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +0 -21
- package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-ci.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +0 -36
- package/deps/simdutf/AI_USAGE_POLICY.md +0 -56
- package/deps/simdutf/AUTHORS +0 -6
- package/deps/simdutf/CMakeLists.txt +0 -231
- package/deps/simdutf/CONTRIBUTING.md +0 -214
- package/deps/simdutf/CONTRIBUTORS +0 -1
- package/deps/simdutf/Doxyfile +0 -2584
- package/deps/simdutf/Makefile.crosscompile +0 -54
- package/deps/simdutf/README-RVV.md +0 -16
- package/deps/simdutf/SECURITY.md +0 -8
- package/deps/simdutf/benchmarks/CMakeLists.txt +0 -101
- package/deps/simdutf/benchmarks/alignment.cpp +0 -150
- package/deps/simdutf/benchmarks/base64/CMakeLists.txt +0 -30
- package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +0 -875
- package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +0 -49
- package/deps/simdutf/benchmarks/base64/node_base64.h +0 -227
- package/deps/simdutf/benchmarks/base64/openssl3_base64.h +0 -334
- package/deps/simdutf/benchmarks/benchmark.cpp +0 -65
- package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +0 -347
- package/deps/simdutf/benchmarks/competition/.clang-format-ignore +0 -5
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +0 -1276
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +0 -595
- package/deps/simdutf/benchmarks/competition/README.md +0 -7
- package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +0 -91
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +0 -444
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +0 -13183
- package/deps/simdutf/benchmarks/competition/inoue2008/script.py +0 -73
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +0 -738
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +0 -293
- package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +0 -8
- package/deps/simdutf/benchmarks/competition/u8u16/Makefile +0 -44
- package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +0 -169
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +0 -148
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +0 -45
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +0 -34
- package/deps/simdutf/benchmarks/competition/u8u16/README +0 -56
- package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +0 -43
- package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +0 -27
- package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +0 -16
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +0 -18
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +0 -16
- package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +0 -28
- package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +0 -20
- package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +0 -440
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +0 -121
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +0 -158
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +0 -270
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +0 -141
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +0 -216
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +0 -119
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +0 -2430
- package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +0 -39
- package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +0 -421
- package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +0 -836
- package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +0 -222
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +0 -4
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +0 -5
- package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +0 -390
- package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +0 -18
- package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +0 -448
- package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +0 -284
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +0 -1975
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +0 -2263
- package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +0 -239
- package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +0 -232
- package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +0 -194
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +0 -193
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +0 -167
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +0 -288
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +0 -117
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +0 -3
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +0 -3
- package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +0 -2
- package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +0 -23
- package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +0 -44
- package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +0 -106
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +0 -14
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +0 -8
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +0 -14
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +0 -8
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +0 -10
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +0 -9
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +0 -25
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +0 -94
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +0 -20
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +0 -2
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +0 -1
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +0 -75
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +0 -47
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +0 -17
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +0 -76
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +0 -35
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +0 -117
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +0 -210
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +0 -158
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +0 -104
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +0 -334
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +0 -186
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +0 -140
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +0 -42
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +0 -100
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +0 -57
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +0 -85
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +0 -27
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +0 -126
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +0 -108
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +0 -139
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +0 -74
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +0 -65
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +0 -91
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +0 -772
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +0 -486
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +0 -162
- package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +0 -15
- package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +0 -292
- package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +0 -23
- package/deps/simdutf/benchmarks/competition/utfcpp/README.md +0 -1503
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +0 -335
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +0 -338
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +0 -103
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +0 -103
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +0 -274
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +0 -34
- package/deps/simdutf/benchmarks/dataset/README.md +0 -155
- package/deps/simdutf/benchmarks/dataset/emoji.txt +0 -204
- package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +0 -40
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +0 -80
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +0 -20
- package/deps/simdutf/benchmarks/find/CMakeLists.txt +0 -6
- package/deps/simdutf/benchmarks/find/findbenchmark.cpp +0 -63
- package/deps/simdutf/benchmarks/find/findbenchmarker.h +0 -46
- package/deps/simdutf/benchmarks/shortbench.cpp +0 -555
- package/deps/simdutf/benchmarks/src/CMakeLists.txt +0 -52
- package/deps/simdutf/benchmarks/src/apple_arm_events.h +0 -1104
- package/deps/simdutf/benchmarks/src/benchmark.cpp +0 -3899
- package/deps/simdutf/benchmarks/src/benchmark.h +0 -317
- package/deps/simdutf/benchmarks/src/benchmark_base.cpp +0 -144
- package/deps/simdutf/benchmarks/src/benchmark_base.h +0 -98
- package/deps/simdutf/benchmarks/src/cmdline.cpp +0 -176
- package/deps/simdutf/benchmarks/src/cmdline.h +0 -35
- package/deps/simdutf/benchmarks/src/event_counter.h +0 -162
- package/deps/simdutf/benchmarks/src/linux-perf-events.h +0 -104
- package/deps/simdutf/benchmarks/stream.cpp +0 -209
- package/deps/simdutf/benchmarks/threaded.cpp +0 -123
- package/deps/simdutf/cmake/CPM.cmake +0 -1363
- package/deps/simdutf/cmake/JoinPaths.cmake +0 -23
- package/deps/simdutf/cmake/add_cpp_test.cmake +0 -68
- package/deps/simdutf/cmake/simdutf-config.cmake.in +0 -2
- package/deps/simdutf/cmake/simdutf-flags.cmake +0 -26
- package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +0 -4
- package/deps/simdutf/cmake/toolchains-dev/README.md +0 -32
- package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +0 -14
- package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +0 -22
- package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +0 -38
- package/deps/simdutf/doc/avx512.png +0 -0
- package/deps/simdutf/doc/logo.png +0 -0
- package/deps/simdutf/doc/logo.svg +0 -165
- package/deps/simdutf/doc/node2023.png +0 -0
- package/deps/simdutf/doc/shortinput.md +0 -78
- package/deps/simdutf/doc/utf16utf8.png +0 -0
- package/deps/simdutf/doc/utf8utf16.png +0 -0
- package/deps/simdutf/doc/widelogo.png +0 -0
- package/deps/simdutf/doxygen.py +0 -50
- package/deps/simdutf/fuzz/.clang-format +0 -9
- package/deps/simdutf/fuzz/CMakeLists.txt +0 -45
- package/deps/simdutf/fuzz/README.md +0 -168
- package/deps/simdutf/fuzz/atomic_base64.cpp +0 -448
- package/deps/simdutf/fuzz/base64.cpp +0 -278
- package/deps/simdutf/fuzz/build.sh +0 -83
- package/deps/simdutf/fuzz/conversion.cpp +0 -669
- package/deps/simdutf/fuzz/helpers/.clang-format-ignore +0 -1
- package/deps/simdutf/fuzz/helpers/common.h +0 -135
- package/deps/simdutf/fuzz/helpers/nameof.hpp +0 -1258
- package/deps/simdutf/fuzz/main.cpp +0 -72
- package/deps/simdutf/fuzz/minimize_and_cleanse.sh +0 -87
- package/deps/simdutf/fuzz/misc.cpp +0 -216
- package/deps/simdutf/fuzz/random_fuzz.sh +0 -154
- package/deps/simdutf/fuzz/roundtrip.cpp +0 -588
- package/deps/simdutf/fuzz/safe_conversion.cpp +0 -104
- package/deps/simdutf/riscv/Dockerfile +0 -16
- package/deps/simdutf/riscv/README.md +0 -24
- package/deps/simdutf/riscv/remove-docker-station +0 -8
- package/deps/simdutf/riscv/run-docker-station +0 -31
- package/deps/simdutf/scripts/.flake8 +0 -2
- package/deps/simdutf/scripts/Makefile +0 -2
- package/deps/simdutf/scripts/README_ADD_FUNCTION.md +0 -49
- package/deps/simdutf/scripts/add_function.py +0 -330
- package/deps/simdutf/scripts/amalgamation_tests.py +0 -156
- package/deps/simdutf/scripts/base64/Makefile +0 -2
- package/deps/simdutf/scripts/base64/README.md +0 -2
- package/deps/simdutf/scripts/base64/avx512.py +0 -76
- package/deps/simdutf/scripts/base64/neon_decode.py +0 -143
- package/deps/simdutf/scripts/base64/neon_generate_lut.py +0 -101
- package/deps/simdutf/scripts/base64/sse.py +0 -252
- package/deps/simdutf/scripts/base64/sseregular.py +0 -160
- package/deps/simdutf/scripts/base64/sseurl.py +0 -283
- package/deps/simdutf/scripts/base64/table.py +0 -59
- package/deps/simdutf/scripts/base64bench_print.py +0 -145
- package/deps/simdutf/scripts/benchmark-all.py +0 -119
- package/deps/simdutf/scripts/benchmark_print.py +0 -324
- package/deps/simdutf/scripts/check_feature_macros.py +0 -156
- package/deps/simdutf/scripts/check_typos.sh +0 -13
- package/deps/simdutf/scripts/clang_format.sh +0 -35
- package/deps/simdutf/scripts/clang_format_docker.sh +0 -38
- package/deps/simdutf/scripts/common.py +0 -24
- package/deps/simdutf/scripts/compilation_benchmark.py +0 -55
- package/deps/simdutf/scripts/compile_many_variations.sh +0 -64
- package/deps/simdutf/scripts/create_latex_table.py +0 -62
- package/deps/simdutf/scripts/docker/Dockerfile +0 -14
- package/deps/simdutf/scripts/docker/Makefile +0 -9
- package/deps/simdutf/scripts/docker/README.md +0 -30
- package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
- package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +0 -155
- package/deps/simdutf/scripts/prepare_doxygen.sh +0 -21
- package/deps/simdutf/scripts/release.py +0 -197
- package/deps/simdutf/scripts/shortinputplots.py +0 -97
- package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +0 -422
- package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +0 -105
- package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +0 -186
- package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +0 -137
- package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +0 -129
- package/deps/simdutf/scripts/table.py +0 -207
- package/deps/simdutf/scripts/tests/new.txt +0 -33
- package/deps/simdutf/scripts/tests/old.txt +0 -33
- package/deps/simdutf/scripts/tests/results.txt +0 -272
- package/deps/simdutf/simdutf.pc.in +0 -11
- package/deps/simdutf/singleheader/.flake8 +0 -2
- package/deps/simdutf/singleheader/CMakeLists.txt +0 -64
- package/deps/simdutf/singleheader/README-dev.md +0 -81
- package/deps/simdutf/singleheader/README.md +0 -19
- package/deps/simdutf/singleheader/amalgamate.py +0 -513
- package/deps/simdutf/singleheader/amalgamation_demo.c +0 -59
- package/deps/simdutf/singleheader/amalgamation_demo.cpp +0 -54
- package/deps/simdutf/singleheader/test-features.py +0 -262
- package/deps/simdutf/src/CMakeLists.txt +0 -78
- package/deps/simdutf/tests/CMakeLists.txt +0 -483
- package/deps/simdutf/tests/atomic_base64_tests.cpp +0 -2845
- package/deps/simdutf/tests/base64_tests.cpp +0 -3617
- package/deps/simdutf/tests/basic_fuzzer.cpp +0 -805
- package/deps/simdutf/tests/bele_tests.cpp +0 -182
- package/deps/simdutf/tests/constexpr_base64_tests.cpp +0 -387
- package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +0 -52
- package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +0 -80
- package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +0 -66
- package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +0 -120
- package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +0 -203
- package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +0 -276
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +0 -109
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +0 -136
- package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +0 -193
- package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +0 -381
- package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +0 -259
- package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +0 -266
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +0 -148
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +0 -176
- package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +0 -213
- package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +0 -318
- package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +0 -343
- package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +0 -271
- package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +0 -111
- package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +0 -96
- package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +0 -148
- package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +0 -192
- package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +0 -166
- package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +0 -215
- package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +0 -181
- package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +0 -261
- package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +0 -516
- package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +0 -579
- package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +0 -412
- package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +0 -480
- package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +0 -671
- package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +0 -455
- package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +0 -1204
- package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +0 -337
- package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +0 -37
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +0 -97
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +0 -126
- package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +0 -71
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +0 -122
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +0 -244
- package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +0 -49
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +0 -92
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +0 -114
- package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +0 -109
- package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +0 -84
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +0 -124
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +0 -221
- package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +0 -155
- package/deps/simdutf/tests/count_utf16be.cpp +0 -64
- package/deps/simdutf/tests/count_utf16le.cpp +0 -61
- package/deps/simdutf/tests/count_utf8.cpp +0 -87
- package/deps/simdutf/tests/detect_encodings_tests.cpp +0 -312
- package/deps/simdutf/tests/embed/valid_utf8.txt +0 -1
- package/deps/simdutf/tests/embed_tests.cpp +0 -22
- package/deps/simdutf/tests/find_tests.cpp +0 -77
- package/deps/simdutf/tests/fixed_string_tests.cpp +0 -153
- package/deps/simdutf/tests/helpers/CMakeLists.txt +0 -25
- package/deps/simdutf/tests/helpers/compiletime_conversions.h +0 -222
- package/deps/simdutf/tests/helpers/fixed_string.h +0 -267
- package/deps/simdutf/tests/helpers/random_int.cpp +0 -30
- package/deps/simdutf/tests/helpers/random_int.h +0 -39
- package/deps/simdutf/tests/helpers/random_utf16.cpp +0 -123
- package/deps/simdutf/tests/helpers/random_utf16.h +0 -52
- package/deps/simdutf/tests/helpers/random_utf32.cpp +0 -41
- package/deps/simdutf/tests/helpers/random_utf32.h +0 -40
- package/deps/simdutf/tests/helpers/random_utf8.cpp +0 -93
- package/deps/simdutf/tests/helpers/random_utf8.h +0 -36
- package/deps/simdutf/tests/helpers/test.cpp +0 -231
- package/deps/simdutf/tests/helpers/test.h +0 -193
- package/deps/simdutf/tests/helpers/transcode_test_base.cpp +0 -1257
- package/deps/simdutf/tests/helpers/transcode_test_base.h +0 -683
- package/deps/simdutf/tests/helpers/utf16.h +0 -27
- package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +0 -43
- package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +0 -47
- package/deps/simdutf/tests/internal_tests.cpp +0 -27
- package/deps/simdutf/tests/null_safety_tests.cpp +0 -94
- package/deps/simdutf/tests/random_fuzzer.cpp +0 -779
- package/deps/simdutf/tests/readme_tests.cpp +0 -274
- package/deps/simdutf/tests/reference/CMakeLists.txt +0 -23
- package/deps/simdutf/tests/reference/decode_utf16.h +0 -81
- package/deps/simdutf/tests/reference/decode_utf32.h +0 -47
- package/deps/simdutf/tests/reference/encode_latin1.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_latin1.h +0 -32
- package/deps/simdutf/tests/reference/encode_utf16.cpp +0 -49
- package/deps/simdutf/tests/reference/encode_utf16.h +0 -20
- package/deps/simdutf/tests/reference/encode_utf32.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_utf32.h +0 -36
- package/deps/simdutf/tests/reference/encode_utf8.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_utf8.h +0 -40
- package/deps/simdutf/tests/reference/validate_utf16.cpp +0 -60
- package/deps/simdutf/tests/reference/validate_utf16.h +0 -14
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +0 -35
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +0 -13
- package/deps/simdutf/tests/reference/validate_utf32.cpp +0 -27
- package/deps/simdutf/tests/reference/validate_utf32.h +0 -12
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +0 -27
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +0 -12
- package/deps/simdutf/tests/reference/validate_utf8.cpp +0 -82
- package/deps/simdutf/tests/reference/validate_utf8.h +0 -11
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +0 -43
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +0 -12
- package/deps/simdutf/tests/select_implementation.cpp +0 -43
- package/deps/simdutf/tests/simdutf_c_tests.cpp +0 -244
- package/deps/simdutf/tests/span_tests.cpp +0 -401
- package/deps/simdutf/tests/special_tests.cpp +0 -559
- package/deps/simdutf/tests/straight_c_test.c +0 -187
- package/deps/simdutf/tests/text_encoding_tests.cpp +0 -77
- package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +0 -377
- package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +0 -202
- package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +0 -165
- package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +0 -77
- package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +0 -175
- package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +0 -188
- package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +0 -268
- package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +0 -274
- package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +0 -92
- package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +0 -114
- package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +0 -178
- package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +0 -88
- package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +0 -33
- package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +0 -228
- package/deps/simdutf/tools/CMakeLists.txt +0 -85
- package/deps/simdutf/tools/fastbase64.cpp +0 -250
- package/deps/simdutf/tools/sutf.cpp +0 -556
- package/deps/simdutf/tools/sutf.h +0 -40
- package/lib/tsconfig.tsbuildinfo +0 -1
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Special tests. Specific cases.
|
|
3
|
-
*/
|
|
4
|
-
#include "simdutf.h"
|
|
5
|
-
#include <memory>
|
|
6
|
-
#include <iostream>
|
|
7
|
-
#include <vector>
|
|
8
|
-
|
|
9
|
-
#include <tests/helpers/fixed_string.h>
|
|
10
|
-
#include <tests/helpers/test.h>
|
|
11
|
-
|
|
12
|
-
TEST(base64_fun) {
|
|
13
|
-
std::cout << "==== base64_fun ====\n" << std::endl;
|
|
14
|
-
std::vector<std::string> sources = {
|
|
15
|
-
" A A ", " A A G A / v 8 ",
|
|
16
|
-
" A A G A / v 8 = ", " A A G A / v 8 = = "};
|
|
17
|
-
std::vector<std::vector<uint8_t>> expected = {{0},
|
|
18
|
-
{0, 0x1, 0x80, 0xfe, 0xff},
|
|
19
|
-
{0, 0x1, 0x80, 0xfe, 0xff},
|
|
20
|
-
{}}; // last one is in error
|
|
21
|
-
for (size_t i = 0; i < sources.size(); i++) {
|
|
22
|
-
const std::string &source = sources[i];
|
|
23
|
-
std::cout << "source: '" << source << "'" << std::endl;
|
|
24
|
-
// allocate enough memory for the maximal binary length
|
|
25
|
-
std::vector<uint8_t> buffer(simdutf::maximal_binary_length_from_base64(
|
|
26
|
-
source.data(), source.size()));
|
|
27
|
-
// convert to binary and check for errors
|
|
28
|
-
simdutf::result r = simdutf::base64_to_binary(source.data(), source.size(),
|
|
29
|
-
(char *)buffer.data());
|
|
30
|
-
if (r.error != simdutf::error_code::SUCCESS) {
|
|
31
|
-
ASSERT_TRUE(expected[i].empty());
|
|
32
|
-
std::cout << "output: error" << std::endl;
|
|
33
|
-
} else {
|
|
34
|
-
buffer.resize(
|
|
35
|
-
r.count); // in case of success, r.count contains the output length
|
|
36
|
-
ASSERT_TRUE(buffer == expected[i]);
|
|
37
|
-
std::cout << "output: " << r.count << " bytes" << std::endl;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
TEST(base64_fun_safe) {
|
|
43
|
-
std::cout << "==== base64_fun ====\n" << std::endl;
|
|
44
|
-
std::vector<std::string> sources = {
|
|
45
|
-
" A A ", " A A G A / v 8 ",
|
|
46
|
-
" A A G A / v 8 = ", " A A G A / v 8 = = "};
|
|
47
|
-
std::vector<std::vector<uint8_t>> expected = {{0},
|
|
48
|
-
{0, 0x1, 0x80, 0xfe, 0xff},
|
|
49
|
-
{0, 0x1, 0x80, 0xfe, 0xff},
|
|
50
|
-
{}}; // last one is in error
|
|
51
|
-
for (size_t i = 0; i < sources.size(); i++) {
|
|
52
|
-
const std::string &source = sources[i];
|
|
53
|
-
std::cout << "source: '" << source << "'" << std::endl;
|
|
54
|
-
// allocate enough memory for the maximal binary length
|
|
55
|
-
std::vector<uint8_t> buffer(simdutf::maximal_binary_length_from_base64(
|
|
56
|
-
source.data(), source.size()));
|
|
57
|
-
// convert to binary and check for errors
|
|
58
|
-
size_t output_length = buffer.size();
|
|
59
|
-
simdutf::result r = simdutf::base64_to_binary_safe(
|
|
60
|
-
source.data(), source.size(), (char *)buffer.data(), output_length);
|
|
61
|
-
if (r.error != simdutf::error_code::SUCCESS) {
|
|
62
|
-
ASSERT_TRUE(expected[i].empty());
|
|
63
|
-
std::cout << "output: error" << std::endl;
|
|
64
|
-
} else {
|
|
65
|
-
buffer.resize(output_length); // in case of success, output_length
|
|
66
|
-
// contains the output length
|
|
67
|
-
ASSERT_TRUE(buffer == expected[i]);
|
|
68
|
-
std::cout << "output: " << output_length << " bytes" << std::endl;
|
|
69
|
-
std::cout << "input (consumed): " << r.count << " bytes" << std::endl;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// this is a compile test
|
|
75
|
-
void check_simdutf_result() { simdutf::result r; }
|
|
76
|
-
|
|
77
|
-
// this is a compile test
|
|
78
|
-
int main_demo() {
|
|
79
|
-
const char *source = "1234";
|
|
80
|
-
// 4 == strlen(source)
|
|
81
|
-
bool validutf8 = simdutf::validate_utf8(source, 4);
|
|
82
|
-
if (validutf8) {
|
|
83
|
-
puts("valid UTF-8");
|
|
84
|
-
} else {
|
|
85
|
-
puts("invalid UTF-8");
|
|
86
|
-
return EXIT_FAILURE;
|
|
87
|
-
}
|
|
88
|
-
// We need a buffer where to write the UTF-16LE code units.
|
|
89
|
-
size_t expected_utf16words = simdutf::utf16_length_from_utf8(source, 4);
|
|
90
|
-
std::unique_ptr<char16_t[]> utf16_output{new char16_t[expected_utf16words]};
|
|
91
|
-
// convert to UTF-16LE
|
|
92
|
-
size_t utf16words =
|
|
93
|
-
simdutf::convert_utf8_to_utf16le(source, 4, utf16_output.get());
|
|
94
|
-
printf("wrote %zu UTF-16LE code units.", utf16words);
|
|
95
|
-
// It wrote utf16words * sizeof(char16_t) bytes.
|
|
96
|
-
bool validutf16 = simdutf::validate_utf16le(utf16_output.get(), utf16words);
|
|
97
|
-
if (validutf16) {
|
|
98
|
-
puts("valid UTF-16LE");
|
|
99
|
-
} else {
|
|
100
|
-
puts("invalid UTF-16LE");
|
|
101
|
-
return EXIT_FAILURE;
|
|
102
|
-
}
|
|
103
|
-
// convert it back:
|
|
104
|
-
// We need a buffer where to write the UTF-8 code units.
|
|
105
|
-
size_t expected_utf8words =
|
|
106
|
-
simdutf::utf8_length_from_utf16le(utf16_output.get(), utf16words);
|
|
107
|
-
std::unique_ptr<char[]> utf8_output{new char[expected_utf8words]};
|
|
108
|
-
// convert to UTF-8
|
|
109
|
-
size_t utf8words = simdutf::convert_utf16le_to_utf8(
|
|
110
|
-
utf16_output.get(), utf16words, utf8_output.get());
|
|
111
|
-
printf("wrote %zu UTF-8 code units.", utf8words);
|
|
112
|
-
std::string final_string(utf8_output.get(), utf8words);
|
|
113
|
-
puts(final_string.c_str());
|
|
114
|
-
if (final_string != source) {
|
|
115
|
-
puts("bad conversion");
|
|
116
|
-
return EXIT_FAILURE;
|
|
117
|
-
} else {
|
|
118
|
-
puts("perfect round trip");
|
|
119
|
-
}
|
|
120
|
-
return EXIT_SUCCESS;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
TEST(utf8_streaming) {
|
|
124
|
-
const char unicode[] = "\xc3\xa9\x63ole d'\xc3\xa9t\xc3\xa9";
|
|
125
|
-
// suppose you want to decode only the start of this string.
|
|
126
|
-
size_t length = 10;
|
|
127
|
-
// Picking 10 bytes is problematic because we might end up in the middle of a
|
|
128
|
-
// code point. But we can rewind to the previous code point.
|
|
129
|
-
length = simdutf::trim_partial_utf8(unicode, length);
|
|
130
|
-
// Now we can transcode safely
|
|
131
|
-
size_t budget_utf16 = simdutf::utf16_length_from_utf8(unicode, length);
|
|
132
|
-
std::unique_ptr<char16_t[]> utf16{new char16_t[budget_utf16]};
|
|
133
|
-
size_t utf16words =
|
|
134
|
-
simdutf::convert_utf8_to_utf16le(unicode, length, utf16.get());
|
|
135
|
-
// We can then transcode the next batch
|
|
136
|
-
const char *next = unicode + length;
|
|
137
|
-
size_t next_length = sizeof(unicode) - length;
|
|
138
|
-
size_t next_budget_utf16 = simdutf::utf16_length_from_utf8(next, next_length);
|
|
139
|
-
std::unique_ptr<char16_t[]> next_utf16{new char16_t[next_budget_utf16]};
|
|
140
|
-
size_t next_utf16words =
|
|
141
|
-
simdutf::convert_utf8_to_utf16le(next, next_length, next_utf16.get());
|
|
142
|
-
ASSERT_EQUAL(next_utf16words, next_budget_utf16);
|
|
143
|
-
ASSERT_EQUAL(utf16words, budget_utf16);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
TEST(issue829) {
|
|
147
|
-
alignas(char16_t) const char unicode_char[] = "\x3c\xd8";
|
|
148
|
-
const char16_t *unicode = reinterpret_cast<const char16_t *>(unicode_char);
|
|
149
|
-
size_t length = 1;
|
|
150
|
-
length = simdutf::trim_partial_utf16le(unicode, length);
|
|
151
|
-
ASSERT_EQUAL(length, 0);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
TEST(utf16_streaming) {
|
|
155
|
-
// We have three sequences of surrogate pairs (UTF-16).
|
|
156
|
-
alignas(char16_t) const char unicode_char[] =
|
|
157
|
-
"\x3c\xd8\x10\xdf\x3c\xd8\x10\xdf\x3c\xd8\x10\xdf";
|
|
158
|
-
const char16_t *unicode = reinterpret_cast<const char16_t *>(unicode_char);
|
|
159
|
-
// suppose you want to decode only the start of this string.
|
|
160
|
-
size_t length = 3;
|
|
161
|
-
// Picking 3 units is problematic because we might end up in the middle of a
|
|
162
|
-
// surrogate pair. But we can rewind to the previous code point.
|
|
163
|
-
length = simdutf::trim_partial_utf16le(unicode, length);
|
|
164
|
-
// Now we can transcode safely
|
|
165
|
-
size_t budget_utf8 = simdutf::utf8_length_from_utf16le(unicode, length);
|
|
166
|
-
std::unique_ptr<char[]> utf8{new char[budget_utf8]};
|
|
167
|
-
size_t utf8words =
|
|
168
|
-
simdutf::convert_utf16le_to_utf8(unicode, length, utf8.get());
|
|
169
|
-
// We can then transcode the next batch
|
|
170
|
-
const char16_t *next = unicode + length;
|
|
171
|
-
size_t next_length = 6 - length;
|
|
172
|
-
size_t next_budget_utf8 =
|
|
173
|
-
simdutf::utf8_length_from_utf16le(next, next_length);
|
|
174
|
-
std::unique_ptr<char[]> next_utf8{new char[next_budget_utf8]};
|
|
175
|
-
size_t next_utf8words =
|
|
176
|
-
simdutf::convert_utf16le_to_utf8(next, next_length, next_utf8.get());
|
|
177
|
-
ASSERT_EQUAL(next_utf8words, next_budget_utf8);
|
|
178
|
-
ASSERT_EQUAL(utf8words, budget_utf8);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
TEST(error_location_badascii) {
|
|
182
|
-
// this ASCII string has a bad byte at index 5
|
|
183
|
-
std::string bad_ascii = "\x20\x20\x20\x20\x20\xff\x20\x20\x20";
|
|
184
|
-
simdutf::result res = implementation.validate_ascii_with_errors(
|
|
185
|
-
bad_ascii.data(), bad_ascii.size());
|
|
186
|
-
if (res.error != simdutf::error_code::SUCCESS) {
|
|
187
|
-
printf("error at index %zu\n", res.count);
|
|
188
|
-
}
|
|
189
|
-
ASSERT_EQUAL(res.error, simdutf::error_code::TOO_LARGE);
|
|
190
|
-
ASSERT_EQUAL(res.count, 5);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
TEST(error_location_badutf8) {
|
|
194
|
-
// this UTF-8 string has a bad byte at index 5
|
|
195
|
-
std::string bad_utf8 = "\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9";
|
|
196
|
-
simdutf::result res = implementation.validate_utf8_with_errors(
|
|
197
|
-
bad_utf8.data(), bad_utf8.size());
|
|
198
|
-
if (res.error != simdutf::error_code::SUCCESS) {
|
|
199
|
-
printf("error at index %zu\n", res.count);
|
|
200
|
-
}
|
|
201
|
-
ASSERT_EQUAL(res.error, simdutf::error_code::HEADER_BITS);
|
|
202
|
-
ASSERT_EQUAL(res.count, 5);
|
|
203
|
-
res = implementation.validate_utf8_with_errors(bad_utf8.data(), res.count);
|
|
204
|
-
if (res.error == simdutf::error_code::SUCCESS) {
|
|
205
|
-
printf("we have transcoded %zu valid bytes", res.count);
|
|
206
|
-
}
|
|
207
|
-
ASSERT_EQUAL(res.error, simdutf::error_code::SUCCESS);
|
|
208
|
-
ASSERT_EQUAL(res.count, 5);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
TEST(error_location_badutf8_transcoding) {
|
|
212
|
-
// this UTF-8 string has a bad byte at index 5
|
|
213
|
-
std::string bad_utf8 = "\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9";
|
|
214
|
-
size_t budget_utf16 =
|
|
215
|
-
simdutf::utf16_length_from_utf8(bad_utf8.data(), bad_utf8.size());
|
|
216
|
-
std::unique_ptr<char16_t[]> utf16{new char16_t[budget_utf16]};
|
|
217
|
-
|
|
218
|
-
simdutf::result res = simdutf::convert_utf8_to_utf16_with_errors(
|
|
219
|
-
bad_utf8.data(), bad_utf8.size(), utf16.get());
|
|
220
|
-
|
|
221
|
-
if (res.error != simdutf::error_code::SUCCESS) {
|
|
222
|
-
printf("error at index %zu\n", res.count);
|
|
223
|
-
}
|
|
224
|
-
ASSERT_EQUAL(res.error, simdutf::error_code::HEADER_BITS);
|
|
225
|
-
ASSERT_EQUAL(res.count, 5);
|
|
226
|
-
res = simdutf::convert_utf8_to_utf16_with_errors(bad_utf8.data(), res.count,
|
|
227
|
-
utf16.get());
|
|
228
|
-
if (res.error == simdutf::error_code::SUCCESS) {
|
|
229
|
-
printf("we have transcoded %zu characters", res.count);
|
|
230
|
-
}
|
|
231
|
-
ASSERT_EQUAL(res.error, simdutf::error_code::SUCCESS);
|
|
232
|
-
ASSERT_EQUAL(res.count, 3);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
#if SIMDUTF_CPLUSPLUS23
|
|
236
|
-
|
|
237
|
-
TEST(compile_time_trim_partial_utf8) {
|
|
238
|
-
using namespace simdutf::tests::helpers;
|
|
239
|
-
|
|
240
|
-
constexpr auto str = u8"\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9"_utf8;
|
|
241
|
-
constexpr auto compile_time = simdutf::trim_partial_utf8(str);
|
|
242
|
-
const auto runtime = simdutf::trim_partial_utf8(str);
|
|
243
|
-
ASSERT_EQUAL(compile_time, runtime);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
TEST(compile_time_trim_partial_utf16) {
|
|
247
|
-
using namespace simdutf::tests::helpers;
|
|
248
|
-
|
|
249
|
-
constexpr auto str = u"\xd800"_utf16;
|
|
250
|
-
constexpr auto compile_time = simdutf::trim_partial_utf16(str);
|
|
251
|
-
const auto runtime = simdutf::trim_partial_utf16(str);
|
|
252
|
-
ASSERT_EQUAL(compile_time, runtime);
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
TEST(compile_time_trim_partial_utf16le) {
|
|
256
|
-
using namespace simdutf::tests::helpers;
|
|
257
|
-
|
|
258
|
-
constexpr auto str = u"\xd800"_utf16le;
|
|
259
|
-
constexpr auto compile_time = simdutf::trim_partial_utf16le(str);
|
|
260
|
-
const auto runtime = simdutf::trim_partial_utf16le(str);
|
|
261
|
-
ASSERT_EQUAL(compile_time, runtime);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
TEST(compile_time_trim_partial_utf16be) {
|
|
265
|
-
using namespace simdutf::tests::helpers;
|
|
266
|
-
|
|
267
|
-
constexpr auto str = u"\xd800"_utf16be;
|
|
268
|
-
constexpr auto compile_time = simdutf::trim_partial_utf16be(str);
|
|
269
|
-
const auto runtime = simdutf::trim_partial_utf16be(str);
|
|
270
|
-
ASSERT_EQUAL(compile_time, runtime);
|
|
271
|
-
}
|
|
272
|
-
#endif
|
|
273
|
-
|
|
274
|
-
TEST_MAIN
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
add_library(simdutf_tests_reference STATIC
|
|
2
|
-
encode_utf8.h
|
|
3
|
-
encode_utf8.cpp
|
|
4
|
-
encode_utf16.h
|
|
5
|
-
encode_utf16.cpp
|
|
6
|
-
encode_utf32.h
|
|
7
|
-
encode_utf32.cpp
|
|
8
|
-
encode_latin1.h
|
|
9
|
-
encode_latin1.cpp
|
|
10
|
-
validate_utf8_to_latin1.h
|
|
11
|
-
validate_utf8_to_latin1.cpp
|
|
12
|
-
validate_utf16_to_latin1.h
|
|
13
|
-
validate_utf16_to_latin1.cpp
|
|
14
|
-
validate_utf32_to_latin1.h
|
|
15
|
-
validate_utf32_to_latin1.cpp
|
|
16
|
-
validate_utf8.h
|
|
17
|
-
validate_utf8.cpp
|
|
18
|
-
validate_utf16.h
|
|
19
|
-
validate_utf16.cpp
|
|
20
|
-
validate_utf32.h
|
|
21
|
-
validate_utf32.cpp)
|
|
22
|
-
add_library(simdutf::tests::reference ALIAS simdutf_tests_reference)
|
|
23
|
-
target_link_libraries(simdutf_tests_reference PRIVATE simdutf)
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdio>
|
|
4
|
-
#include "simdutf/encoding_types.h"
|
|
5
|
-
|
|
6
|
-
namespace simdutf {
|
|
7
|
-
namespace tests {
|
|
8
|
-
namespace reference {
|
|
9
|
-
namespace utf16 {
|
|
10
|
-
|
|
11
|
-
enum class Error {
|
|
12
|
-
high_surrogate_out_of_range,
|
|
13
|
-
low_surrogate_out_of_range,
|
|
14
|
-
missing_low_surrogate
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
template <typename CONSUMER, typename ERROR_HANDLER>
|
|
18
|
-
bool decode(endianness utf16_endianness, const char16_t *codepoints,
|
|
19
|
-
size_t size, CONSUMER consumer, ERROR_HANDLER error_handler) {
|
|
20
|
-
const char16_t *curr = codepoints;
|
|
21
|
-
const char16_t *end = codepoints + size;
|
|
22
|
-
|
|
23
|
-
// RFC2781, chapter 2.2
|
|
24
|
-
while (curr != end) {
|
|
25
|
-
uint16_t W1;
|
|
26
|
-
if (!match_system(utf16_endianness)) {
|
|
27
|
-
W1 = char16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
|
|
28
|
-
} else {
|
|
29
|
-
W1 = *curr;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
curr += 1;
|
|
33
|
-
|
|
34
|
-
if (W1 < 0xd800 ||
|
|
35
|
-
W1 > 0xdfff) { // fast path, code point is equal to character's value
|
|
36
|
-
consumer(W1);
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (W1 > 0xdbff) { // W1 must be in range 0xd800 .. 0xdbff
|
|
41
|
-
if (!error_handler(codepoints, curr, Error::high_surrogate_out_of_range))
|
|
42
|
-
return false;
|
|
43
|
-
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (curr ==
|
|
48
|
-
end) { // required the next word, but we're already at the end of data
|
|
49
|
-
if (!error_handler(codepoints, curr, Error::missing_low_surrogate))
|
|
50
|
-
return false;
|
|
51
|
-
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
uint16_t W2;
|
|
56
|
-
if (!match_system(utf16_endianness)) {
|
|
57
|
-
W2 = char16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
|
|
58
|
-
} else {
|
|
59
|
-
W2 = *curr;
|
|
60
|
-
}
|
|
61
|
-
if (W2 < 0xdc00 || W2 > 0xdfff) { // W2 = 0xdc00 .. 0xdfff
|
|
62
|
-
if (!error_handler(codepoints, curr, Error::low_surrogate_out_of_range))
|
|
63
|
-
return false;
|
|
64
|
-
} else {
|
|
65
|
-
const uint32_t hi = W1 & 0x3ff; // take lower 10 bits of W1 and W2
|
|
66
|
-
const uint32_t lo = W2 & 0x3ff;
|
|
67
|
-
const uint32_t tmp = lo | (hi << 10); // build a 20-bit temporary value U'
|
|
68
|
-
|
|
69
|
-
consumer(tmp + 0x10000);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
curr += 1;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
} // namespace utf16
|
|
79
|
-
} // namespace reference
|
|
80
|
-
} // namespace tests
|
|
81
|
-
} // namespace simdutf
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdio>
|
|
4
|
-
|
|
5
|
-
namespace simdutf {
|
|
6
|
-
namespace tests {
|
|
7
|
-
namespace reference {
|
|
8
|
-
namespace utf32 {
|
|
9
|
-
|
|
10
|
-
enum class Error { too_large, forbidden_range };
|
|
11
|
-
|
|
12
|
-
template <typename CONSUMER, typename ERROR_HANDLER>
|
|
13
|
-
bool decode(const char32_t *codepoints, size_t size, CONSUMER consumer,
|
|
14
|
-
ERROR_HANDLER error_handler) {
|
|
15
|
-
const char32_t *curr = codepoints;
|
|
16
|
-
const char32_t *end = codepoints + size;
|
|
17
|
-
|
|
18
|
-
while (curr != end) {
|
|
19
|
-
const uint32_t word = *curr;
|
|
20
|
-
|
|
21
|
-
if (word > 0x10FFFF) {
|
|
22
|
-
if (!error_handler(codepoints, curr, Error::too_large))
|
|
23
|
-
return false;
|
|
24
|
-
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (word >= 0xD800 && word <= 0xDFFF) { // required the next word, but we're
|
|
29
|
-
// already at the end of data
|
|
30
|
-
if (!error_handler(codepoints, curr, Error::forbidden_range))
|
|
31
|
-
return false;
|
|
32
|
-
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
consumer(word);
|
|
37
|
-
|
|
38
|
-
curr++;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
} // namespace utf32
|
|
45
|
-
} // namespace reference
|
|
46
|
-
} // namespace tests
|
|
47
|
-
} // namespace simdutf
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#include "encode_latin1.h"
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdint>
|
|
4
|
-
|
|
5
|
-
namespace simdutf {
|
|
6
|
-
namespace tests {
|
|
7
|
-
namespace reference {
|
|
8
|
-
namespace latin1 {
|
|
9
|
-
|
|
10
|
-
// returns whether the value can be represented in the latin1
|
|
11
|
-
bool valid_value(uint32_t value) {
|
|
12
|
-
if (value > 0xFF) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
return true; // Each possible combination in a bit represent a latin1 value
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// Encodes the value in UTF-32
|
|
19
|
-
// Returns 1 if the value can be encoded
|
|
20
|
-
// Returns 0 if the value cannot be encoded
|
|
21
|
-
template <typename CONSUMER> int encode(uint8_t value, CONSUMER consumer) {
|
|
22
|
-
if (!valid_value(value)) {
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
consumer(value);
|
|
26
|
-
return 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
} // namespace latin1
|
|
30
|
-
} // namespace reference
|
|
31
|
-
} // namespace tests
|
|
32
|
-
} // namespace simdutf
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#include "encode_utf16.h"
|
|
2
|
-
|
|
3
|
-
namespace simdutf {
|
|
4
|
-
namespace tests {
|
|
5
|
-
namespace reference {
|
|
6
|
-
namespace utf16 {
|
|
7
|
-
|
|
8
|
-
// returns whether the value can be represented in the UTF-16
|
|
9
|
-
bool valid_value(uint32_t value) {
|
|
10
|
-
/*
|
|
11
|
-
RFC-2781 (2. UTF-16 definition):
|
|
12
|
-
|
|
13
|
-
Characters with values greater than 0x10FFFF cannot be encoded in UTF-16.
|
|
14
|
-
*/
|
|
15
|
-
if (value > 0x10FFFF)
|
|
16
|
-
return false;
|
|
17
|
-
|
|
18
|
-
/*
|
|
19
|
-
RFC-2781 (2. UTF-16 definition):
|
|
20
|
-
|
|
21
|
-
Note: Values between 0xD800 and 0xDFFF are specifically reserved for
|
|
22
|
-
use with UTF-16, and don't have any characters assigned to them.
|
|
23
|
-
*/
|
|
24
|
-
if ((value >= 0xD800) && (value <= 0xDFFF))
|
|
25
|
-
return false;
|
|
26
|
-
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Encodes the value using either one or two code units (returns 1 or 2
|
|
31
|
-
// respectively) Returns 0 if the value cannot be encoded
|
|
32
|
-
int encode(uint32_t value, char16_t &W1, char16_t &W2) {
|
|
33
|
-
if (!valid_value(value))
|
|
34
|
-
return 0;
|
|
35
|
-
|
|
36
|
-
if (value <= 0xffff) {
|
|
37
|
-
W1 = char16_t(value);
|
|
38
|
-
return 1;
|
|
39
|
-
} else {
|
|
40
|
-
value -= 0x10000;
|
|
41
|
-
W1 = char16_t(0xd800 | ((value >> 10) & 0x03ff));
|
|
42
|
-
W2 = char16_t(0xdc00 | (value & 0x03ff));
|
|
43
|
-
return 2;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
} // namespace utf16
|
|
47
|
-
} // namespace reference
|
|
48
|
-
} // namespace tests
|
|
49
|
-
} // namespace simdutf
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdint>
|
|
4
|
-
|
|
5
|
-
namespace simdutf {
|
|
6
|
-
namespace tests {
|
|
7
|
-
namespace reference {
|
|
8
|
-
namespace utf16 {
|
|
9
|
-
|
|
10
|
-
// returns whether the value can be represented in the UTF-16
|
|
11
|
-
bool valid_value(uint32_t value);
|
|
12
|
-
|
|
13
|
-
// Encodes the value using either one or two code units (returns 1 or 2
|
|
14
|
-
// respectively) Returns 0 if the value cannot be encoded
|
|
15
|
-
int encode(uint32_t value, char16_t &W1, char16_t &W2);
|
|
16
|
-
|
|
17
|
-
} // namespace utf16
|
|
18
|
-
} // namespace reference
|
|
19
|
-
} // namespace tests
|
|
20
|
-
} // namespace simdutf
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#include "encode_utf32.h"
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdint>
|
|
4
|
-
|
|
5
|
-
namespace simdutf {
|
|
6
|
-
namespace tests {
|
|
7
|
-
namespace reference {
|
|
8
|
-
namespace utf32 {
|
|
9
|
-
|
|
10
|
-
// returns whether the value can be represented in the UTF-32
|
|
11
|
-
bool valid_value(uint32_t value) {
|
|
12
|
-
|
|
13
|
-
if (value > 0x10FFFF)
|
|
14
|
-
return false;
|
|
15
|
-
|
|
16
|
-
if ((value >= 0xD800) && (value <= 0xDFFF))
|
|
17
|
-
return false;
|
|
18
|
-
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Encodes the value in UTF-32
|
|
23
|
-
// Returns 1 if the value can be encoded
|
|
24
|
-
// Returns 0 if the value cannot be encoded
|
|
25
|
-
template <typename CONSUMER> int encode(uint32_t value, CONSUMER consumer) {
|
|
26
|
-
if (!valid_value(value))
|
|
27
|
-
return 0;
|
|
28
|
-
|
|
29
|
-
consumer(value);
|
|
30
|
-
return 1;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
} // namespace utf32
|
|
34
|
-
} // namespace reference
|
|
35
|
-
} // namespace tests
|
|
36
|
-
} // namespace simdutf
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#include "encode_utf8.h"
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <cstdint>
|
|
4
|
-
|
|
5
|
-
namespace simdutf {
|
|
6
|
-
namespace tests {
|
|
7
|
-
namespace reference {
|
|
8
|
-
namespace utf8 {
|
|
9
|
-
|
|
10
|
-
template <typename CONSUMER> int encode(uint32_t value, CONSUMER consumer) {
|
|
11
|
-
if (value < 0x00000080) {
|
|
12
|
-
consumer(uint8_t(value));
|
|
13
|
-
return 1;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
if (value < 0x00000800) {
|
|
17
|
-
consumer(0xc0 | (value >> 6));
|
|
18
|
-
consumer(0x80 | (value & 0x3f));
|
|
19
|
-
return 2;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (value < 0x00010000) {
|
|
23
|
-
consumer(0xe0 | (value >> 12));
|
|
24
|
-
consumer(0x80 | ((value >> 6) & 0x3f));
|
|
25
|
-
consumer(0x80 | (value & 0x3f));
|
|
26
|
-
return 3;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
{
|
|
30
|
-
consumer(0xf0 | (value >> 18));
|
|
31
|
-
consumer(0x80 | ((value >> 12) & 0x3f));
|
|
32
|
-
consumer(0x80 | ((value >> 6) & 0x3f));
|
|
33
|
-
consumer(0x80 | (value & 0x3f));
|
|
34
|
-
return 4;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
} // namespace utf8
|
|
38
|
-
} // namespace reference
|
|
39
|
-
} // namespace tests
|
|
40
|
-
} // namespace simdutf
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
#include "validate_utf16.h"
|
|
2
|
-
|
|
3
|
-
#ifndef SIMDUTF_IS_BIG_ENDIAN
|
|
4
|
-
#error "SIMDUTF_IS_BIG_ENDIAN should be defined."
|
|
5
|
-
#endif
|
|
6
|
-
|
|
7
|
-
namespace simdutf {
|
|
8
|
-
namespace tests {
|
|
9
|
-
namespace reference {
|
|
10
|
-
|
|
11
|
-
simdutf_warn_unused bool validate_utf16(endianness utf16_endianness,
|
|
12
|
-
const char16_t *buf,
|
|
13
|
-
size_t len) noexcept {
|
|
14
|
-
const char16_t *curr = buf;
|
|
15
|
-
const char16_t *end = buf + len;
|
|
16
|
-
|
|
17
|
-
while (curr != end) {
|
|
18
|
-
uint16_t W1;
|
|
19
|
-
if (!match_system(utf16_endianness)) {
|
|
20
|
-
W1 = uint16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
|
|
21
|
-
} else {
|
|
22
|
-
W1 = *curr;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
curr += 1;
|
|
26
|
-
|
|
27
|
-
// fast path, code point is equal to character's value
|
|
28
|
-
if (W1 < 0xd800 || W1 > 0xdfff) {
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// W1 must be in range 0xd800 .. 0xdbff
|
|
33
|
-
if (W1 > 0xdbff) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// required the next word, but we're already at the end of data
|
|
38
|
-
if (curr == end) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
uint16_t W2;
|
|
43
|
-
if (!match_system(utf16_endianness)) {
|
|
44
|
-
W2 = uint16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
|
|
45
|
-
} else {
|
|
46
|
-
W2 = *curr;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (W2 < 0xdc00 || W2 > 0xdfff) // W2 = 0xdc00 .. 0xdfff
|
|
50
|
-
return false;
|
|
51
|
-
|
|
52
|
-
curr += 1;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
} // namespace reference
|
|
59
|
-
} // namespace tests
|
|
60
|
-
} // namespace simdutf
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#include "simdutf/common_defs.h"
|
|
2
|
-
#include "simdutf/encoding_types.h"
|
|
3
|
-
|
|
4
|
-
namespace simdutf {
|
|
5
|
-
namespace tests {
|
|
6
|
-
namespace reference {
|
|
7
|
-
// validate UTF-16
|
|
8
|
-
simdutf_warn_unused bool validate_utf16(endianness utf16_endianness,
|
|
9
|
-
const char16_t *buf,
|
|
10
|
-
size_t len) noexcept;
|
|
11
|
-
|
|
12
|
-
} // namespace reference
|
|
13
|
-
} // namespace tests
|
|
14
|
-
} // namespace simdutf
|