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,153 +0,0 @@
|
|
|
1
|
-
#include "simdutf.h"
|
|
2
|
-
|
|
3
|
-
#include <array>
|
|
4
|
-
|
|
5
|
-
#include <tests/helpers/fixed_string.h>
|
|
6
|
-
#include <tests/helpers/test.h>
|
|
7
|
-
|
|
8
|
-
#if SIMDUTF_CPLUSPLUS23
|
|
9
|
-
|
|
10
|
-
TEST(construct_from_user_defined_literals) {
|
|
11
|
-
using namespace simdutf::tests::helpers;
|
|
12
|
-
|
|
13
|
-
constexpr auto utf32 = U"köttbulle"_utf32;
|
|
14
|
-
static_assert(utf32 == CTString(U"köttbulle"));
|
|
15
|
-
static_assert(utf32.size() == 9);
|
|
16
|
-
static_assert(utf32[0] == char32_t{'k'});
|
|
17
|
-
static_assert(std::is_same_v<decltype(utf32[0]), char32_t>);
|
|
18
|
-
|
|
19
|
-
constexpr auto utf16 = u"köttbulle"_utf16;
|
|
20
|
-
static_assert(utf16 == CTString(u"köttbulle"));
|
|
21
|
-
static_assert(utf16.size() == 9);
|
|
22
|
-
static_assert(utf16[0] == char16_t{'k'});
|
|
23
|
-
static_assert(std::is_same_v<decltype(utf16[0]), char16_t>);
|
|
24
|
-
|
|
25
|
-
static_assert(sizeof(utf32) == 2 * sizeof(utf16));
|
|
26
|
-
|
|
27
|
-
constexpr auto utf8 = u8"köttbulle"_utf8;
|
|
28
|
-
static_assert(utf8 == CTString(u8"köttbulle"));
|
|
29
|
-
static_assert(utf8.size() == 9 + 1);
|
|
30
|
-
static_assert(utf8[0] == char8_t{'k'});
|
|
31
|
-
static_assert(std::is_same_v<decltype(utf8[0]), char8_t>);
|
|
32
|
-
|
|
33
|
-
constexpr auto latin1 = "kottbulle"_latin1;
|
|
34
|
-
static_assert(latin1 == CTString("kottbulle"));
|
|
35
|
-
// intentionally fails at compile time due to not being latin1:
|
|
36
|
-
// constexpr auto latin1_fail = "köttbulle"_latin1;
|
|
37
|
-
static_assert(latin1.size() == 9);
|
|
38
|
-
static_assert(sizeof(latin1) == 9);
|
|
39
|
-
static_assert(latin1[0] == char8_t{'k'});
|
|
40
|
-
static_assert(std::is_same_v<decltype(latin1[0]), char>);
|
|
41
|
-
|
|
42
|
-
static_assert(sizeof(utf8) == sizeof(latin1) + 1);
|
|
43
|
-
static_assert(sizeof(utf32) == 4 * sizeof(latin1));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
namespace {
|
|
47
|
-
template <typename T>
|
|
48
|
-
concept test_construct_from_range = requires(const std::array<T, 3> &dummy) {
|
|
49
|
-
{
|
|
50
|
-
// this tries to ensure that the following compiles:
|
|
51
|
-
// constexpr simdutf::tests::helpers::CTString tmp{dummy};
|
|
52
|
-
|
|
53
|
-
std::integral_constant<
|
|
54
|
-
std::size_t, sizeof(simdutf::tests::helpers::CTString{dummy}) * 0>{}
|
|
55
|
-
} -> std::same_as<std::integral_constant<std::size_t, 0>>;
|
|
56
|
-
};
|
|
57
|
-
} // namespace
|
|
58
|
-
|
|
59
|
-
TEST(construct_from_range) {
|
|
60
|
-
using namespace simdutf::tests::helpers;
|
|
61
|
-
constexpr std::array<char32_t, 5> tmp{'h', 'e', 'l', 'l', 'o'};
|
|
62
|
-
constexpr CTString fromrange(tmp);
|
|
63
|
-
static_assert(fromrange[0] == 'h');
|
|
64
|
-
static_assert(fromrange[1] == 'e');
|
|
65
|
-
static_assert(fromrange[2] == 'l');
|
|
66
|
-
static_assert(fromrange[3] == 'l');
|
|
67
|
-
static_assert(fromrange[4] == 'o');
|
|
68
|
-
static_assert(std::is_same_v<decltype(fromrange[0]), char32_t>);
|
|
69
|
-
|
|
70
|
-
static_assert(test_construct_from_range<char>);
|
|
71
|
-
static_assert(test_construct_from_range<const char>);
|
|
72
|
-
|
|
73
|
-
static_assert(test_construct_from_range<char8_t>);
|
|
74
|
-
static_assert(test_construct_from_range<const char8_t>);
|
|
75
|
-
|
|
76
|
-
static_assert(test_construct_from_range<char16_t>);
|
|
77
|
-
static_assert(test_construct_from_range<const char16_t>);
|
|
78
|
-
|
|
79
|
-
static_assert(test_construct_from_range<char32_t>);
|
|
80
|
-
static_assert(test_construct_from_range<const char32_t>);
|
|
81
|
-
|
|
82
|
-
static_assert(not test_construct_from_range<int>);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// this also tests the concepts
|
|
86
|
-
TEST(construct_from_literals) {
|
|
87
|
-
using namespace simdutf::tests::helpers;
|
|
88
|
-
|
|
89
|
-
static_assert(CTString("abc").size() == 3);
|
|
90
|
-
|
|
91
|
-
static_assert(not any_ctstring<int>);
|
|
92
|
-
static_assert(not latin1_ctstring<int>);
|
|
93
|
-
static_assert(not any_ctstring<const int>);
|
|
94
|
-
static_assert(not latin1_ctstring<const int>);
|
|
95
|
-
|
|
96
|
-
constexpr CTString a("this is a latin1 string");
|
|
97
|
-
using A = std::remove_cvref_t<decltype(a)>;
|
|
98
|
-
static_assert(latin1_ctstring<A>);
|
|
99
|
-
static_assert(latin1_ctstring<const A>);
|
|
100
|
-
static_assert(latin1_ctstring<A &>);
|
|
101
|
-
static_assert(latin1_ctstring<A &&>);
|
|
102
|
-
static_assert(latin1_ctstring<const A &>);
|
|
103
|
-
static_assert(not utf8_ctstring<A>);
|
|
104
|
-
static_assert(not utf16_ctstring<A>);
|
|
105
|
-
static_assert(not utf32_ctstring<A>);
|
|
106
|
-
|
|
107
|
-
constexpr CTString b(u8"this is a utf-8 string");
|
|
108
|
-
static_assert(not latin1_ctstring<decltype(b)>);
|
|
109
|
-
static_assert(utf8_ctstring<decltype(b)>);
|
|
110
|
-
static_assert(not utf16_ctstring<decltype(b)>);
|
|
111
|
-
static_assert(not utf32_ctstring<decltype(b)>);
|
|
112
|
-
|
|
113
|
-
constexpr CTString c(u"this is a utf-16 string");
|
|
114
|
-
static_assert(not latin1_ctstring<decltype(c)>);
|
|
115
|
-
static_assert(not utf8_ctstring<decltype(c)>);
|
|
116
|
-
static_assert(utf16_ctstring<decltype(c)>);
|
|
117
|
-
static_assert(not utf32_ctstring<decltype(c)>);
|
|
118
|
-
|
|
119
|
-
constexpr CTString d(U"this is a utf-32 string");
|
|
120
|
-
static_assert(not latin1_ctstring<decltype(d)>);
|
|
121
|
-
static_assert(not utf8_ctstring<decltype(d)>);
|
|
122
|
-
static_assert(not utf16_ctstring<decltype(d)>);
|
|
123
|
-
static_assert(utf32_ctstring<decltype(d)>);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
TEST(test_endianness) {
|
|
127
|
-
using namespace simdutf::tests::helpers;
|
|
128
|
-
// make them equally long so we can compare the type (the length is encoded in
|
|
129
|
-
// the type)
|
|
130
|
-
constexpr auto native = u"NATIVE"_utf16;
|
|
131
|
-
constexpr auto little = u"BIGBIG"_utf16le;
|
|
132
|
-
constexpr auto bigbig = u"LITTLE"_utf16be;
|
|
133
|
-
using Native = decltype(native);
|
|
134
|
-
using Big = decltype(bigbig);
|
|
135
|
-
using Little = decltype(little);
|
|
136
|
-
static_assert(utf16_ctstring<Native>);
|
|
137
|
-
static_assert(utf16_ctstring<Big>);
|
|
138
|
-
static_assert(utf16_ctstring<Little>);
|
|
139
|
-
constexpr bool is_little = (std::endian::native == std::endian::little);
|
|
140
|
-
static_assert(utf16le_ctstring<Native> == is_little);
|
|
141
|
-
static_assert(utf16be_ctstring<Native> == !is_little);
|
|
142
|
-
|
|
143
|
-
static_assert(!std::is_same_v<Big, Little>);
|
|
144
|
-
static_assert(std::is_same_v<Big, Native> || std::is_same_v<Little, Native>);
|
|
145
|
-
|
|
146
|
-
static_assert(little[0] != bigbig[0]);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
#else
|
|
150
|
-
TEST(nothing_happens_when_not_in_cxx23_mode) {}
|
|
151
|
-
#endif
|
|
152
|
-
|
|
153
|
-
TEST_MAIN
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
add_library(simdutf_tests_helpers STATIC
|
|
2
|
-
compiletime_conversions.h
|
|
3
|
-
fixed_string.h
|
|
4
|
-
test.h
|
|
5
|
-
test.cpp
|
|
6
|
-
random_int.h
|
|
7
|
-
random_int.cpp
|
|
8
|
-
transcode_test_base.h
|
|
9
|
-
transcode_test_base.cpp
|
|
10
|
-
random_utf8.h
|
|
11
|
-
random_utf8.cpp
|
|
12
|
-
random_utf16.h
|
|
13
|
-
random_utf16.cpp
|
|
14
|
-
random_utf32.h
|
|
15
|
-
random_utf32.cpp)
|
|
16
|
-
|
|
17
|
-
if(SIMDUTF_FAST_TESTS)
|
|
18
|
-
target_compile_definitions(simdutf_tests_helpers PUBLIC SIMDUTF_TEST_LOOP_TRIALS=10)
|
|
19
|
-
else()
|
|
20
|
-
target_compile_definitions(simdutf_tests_helpers PUBLIC SIMDUTF_TEST_LOOP_TRIALS=1000)
|
|
21
|
-
endif()
|
|
22
|
-
target_include_directories(simdutf_tests_helpers PUBLIC ${SIMDUTF_TEST_INCLUDE_DIR})
|
|
23
|
-
target_link_libraries(simdutf_tests_helpers PUBLIC simdutf simdutf::tests::reference)
|
|
24
|
-
|
|
25
|
-
add_library(simdutf::tests::helpers ALIAS simdutf_tests_helpers)
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
#ifndef SIMDUTF_COMPILETIME_CONVERSIONS_H
|
|
2
|
-
#define SIMDUTF_COMPILETIME_CONVERSIONS_H
|
|
3
|
-
|
|
4
|
-
#include "simdutf/compiler_check.h"
|
|
5
|
-
|
|
6
|
-
#if SIMDUTF_CPLUSPLUS23
|
|
7
|
-
|
|
8
|
-
#include <simdutf.h>
|
|
9
|
-
|
|
10
|
-
#include <tests/helpers/fixed_string.h>
|
|
11
|
-
|
|
12
|
-
namespace simdutf {
|
|
13
|
-
namespace tests {
|
|
14
|
-
namespace helpers {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* creates a copy of input with the same endianness but with
|
|
18
|
-
* illformed data replaced.
|
|
19
|
-
*/
|
|
20
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
21
|
-
constexpr auto to_wellformed(const CTString<CharType, N, endianness> &input) {
|
|
22
|
-
CTString<CharType, N, endianness> output;
|
|
23
|
-
if constexpr (endianness == std::endian::little) {
|
|
24
|
-
simdutf::to_well_formed_utf16le(input, output);
|
|
25
|
-
} else {
|
|
26
|
-
simdutf::to_well_formed_utf16be(input, output);
|
|
27
|
-
}
|
|
28
|
-
return output;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/// converts valid input to latin1
|
|
32
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
33
|
-
constexpr auto to_latin1(const CTString<CharType, N, endianness> &input) {
|
|
34
|
-
CTString<char, N> tmp;
|
|
35
|
-
std::size_t ret;
|
|
36
|
-
if constexpr (std::is_same_v<CharType, char32_t>) {
|
|
37
|
-
ret = simdutf::convert_valid_utf32_to_latin1(input, tmp);
|
|
38
|
-
} else if constexpr (std::is_same_v<CharType, char16_t> &&
|
|
39
|
-
endianness == std::endian::little) {
|
|
40
|
-
ret = simdutf::convert_valid_utf16le_to_latin1(input, tmp);
|
|
41
|
-
} else if constexpr (std::is_same_v<CharType, char16_t> &&
|
|
42
|
-
endianness == std::endian::big) {
|
|
43
|
-
ret = simdutf::convert_valid_utf16be_to_latin1(input, tmp);
|
|
44
|
-
} else {
|
|
45
|
-
throw "unknown type";
|
|
46
|
-
}
|
|
47
|
-
if (!input.empty() && ret == 0) {
|
|
48
|
-
throw "failed conversion";
|
|
49
|
-
}
|
|
50
|
-
return tmp;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/// converts latin1 input to utf8
|
|
54
|
-
template <auto input>
|
|
55
|
-
requires latin1_ctstring<decltype(input)>
|
|
56
|
-
constexpr auto to_utf8() {
|
|
57
|
-
constexpr auto N = utf8_length_from_latin1(input);
|
|
58
|
-
CTString<char8_t, N> tmp;
|
|
59
|
-
auto ret = simdutf::convert_latin1_to_utf8(input, tmp);
|
|
60
|
-
if (!input.empty() && ret == 0) {
|
|
61
|
-
throw "failed conversion";
|
|
62
|
-
}
|
|
63
|
-
return tmp;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
namespace detail {
|
|
67
|
-
template <std::endian output_endianness, typename CharType, std::size_t N,
|
|
68
|
-
std::endian input_endianness>
|
|
69
|
-
constexpr auto
|
|
70
|
-
to_utf16_impl(const CTString<CharType, N, input_endianness> &input) {
|
|
71
|
-
|
|
72
|
-
if constexpr (std::is_same_v<CharType, char16_t>) {
|
|
73
|
-
if constexpr (output_endianness == input_endianness) {
|
|
74
|
-
// no-op
|
|
75
|
-
return input;
|
|
76
|
-
} else {
|
|
77
|
-
// byteswap
|
|
78
|
-
CTString<CharType, N, output_endianness> output;
|
|
79
|
-
simdutf::change_endianness_utf16(input, output);
|
|
80
|
-
return output;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
} // namespace detail
|
|
85
|
-
|
|
86
|
-
/// converts valid input to utf16
|
|
87
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
88
|
-
constexpr auto to_utf16(const CTString<CharType, N, endianness> &input) {
|
|
89
|
-
return detail::to_utf16_impl<std::endian::native>(input);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/// converts valid input to utf16le
|
|
93
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
94
|
-
constexpr auto to_utf16le(const CTString<CharType, N, endianness> &input) {
|
|
95
|
-
return detail::to_utf16_impl<std::endian::little>(input);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/// converts valid input to utf16be
|
|
99
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
100
|
-
constexpr auto to_utf16be(const CTString<CharType, N, endianness> &input) {
|
|
101
|
-
return detail::to_utf16_impl<std::endian::big>(input);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
template <std::endian target_endianness>
|
|
105
|
-
constexpr auto latin1_to_utf16(latin1_ctstring auto &&input) {
|
|
106
|
-
using I = decltype(input);
|
|
107
|
-
constexpr auto N = I{}.size();
|
|
108
|
-
CTString<char16_t, N, target_endianness> output;
|
|
109
|
-
std::size_t converted;
|
|
110
|
-
if constexpr (target_endianness == std::endian::little) {
|
|
111
|
-
converted = convert_latin1_to_utf16le(input, output);
|
|
112
|
-
} else {
|
|
113
|
-
converted = convert_latin1_to_utf16be(input, output);
|
|
114
|
-
}
|
|
115
|
-
if (converted != N) {
|
|
116
|
-
throw "oops";
|
|
117
|
-
}
|
|
118
|
-
return output;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
template <std::endian target_endianness, bool with_errors, auto input>
|
|
122
|
-
constexpr auto utf8_to_utf16() {
|
|
123
|
-
using namespace simdutf::tests::helpers;
|
|
124
|
-
constexpr auto Nout = simdutf::utf16_length_from_utf8(input);
|
|
125
|
-
CTString<char16_t, Nout, target_endianness> tmp{};
|
|
126
|
-
std::size_t N;
|
|
127
|
-
if constexpr (target_endianness == std::endian::little) {
|
|
128
|
-
if constexpr (with_errors) {
|
|
129
|
-
auto res = simdutf::convert_utf8_to_utf16le_with_errors(input, tmp);
|
|
130
|
-
if (res.is_err()) {
|
|
131
|
-
throw "fail";
|
|
132
|
-
}
|
|
133
|
-
N = res.count;
|
|
134
|
-
} else {
|
|
135
|
-
N = simdutf::convert_utf8_to_utf16le(input, tmp);
|
|
136
|
-
}
|
|
137
|
-
} else {
|
|
138
|
-
if constexpr (with_errors) {
|
|
139
|
-
auto res = simdutf::convert_utf8_to_utf16be_with_errors(input, tmp);
|
|
140
|
-
if (res.is_err()) {
|
|
141
|
-
throw "fail";
|
|
142
|
-
}
|
|
143
|
-
N = res.count;
|
|
144
|
-
} else {
|
|
145
|
-
N = simdutf::convert_utf8_to_utf16be(input, tmp);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (N != input.size()) {
|
|
149
|
-
throw "oops";
|
|
150
|
-
}
|
|
151
|
-
return tmp;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
template <std::endian target_endianness, auto input>
|
|
155
|
-
constexpr auto valid_utf8_to_utf16() {
|
|
156
|
-
using namespace simdutf::tests::helpers;
|
|
157
|
-
constexpr auto Nout = simdutf::utf16_length_from_utf8(input);
|
|
158
|
-
CTString<char16_t, Nout, target_endianness> tmp{};
|
|
159
|
-
std::size_t N;
|
|
160
|
-
if constexpr (target_endianness == std::endian::little) {
|
|
161
|
-
N = simdutf::convert_valid_utf8_to_utf16le(input, tmp);
|
|
162
|
-
} else {
|
|
163
|
-
N = simdutf::convert_valid_utf8_to_utf16be(input, tmp);
|
|
164
|
-
}
|
|
165
|
-
if (N != input.size()) {
|
|
166
|
-
throw "oops";
|
|
167
|
-
}
|
|
168
|
-
return tmp;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
namespace detail {
|
|
172
|
-
template <auto input> constexpr auto utf8_length_from_utf16_helper() {
|
|
173
|
-
if constexpr (decltype(input)::endianness == std::endian::little) {
|
|
174
|
-
return simdutf::utf8_length_from_utf16le(input);
|
|
175
|
-
} else {
|
|
176
|
-
return simdutf::utf8_length_from_utf16be(input);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
} // namespace detail
|
|
180
|
-
|
|
181
|
-
template <auto input, bool with_errors> constexpr auto valid_utf16_to_utf8() {
|
|
182
|
-
using namespace simdutf::tests::helpers;
|
|
183
|
-
constexpr auto Nout = detail::utf8_length_from_utf16_helper<input>();
|
|
184
|
-
CTString<char8_t, Nout> tmp{};
|
|
185
|
-
std::size_t N;
|
|
186
|
-
if constexpr (decltype(input)::endianness == std::endian::little) {
|
|
187
|
-
N = simdutf::convert_valid_utf16le_to_utf8(input, tmp);
|
|
188
|
-
} else {
|
|
189
|
-
N = simdutf::convert_valid_utf16be_to_utf8(input, tmp);
|
|
190
|
-
}
|
|
191
|
-
if (N != input.size()) {
|
|
192
|
-
throw "oops";
|
|
193
|
-
}
|
|
194
|
-
return tmp;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
template <auto input, bool with_errors> constexpr auto utf16_to_utf8() {
|
|
198
|
-
using namespace simdutf::tests::helpers;
|
|
199
|
-
constexpr auto Nout = detail::utf8_length_from_utf16_helper<input>();
|
|
200
|
-
CTString<char8_t, Nout> tmp{};
|
|
201
|
-
std::size_t N;
|
|
202
|
-
if constexpr (decltype(input)::endianness == std::endian::little) {
|
|
203
|
-
N = simdutf::convert_utf16le_to_utf8(input, tmp);
|
|
204
|
-
} else {
|
|
205
|
-
N = simdutf::convert_utf16be_to_utf8(input, tmp);
|
|
206
|
-
}
|
|
207
|
-
if (N == 0) {
|
|
208
|
-
throw "failed";
|
|
209
|
-
}
|
|
210
|
-
if (N != tmp.size()) {
|
|
211
|
-
throw "oops";
|
|
212
|
-
}
|
|
213
|
-
return tmp;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
} // namespace helpers
|
|
217
|
-
} // namespace tests
|
|
218
|
-
} // namespace simdutf
|
|
219
|
-
|
|
220
|
-
#endif // SIMDUTF_CPLUSPLUS23
|
|
221
|
-
|
|
222
|
-
#endif // SIMDUTF_COMPILETIME_CONVERSIONS_H
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
#ifndef SIMDUTF_FIXED_STRING_H
|
|
2
|
-
#define SIMDUTF_FIXED_STRING_H
|
|
3
|
-
|
|
4
|
-
#include <simdutf/compiler_check.h>
|
|
5
|
-
|
|
6
|
-
#if SIMDUTF_CPLUSPLUS23
|
|
7
|
-
|
|
8
|
-
#include <bit>
|
|
9
|
-
#include <string>
|
|
10
|
-
#include <cstddef>
|
|
11
|
-
#include <span>
|
|
12
|
-
#include <type_traits>
|
|
13
|
-
#include <algorithm>
|
|
14
|
-
#include <ranges>
|
|
15
|
-
|
|
16
|
-
namespace simdutf {
|
|
17
|
-
namespace tests {
|
|
18
|
-
namespace helpers {
|
|
19
|
-
|
|
20
|
-
namespace detail {
|
|
21
|
-
/// a concept that is true for the char types that are valid for representing
|
|
22
|
-
/// ascii/latin1, utf-8, utf-16 and utf-32
|
|
23
|
-
template <typename CharType>
|
|
24
|
-
concept valid_chartype = std::disjunction_v<std::is_same<CharType, char>, //
|
|
25
|
-
std::is_same<CharType, char8_t>, //
|
|
26
|
-
std::is_same<CharType, char16_t>, //
|
|
27
|
-
std::is_same<CharType, char32_t>>;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* an internal helper type for use with user defined literals.
|
|
31
|
-
*
|
|
32
|
-
* implementation note: the reason for this is that the literal operator
|
|
33
|
-
* template deduces the size including the null character. that makes the
|
|
34
|
-
* template parameter N be the size+1, which is annoying.
|
|
35
|
-
*/
|
|
36
|
-
template <detail::valid_chartype CharType, std::size_t N>
|
|
37
|
-
struct TmpStringLiteral {
|
|
38
|
-
CharType storage[N - 1];
|
|
39
|
-
|
|
40
|
-
using type = CharType;
|
|
41
|
-
|
|
42
|
-
static constexpr std::size_t size() noexcept { return N - 1; }
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* constructs from a string literal
|
|
46
|
-
*
|
|
47
|
-
* StringLiteral a("this is an ascii string");
|
|
48
|
-
* StringLiteral b(u8"this is a utf-8 string");
|
|
49
|
-
* StringLiteral c(u"this is a utf-16 string");
|
|
50
|
-
* StringLiteral d(U"this is a utf-32 string");
|
|
51
|
-
*/
|
|
52
|
-
constexpr /*explicit*/ TmpStringLiteral(CharType const (&str)[N]) {
|
|
53
|
-
static_assert(N > 1, "weird size");
|
|
54
|
-
std::copy(str, str + size(), storage);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
} // namespace detail
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* A compile time string with fixed size, aimed to simplify testing since
|
|
61
|
-
* std::string is hard to use at compile time due to it internally
|
|
62
|
-
* allocating memory.
|
|
63
|
-
*
|
|
64
|
-
* clang-format off
|
|
65
|
-
*
|
|
66
|
-
* CharType implicitly determines the content:
|
|
67
|
-
* char - ascii/latin1
|
|
68
|
-
* char8_t - utf8
|
|
69
|
-
* char16_t - utf16
|
|
70
|
-
* char32_t - utf32
|
|
71
|
-
*
|
|
72
|
-
* clang-format on
|
|
73
|
-
*/
|
|
74
|
-
template <detail::valid_chartype CharType, std::size_t N,
|
|
75
|
-
std::endian endianness_ = std::endian::native>
|
|
76
|
-
struct CTString {
|
|
77
|
-
/// the string, not null terminated
|
|
78
|
-
CharType storage[N];
|
|
79
|
-
|
|
80
|
-
using type = CharType;
|
|
81
|
-
static constexpr std::endian endianness = endianness_;
|
|
82
|
-
|
|
83
|
-
constexpr CTString() = default;
|
|
84
|
-
|
|
85
|
-
/// construction from a string literal (includes a null character)
|
|
86
|
-
constexpr explicit CTString(CharType const (&str)[N + 1]) {
|
|
87
|
-
std::copy(str, str + size(), storage);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/// construct from a range with the appropriate type
|
|
91
|
-
constexpr explicit CTString(std::ranges::input_range auto &&range)
|
|
92
|
-
requires detail::valid_chartype<
|
|
93
|
-
std::ranges::range_value_t<decltype(range)>> &&
|
|
94
|
-
std::ranges::sized_range<decltype(range)>
|
|
95
|
-
{
|
|
96
|
-
#if !defined(_MSVC_LANG) && !defined(__clang__)
|
|
97
|
-
constexpr auto Ninput = std::ranges::size(range);
|
|
98
|
-
static_assert(Ninput == size());
|
|
99
|
-
#endif
|
|
100
|
-
std::ranges::copy(range, storage);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
constexpr bool operator==(const CTString &other) const noexcept = default;
|
|
104
|
-
|
|
105
|
-
/// size in number of code units
|
|
106
|
-
static constexpr std::size_t size() noexcept { return N; }
|
|
107
|
-
static constexpr bool empty() noexcept { return size() == 0; }
|
|
108
|
-
constexpr CharType *data() noexcept { return storage; }
|
|
109
|
-
constexpr const CharType *data() const noexcept { return storage; }
|
|
110
|
-
constexpr auto span() noexcept { return std::span(storage); }
|
|
111
|
-
constexpr auto span() const noexcept { return std::span(storage); }
|
|
112
|
-
|
|
113
|
-
constexpr auto begin() noexcept { return data(); }
|
|
114
|
-
constexpr auto end() noexcept { return data() + size(); }
|
|
115
|
-
constexpr auto begin() const noexcept { return data(); }
|
|
116
|
-
constexpr auto end() const noexcept { return data() + size(); }
|
|
117
|
-
constexpr CharType operator[](auto index) const noexcept {
|
|
118
|
-
return storage[index];
|
|
119
|
-
}
|
|
120
|
-
constexpr CharType &operator[](auto index) noexcept { return storage[index]; }
|
|
121
|
-
template <typename DestCharType> constexpr auto as_array() const noexcept {
|
|
122
|
-
std::array<DestCharType, size()> ret;
|
|
123
|
-
for (std::size_t i = 0; i < size(); ++i) {
|
|
124
|
-
ret[i] = static_cast<DestCharType>(storage[i]);
|
|
125
|
-
}
|
|
126
|
-
return ret;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* returns a copy of the first NewSize code units
|
|
131
|
-
*/
|
|
132
|
-
template <std::size_t NewSize>
|
|
133
|
-
requires(NewSize <= N)
|
|
134
|
-
constexpr auto shrink() const noexcept {
|
|
135
|
-
CTString<CharType, NewSize, endianness_> ret;
|
|
136
|
-
std::ranges::copy_n(storage, NewSize, ret.storage);
|
|
137
|
-
return ret;
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
/// Class template argument deduction (CTAD) for a string literal (null
|
|
142
|
-
/// terminated)
|
|
143
|
-
template <detail::valid_chartype CharType, std::size_t N>
|
|
144
|
-
CTString(const CharType (&str)[N]) -> CTString<CharType, N - 1>;
|
|
145
|
-
|
|
146
|
-
/// Class template argument deduction (CTAD) for a range (must have size known
|
|
147
|
-
/// at compile time)
|
|
148
|
-
template <std::ranges::input_range R>
|
|
149
|
-
CTString(R &&)
|
|
150
|
-
-> CTString<std::ranges::range_value_t<R>, std::ranges::size(R{})>;
|
|
151
|
-
|
|
152
|
-
/// creates a fixed size string of UTF-32
|
|
153
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_utf32() {
|
|
154
|
-
using C = typename decltype(a)::type;
|
|
155
|
-
static_assert(
|
|
156
|
-
std::is_same_v<C, char32_t>,
|
|
157
|
-
"_utf32 user defined literal must be on the form U\"text...\"_utf32");
|
|
158
|
-
return CTString<C, a.size()>(a.storage);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/// creates a fixed size string of UTF-16 (native endian)
|
|
162
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_utf16() {
|
|
163
|
-
using C = typename decltype(a)::type;
|
|
164
|
-
static_assert(
|
|
165
|
-
std::is_same_v<C, char16_t>,
|
|
166
|
-
"_utf16 user defined literal must be on the form u\"text...\"_utf16");
|
|
167
|
-
return CTString<C, a.size()>(a.storage);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/// creates a fixed size string of UTF-16 (little endian)
|
|
171
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_utf16le() {
|
|
172
|
-
using C = typename decltype(a)::type;
|
|
173
|
-
static_assert(
|
|
174
|
-
std::is_same_v<C, char16_t>,
|
|
175
|
-
"_utf16 user defined literal must be on the form u\"text...\"_utf16le");
|
|
176
|
-
auto ret = CTString<C, a.size(), std::endian::little>(a.storage);
|
|
177
|
-
if constexpr (std::endian::little != std::endian::native) {
|
|
178
|
-
for (auto &e : ret) {
|
|
179
|
-
e = std::byteswap(e);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
return ret;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/// creates a fixed size string of UTF-16 (big endian)
|
|
186
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_utf16be() {
|
|
187
|
-
using C = typename decltype(a)::type;
|
|
188
|
-
static_assert(
|
|
189
|
-
std::is_same_v<C, char16_t>,
|
|
190
|
-
"_utf16 user defined literal must be on the form u\"text...\"_utf16be");
|
|
191
|
-
auto ret = CTString<C, a.size(), std::endian::big>(a.storage);
|
|
192
|
-
if constexpr (std::endian::big != std::endian::native) {
|
|
193
|
-
for (auto &e : ret) {
|
|
194
|
-
e = std::byteswap(e);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
return ret;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/// creates a fixed size string of UTF-8
|
|
201
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_utf8() {
|
|
202
|
-
using C = typename decltype(a)::type;
|
|
203
|
-
static_assert(
|
|
204
|
-
std::is_same_v<C, char8_t>,
|
|
205
|
-
"_utf8 user defined literal must be on the form u8\"text...\"_utf8");
|
|
206
|
-
return CTString<C, a.size()>(a.storage);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/// creates a fixed size string of ascii/latin1
|
|
210
|
-
template <detail::TmpStringLiteral a> constexpr auto operator""_latin1() {
|
|
211
|
-
using C = typename decltype(a)::type;
|
|
212
|
-
static_assert(
|
|
213
|
-
std::is_same_v<C, char>,
|
|
214
|
-
"_latin1 user defined literal must be on the form \"text...\"_latin1");
|
|
215
|
-
return CTString<C, a.size()>(a.storage);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
namespace detail {
|
|
219
|
-
template <class T> struct is_CTString : std::false_type {};
|
|
220
|
-
|
|
221
|
-
template <typename CharType, std::size_t N, std::endian endianness>
|
|
222
|
-
struct is_CTString<CTString<CharType, N, endianness>> : std::true_type {};
|
|
223
|
-
|
|
224
|
-
} // namespace detail
|
|
225
|
-
|
|
226
|
-
/// concept which gives true for any CTString (regardless of if it is latin1,
|
|
227
|
-
/// utf-8, utf-16 or utf-32)
|
|
228
|
-
template <class T>
|
|
229
|
-
concept any_ctstring = detail::is_CTString<std::decay_t<T>>::value;
|
|
230
|
-
|
|
231
|
-
template <class T>
|
|
232
|
-
concept latin1_ctstring =
|
|
233
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
234
|
-
std::is_same_v<std::decay_t<typename std::decay_t<T>::type>, char>);
|
|
235
|
-
|
|
236
|
-
template <class T>
|
|
237
|
-
concept utf8_ctstring =
|
|
238
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
239
|
-
std::is_same_v<typename std::decay_t<T>::type, char8_t>);
|
|
240
|
-
|
|
241
|
-
template <class T>
|
|
242
|
-
concept utf16_ctstring =
|
|
243
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
244
|
-
std::is_same_v<typename std::decay_t<T>::type, char16_t>);
|
|
245
|
-
|
|
246
|
-
template <class T>
|
|
247
|
-
concept utf16le_ctstring =
|
|
248
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
249
|
-
std::is_same_v<typename std::decay_t<T>::type, char16_t> &&
|
|
250
|
-
T::endianness == std::endian::little);
|
|
251
|
-
|
|
252
|
-
template <class T>
|
|
253
|
-
concept utf16be_ctstring =
|
|
254
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
255
|
-
std::is_same_v<typename std::decay_t<T>::type, char16_t> &&
|
|
256
|
-
T::endianness == std::endian::big);
|
|
257
|
-
|
|
258
|
-
template <class T>
|
|
259
|
-
concept utf32_ctstring =
|
|
260
|
-
(detail::is_CTString<std::decay_t<T>>::value &&
|
|
261
|
-
std::is_same_v<typename std::decay_t<T>::type, char32_t>);
|
|
262
|
-
|
|
263
|
-
} // namespace helpers
|
|
264
|
-
} // namespace tests
|
|
265
|
-
} // namespace simdutf
|
|
266
|
-
#endif // SIMDUTF_CPLUSPLUS23
|
|
267
|
-
#endif // SIMDUTF_FIXED_STRING_H
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#include "random_int.h"
|
|
2
|
-
|
|
3
|
-
namespace simdutf {
|
|
4
|
-
namespace tests {
|
|
5
|
-
namespace helpers {
|
|
6
|
-
|
|
7
|
-
RandomInt::RandomInt(uint64_t lo, uint64_t hi, uint64_t seed) noexcept
|
|
8
|
-
: gen(std::mt19937::result_type(seed)), distr{lo, hi} {}
|
|
9
|
-
|
|
10
|
-
uint32_t RandomInt::operator()() noexcept { return uint32_t(distr(gen)); }
|
|
11
|
-
|
|
12
|
-
RandomIntRanges::RandomIntRanges(
|
|
13
|
-
std::initializer_list<std::pair<uint64_t, uint64_t>> ranges_,
|
|
14
|
-
uint64_t seed) noexcept
|
|
15
|
-
: gen(std::mt19937::result_type(seed)) {
|
|
16
|
-
|
|
17
|
-
for (const auto &lohi : ranges_) {
|
|
18
|
-
ranges.emplace_back(lohi.first, lohi.second);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
range_index = Distribution(0, ranges.size() - 1);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
uint32_t RandomIntRanges::operator()() noexcept {
|
|
25
|
-
const size_t index = size_t(range_index(gen));
|
|
26
|
-
return uint32_t(ranges[index](gen));
|
|
27
|
-
}
|
|
28
|
-
} // namespace helpers
|
|
29
|
-
} // namespace tests
|
|
30
|
-
} // namespace simdutf
|