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,12 +0,0 @@
|
|
|
1
|
-
#include "buffer/ProcessorSelector.h"
|
|
2
|
-
#include "message/MessageConverter.h"
|
|
3
|
-
#include <stdio.h>
|
|
4
|
-
#include <memory>
|
|
5
|
-
|
|
6
|
-
int main() {
|
|
7
|
-
std::unique_ptr<BaseBufferProcessor> processor(ProcessorSelector<dfUtf8, dfUtf16>::WithOptions<>::Create());
|
|
8
|
-
ConversionResult res = ConvertFile(*processor, "input.utf8", "output.utf16");
|
|
9
|
-
if (res.status == csSuccess) printf("File converted successfully\n");
|
|
10
|
-
else printf("Conversion failed (error: %d)\n", res.status);
|
|
11
|
-
printf("Converted %d bytes into %d bytes", res.inputSize, res.outputSize);
|
|
12
|
-
}
|
|
@@ -1,486 +0,0 @@
|
|
|
1
|
-
#include <string.h>
|
|
2
|
-
#include <stdlib.h>
|
|
3
|
-
#include <stdarg.h>
|
|
4
|
-
#include <ctype.h>
|
|
5
|
-
#include <time.h>
|
|
6
|
-
#include "buffer/ProcessorSelector.h"
|
|
7
|
-
#include "message/MessageConverter.h"
|
|
8
|
-
#include "core/ProcessTrivial.h" //only for random inputs
|
|
9
|
-
|
|
10
|
-
const int MAX_POS_ARGS = 2;
|
|
11
|
-
const int MAX_ARG_LEN = 1<<12;
|
|
12
|
-
FILE * const LOG_FILE = stderr;
|
|
13
|
-
|
|
14
|
-
void logprintf(const char *format, ...) {
|
|
15
|
-
va_list args;
|
|
16
|
-
va_start(args, format);
|
|
17
|
-
vfprintf(LOG_FILE, format, args);
|
|
18
|
-
va_end(args);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
void strtolower(char *s) {
|
|
22
|
-
for (int i = 0; s[i]; i++)
|
|
23
|
-
s[i] = tolower(s[i]);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
void Check(bool condition, const char *format, ...) {
|
|
27
|
-
if (condition)
|
|
28
|
-
return;
|
|
29
|
-
va_list args;
|
|
30
|
-
va_start(args, format);
|
|
31
|
-
vfprintf(LOG_FILE, format, args);
|
|
32
|
-
va_end(args);
|
|
33
|
-
exit(17);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
int GetFormatOfEncoding(const char *encoding) {
|
|
37
|
-
if (strcmp(encoding, "utf8") == 0 || strcmp(encoding, "utf-8") == 0)
|
|
38
|
-
return dfUtf8;
|
|
39
|
-
if (strcmp(encoding, "utf16") == 0 || strcmp(encoding, "utf-16") == 0)
|
|
40
|
-
return dfUtf16;
|
|
41
|
-
if (strcmp(encoding, "utf32") == 0 || strcmp(encoding, "utf-32") == 0)
|
|
42
|
-
return dfUtf32;
|
|
43
|
-
Check(false, "Unknown encoding: %s\n", encoding);
|
|
44
|
-
return -1;
|
|
45
|
-
}
|
|
46
|
-
const char *GetFormatStr(int format) {
|
|
47
|
-
if (format == dfUtf8 ) return "UTF-8 ";
|
|
48
|
-
if (format == dfUtf16) return "UTF-16";
|
|
49
|
-
if (format == dfUtf32) return "UTF-32";
|
|
50
|
-
return 0;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
struct Config {
|
|
54
|
-
int srcFormat; // -s=%s
|
|
55
|
-
int dstFormat; // -d=%s
|
|
56
|
-
int maxBytesFast; // -b=%d
|
|
57
|
-
int checkMode; // -m=%d
|
|
58
|
-
bool smallConverter; // --small
|
|
59
|
-
bool errorCorrection; // -ec
|
|
60
|
-
bool fileToFile; // --file
|
|
61
|
-
int numberOfRuns; // -k=%d
|
|
62
|
-
char srcPath[MAX_ARG_LEN];
|
|
63
|
-
char dstPath[MAX_ARG_LEN];
|
|
64
|
-
int srcRandomLen; // input: [rnd%c%c%c%c:%d]
|
|
65
|
-
bool srcRandomChars[4]; // -- | --
|
|
66
|
-
bool dstPrintHash; // output: [hash]
|
|
67
|
-
bool countBytes; // --countbytes
|
|
68
|
-
|
|
69
|
-
Config() {
|
|
70
|
-
srcFormat = dfUtf8;
|
|
71
|
-
dstFormat = dfUtf16;
|
|
72
|
-
checkMode = cmValidate;
|
|
73
|
-
maxBytesFast = 3;
|
|
74
|
-
smallConverter = false;
|
|
75
|
-
errorCorrection = false;
|
|
76
|
-
fileToFile = false;
|
|
77
|
-
numberOfRuns = 1;
|
|
78
|
-
srcPath[0] = 0;
|
|
79
|
-
dstPath[0] = 0;
|
|
80
|
-
srcRandomLen = -1;
|
|
81
|
-
dstPrintHash = false;
|
|
82
|
-
countBytes = false;
|
|
83
|
-
}
|
|
84
|
-
void Init() {
|
|
85
|
-
Check(numberOfRuns >= 0, "Cannot run negative number of times: %d\n", numberOfRuns);
|
|
86
|
-
Check(srcFormat != dstFormat, "Source and destination encoding must be different (%d)\n", srcFormat);
|
|
87
|
-
Check(srcFormat == dfUtf8 || dstFormat == dfUtf8, "Either source of destination encoding must be UTF-8\n");
|
|
88
|
-
Check(!fileToFile || (srcPath[0] && dstPath[0]), "Both input and output must be file paths when using file-to-file mode\n");
|
|
89
|
-
Check(maxBytesFast >= 0 && maxBytesFast <= 3, "Fast path can process up to 1-byte, 2-byte, or 3-byte code points (%d)\n", maxBytesFast);
|
|
90
|
-
Check(checkMode >= cmFast && checkMode <= cmValidate, "Checking mode must be 0 (fast), 1 (full), or 2 (validate) (%d)", checkMode);
|
|
91
|
-
Check(!countBytes || (srcFormat == dfUtf8 && !fileToFile), "Counting bytes is only implemented for UTF-8 input and memory-to-memory");
|
|
92
|
-
if (maxBytesFast == 0) {
|
|
93
|
-
logprintf("Note: trivial convertion is used (no fast path)\n");
|
|
94
|
-
checkMode = cmValidate;
|
|
95
|
-
smallConverter = true;
|
|
96
|
-
errorCorrection = false;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
if (errorCorrection && !smallConverter) {
|
|
100
|
-
smallConverter = true;
|
|
101
|
-
logprintf("Note: Error correction forces usage of 'small' processor\n");
|
|
102
|
-
}
|
|
103
|
-
if (errorCorrection && checkMode != cmValidate) {
|
|
104
|
-
checkMode = cmValidate;
|
|
105
|
-
logprintf("Note: Error correction forces 'validate' mode of processor\n");
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
logprintf("Starting the following conversion");
|
|
110
|
-
if (numberOfRuns != 1)
|
|
111
|
-
logprintf(" (%d times)", numberOfRuns);
|
|
112
|
-
logprintf(":\n");
|
|
113
|
-
char randomSrcMessage[256] = {0};
|
|
114
|
-
if (srcRandomLen >= 0) {
|
|
115
|
-
char temp[16], tl = 0;
|
|
116
|
-
for (int t = 0; t < 4; t++) if (srcRandomChars[t]) temp[tl++] = '1' + t;
|
|
117
|
-
temp[tl] = 0;
|
|
118
|
-
sprintf(randomSrcMessage, "[random: %d chars of [%s]]", srcRandomLen, temp);
|
|
119
|
-
}
|
|
120
|
-
logprintf(" Input (source) in %s: %s\n", GetFormatStr(srcFormat), (srcRandomLen >= 0 ? randomSrcMessage : srcPath));
|
|
121
|
-
logprintf(" Output (dest.) in %s: %s\n", GetFormatStr(dstFormat), (dstPrintHash ? "[print hash]" : dstPath));
|
|
122
|
-
if (fileToFile)
|
|
123
|
-
logprintf(" Direct file-to-file conversion\n");
|
|
124
|
-
|
|
125
|
-
logprintf("Processor settings:\n");
|
|
126
|
-
logprintf(" Fast path supports code points with up to %d bytes in UTF-8\n", maxBytesFast);
|
|
127
|
-
logprintf(" Mode of input checking is: %s\n", (checkMode == cmFast ? "fast" : checkMode == cmFull ? "full" : "validate"));
|
|
128
|
-
if (smallConverter)
|
|
129
|
-
logprintf(" Using small processor, i.e. single stream / no unrolling\n");
|
|
130
|
-
else
|
|
131
|
-
logprintf(" Using big converter, i.e. four streams / 4x unrolling\n");
|
|
132
|
-
if (errorCorrection)
|
|
133
|
-
logprintf(" Error correction enabled\n");
|
|
134
|
-
else
|
|
135
|
-
logprintf(" Stops on any incorrect input\n");
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
//linked from AllProcessors.cpp
|
|
141
|
-
BaseBufferProcessor* GenerateProcessor(int srcFormat, int dstFormat, int maxBytes, int checkMode, int multiplier, int *errorCounter);
|
|
142
|
-
|
|
143
|
-
void ReadFileContents(const char *filename, char *&buffer, long long &size) {
|
|
144
|
-
assert(!buffer);
|
|
145
|
-
FILE *fi = fopen(filename, "rb");
|
|
146
|
-
Check(fi, "Cannot open file: %s\n", filename);
|
|
147
|
-
fseek(fi, 0, SEEK_END);
|
|
148
|
-
size = ftell(fi);
|
|
149
|
-
fseek(fi, 0, SEEK_SET);
|
|
150
|
-
buffer = new char[size];
|
|
151
|
-
fread(buffer, 1, size, fi);
|
|
152
|
-
fclose(fi);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
void WriteFileContents(const char *filename, char *buffer, long long size) {
|
|
156
|
-
FILE *fo = fopen(filename, "wb");
|
|
157
|
-
Check(fo, "Cannot open file: %s\n", filename);
|
|
158
|
-
fwrite(buffer, 1, size, fo);
|
|
159
|
-
fclose(fo);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
int MaxCodeOf(int bytes) {
|
|
163
|
-
if (bytes == 0) return -1;
|
|
164
|
-
if (bytes == 1) return 0x0000007F;
|
|
165
|
-
if (bytes == 2) return 0x000007FF;
|
|
166
|
-
if (bytes == 3) return 0x0000FFFF;
|
|
167
|
-
return 0x10FFFF;
|
|
168
|
-
}
|
|
169
|
-
int MyRandom() {
|
|
170
|
-
return RAND_MAX+1 == (1<<15)
|
|
171
|
-
? ((rand() << 15) ^ rand())
|
|
172
|
-
: (rand() & ((1<<30)-1));
|
|
173
|
-
}
|
|
174
|
-
void GenerateRandomSource(char *&buffer, long long &size, int format, int cnt, bool allowedLens[4]) {
|
|
175
|
-
assert(!buffer);
|
|
176
|
-
srand(0); rand(); rand();
|
|
177
|
-
int *buff32 = new int[cnt];
|
|
178
|
-
for (int i = 0; i < cnt; i++) {
|
|
179
|
-
int b;
|
|
180
|
-
do { b = rand() & 3; } while (!allowedLens[b]);
|
|
181
|
-
b++;
|
|
182
|
-
int minV = MaxCodeOf(b-1) + 1, maxV = MaxCodeOf(b);
|
|
183
|
-
int code;
|
|
184
|
-
do {
|
|
185
|
-
code = minV + MyRandom() % (maxV - minV + 1);
|
|
186
|
-
} while (code >= 0xD800 && code < 0xE000);
|
|
187
|
-
buff32[i] = code;
|
|
188
|
-
}
|
|
189
|
-
if (format == dfUtf32) {
|
|
190
|
-
buffer = (char*)(void*)buff32;
|
|
191
|
-
size = 4*cnt;
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
char *buff8 = new char[4*cnt];
|
|
195
|
-
char *buff8end;
|
|
196
|
-
{
|
|
197
|
-
const char *ptr = (char*)buff32;
|
|
198
|
-
buff8end = buff8;
|
|
199
|
-
EncodeTrivial<4>(ptr, (char*)(buff32 + cnt), buff8end);
|
|
200
|
-
delete[] buff32;
|
|
201
|
-
}
|
|
202
|
-
if (format == dfUtf8) {
|
|
203
|
-
buffer = buff8;
|
|
204
|
-
size = buff8end - buff8;
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
char *buff16 = new char[4*cnt];
|
|
208
|
-
char *buff16end;
|
|
209
|
-
{
|
|
210
|
-
const char *ptr = buff8;
|
|
211
|
-
buff16end = buff16;
|
|
212
|
-
DecodeTrivial<2>(ptr, buff8end, buff16end);
|
|
213
|
-
delete[] buff8;
|
|
214
|
-
}
|
|
215
|
-
buffer = buff16;
|
|
216
|
-
size = buff16end - buff16;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
bool IsSameResult (const ConversionResult &a, const ConversionResult &b) {
|
|
221
|
-
return a.status == b.status && a.inputSize == b.inputSize && a.outputSize == b.outputSize;
|
|
222
|
-
}
|
|
223
|
-
void PrintResult(const ConversionResult &res) {
|
|
224
|
-
logprintf("Conversion result: %s; converted %" PRId64 " bytes -> %" PRId64 " bytes\n",
|
|
225
|
-
res.status == csSuccess ? "success" :
|
|
226
|
-
res.status == csOverflowPossible ? "OVERFLOW" :
|
|
227
|
-
res.status == csIncompleteData ? "incomplete data" :
|
|
228
|
-
res.status == csIncorrectData ? "INCORRECT" :
|
|
229
|
-
res.status == csInputOutputNoAccess ? "ACCESS DENIED" :
|
|
230
|
-
"!!!unknown!!!",
|
|
231
|
-
res.inputSize, res.outputSize
|
|
232
|
-
);
|
|
233
|
-
}
|
|
234
|
-
unsigned int GetHashOfBuffer(const char *buffer, long long size) {
|
|
235
|
-
unsigned int hash = 0;
|
|
236
|
-
for (long long i = 0; i < size; i++)
|
|
237
|
-
hash = hash * 31 + buffer[i];
|
|
238
|
-
return hash;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
void PrintByteCounts(const char *buffer, long long size) {
|
|
242
|
-
long long cnt[5] = {0};
|
|
243
|
-
for (long long i = 0; i < size; i++) {
|
|
244
|
-
unsigned char byte = buffer[i];
|
|
245
|
-
int bl = (
|
|
246
|
-
byte < 0x80U ? 1 :
|
|
247
|
-
byte < 0xC0U ? 0 :
|
|
248
|
-
byte < 0xE0U ? 2 :
|
|
249
|
-
byte < 0xF0U ? 3 :
|
|
250
|
-
4
|
|
251
|
-
);
|
|
252
|
-
cnt[bl]++;
|
|
253
|
-
}
|
|
254
|
-
logprintf("Byte lengths: ");
|
|
255
|
-
for (int i = 1; i <= 4; i++) logprintf(" %" PRId64, cnt[i]);
|
|
256
|
-
logprintf("\n");
|
|
257
|
-
long long u8size = 0, u16size = 0, u32size = 0, chars = 0;
|
|
258
|
-
for (int i = 1; i <= 4; i++) {
|
|
259
|
-
u8size += cnt[i] * i;
|
|
260
|
-
u16size += cnt[i] * (i<=3 ? 2 : 4);
|
|
261
|
-
u32size += cnt[i] * 4;
|
|
262
|
-
chars += cnt[i];
|
|
263
|
-
}
|
|
264
|
-
logprintf("Number of characters: %" PRId64 "\n", chars);
|
|
265
|
-
logprintf("UTF-8 size: %" PRId64 "\n", u8size);
|
|
266
|
-
logprintf("UTF-16 size: %" PRId64 "\n", u16size);
|
|
267
|
-
logprintf("UTF-32 size: %" PRId64 "\n", u32size);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
void PrintHelp() {
|
|
271
|
-
logprintf(
|
|
272
|
-
"Small converter tool intended for demonstration and benchmarking of utf8lut.\n"
|
|
273
|
-
"\n"
|
|
274
|
-
"Usage:\n"
|
|
275
|
-
" FileConverter <input_file_path> <output_file_path> {options}\n"
|
|
276
|
-
"\n"
|
|
277
|
-
"Setting direction of conversion:\n"
|
|
278
|
-
" -s=utf8 | -s=utf16 | -s=utf32\n"
|
|
279
|
-
" Sets encoding of the input.\n"
|
|
280
|
-
" Default: -s=utf8\n"
|
|
281
|
-
" -d=utf8 | -d=utf16 | -d=utf32\n"
|
|
282
|
-
" Sets desired encoding of the output.\n"
|
|
283
|
-
" Default: -d=utf16\n"
|
|
284
|
-
"\n"
|
|
285
|
-
"External settings (of FileConverter):\n"
|
|
286
|
-
" --file\n"
|
|
287
|
-
" Perform file-to-file streaming conversion with fixed-size memory buffer.\n"
|
|
288
|
-
" This key is NOT set by default, and without it conversion consists of three separate steps:\n"
|
|
289
|
-
" reading the whole input file into memory, mem-to-mem conversion, writing the whole output file.\n"
|
|
290
|
-
" -k=%%d\n"
|
|
291
|
-
" Perform the conversion <%%d> times in a row.\n"
|
|
292
|
-
" Usually reading and writing files is NOT repeated, but in file-to-file mode it is.\n"
|
|
293
|
-
" Default: -k=1\n"
|
|
294
|
-
" -ec\n"
|
|
295
|
-
" Enable error conversion which turns problematic code units into 0xFFFD repl. code points.\n"
|
|
296
|
-
" By default converter simply stops on the first error (given that validation is enabled).\n"
|
|
297
|
-
"\n"
|
|
298
|
-
"Internal settings of used processor:\n"
|
|
299
|
-
" -b=%%d (-b=0 | -b=1 | -b=2 | -b=3)\n"
|
|
300
|
-
" The fast code path must support all code points which consist of at most <%%d> bytes in UTF-8.\n"
|
|
301
|
-
" Setting -b=0 disables the whole fast path, falling back to slow scalar conversion.\n"
|
|
302
|
-
" Default: -b=3 (fast path supports the whole BMP)\n"
|
|
303
|
-
" -m=%%d (-m=0 | -m=1 | -m=2)\n"
|
|
304
|
-
" Sets checking mode of processor, which defines slow path and validation.\n"
|
|
305
|
-
" -m=0: cmFast (only fast path, converts limited set of code points)\n"
|
|
306
|
-
" -m=1: cmFull (fast + slow path, converts any correct input)\n"
|
|
307
|
-
" -m=2: cmValidate (any input allowed, includes validation)\n"
|
|
308
|
-
" Default: -m=2 (cmValidate)\n"
|
|
309
|
-
" --small\n"
|
|
310
|
-
" Disables performance tweak, i.e. sets SpeedMult argument = 1.\n"
|
|
311
|
-
" This in turn disables multi-stream processor and manual loop unrolling.\n"
|
|
312
|
-
" By default the key is NOT set, so the faster version of processor is used.\n"
|
|
313
|
-
"\n"
|
|
314
|
-
"Alternatives for positional arguments:\n"
|
|
315
|
-
" <input_file_path>: [rndXYZW:%%d] (with brackets)\n"
|
|
316
|
-
" Generate random input data instead of reading it from a file.\n"
|
|
317
|
-
" You must set digits 0 or 1 instead of letters <X>, <Y>, <Z>, <W>.\n"
|
|
318
|
-
" Each of them forbids or allows code points of corresponding byte size in UTF-8.\n"
|
|
319
|
-
" The number <%%d> after semicolon sets how many code points are there in the input.\n"
|
|
320
|
-
" Note that generation is quite slow, and random tests are very different from the real ones.\n"
|
|
321
|
-
" <output_file_path>: [hash] (with brackets)\n"
|
|
322
|
-
" Calculate hash of the output data instead of writing it to a file.\n"
|
|
323
|
-
" Polynomial hash with base 31 modulo 2^32 is printed to log.\n"
|
|
324
|
-
);
|
|
325
|
-
exit(1);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
int main(int argc, char **argv) {
|
|
329
|
-
if (argc == 1)
|
|
330
|
-
PrintHelp();
|
|
331
|
-
Config cfg;
|
|
332
|
-
|
|
333
|
-
int posArgsCnt = 0;
|
|
334
|
-
for (int i = 1; i < argc; i++) {
|
|
335
|
-
const char *arg = argv[i];
|
|
336
|
-
Check(strlen(arg) < MAX_ARG_LEN, "Argument too long: %s\n", arg);
|
|
337
|
-
|
|
338
|
-
char larg[MAX_ARG_LEN];
|
|
339
|
-
strcpy(larg, arg);
|
|
340
|
-
strtolower(larg);
|
|
341
|
-
|
|
342
|
-
int num;
|
|
343
|
-
char str[MAX_ARG_LEN];
|
|
344
|
-
|
|
345
|
-
if (0);
|
|
346
|
-
else if (strcmp(larg, "-h") == 0 || strcmp(larg, "--help") == 0)
|
|
347
|
-
PrintHelp();
|
|
348
|
-
else if (sscanf(larg, "-s=%s", &str) == 1)
|
|
349
|
-
cfg.srcFormat = GetFormatOfEncoding(str);
|
|
350
|
-
else if (sscanf(larg, "-d=%s", &str) == 1)
|
|
351
|
-
cfg.dstFormat = GetFormatOfEncoding(str);
|
|
352
|
-
else if (sscanf(larg, "-m=%d", &num) == 1)
|
|
353
|
-
cfg.checkMode = num;
|
|
354
|
-
else if (sscanf(larg, "-b=%d", &num) == 1)
|
|
355
|
-
cfg.maxBytesFast = num;
|
|
356
|
-
else if (strcmp(larg, "--small") == 0)
|
|
357
|
-
cfg.smallConverter = true;
|
|
358
|
-
else if (strcmp(larg, "--file") == 0)
|
|
359
|
-
cfg.fileToFile = true;
|
|
360
|
-
else if (strcmp(larg, "--countbytes") == 0)
|
|
361
|
-
cfg.countBytes = true;
|
|
362
|
-
else if (strcmp(larg, "-ec") == 0)
|
|
363
|
-
cfg.errorCorrection = true;
|
|
364
|
-
else if (sscanf(larg, "-k=%d", &num) == 1)
|
|
365
|
-
cfg.numberOfRuns = num;
|
|
366
|
-
else if (larg[0] != '-') {
|
|
367
|
-
Check(posArgsCnt < MAX_POS_ARGS, "No more positional arguments allowed: %s\n", arg);
|
|
368
|
-
if (0 == posArgsCnt) {
|
|
369
|
-
if (sscanf(larg, "[rnd%c%c%c%c:%d]", str+0, str+1, str+2, str+3, &num) == 5) {
|
|
370
|
-
cfg.srcRandomLen = num;
|
|
371
|
-
for (int t = 0; t < 4; t++)
|
|
372
|
-
cfg.srcRandomChars[t] = strchr("1tTyY+", str[t]) != 0;
|
|
373
|
-
}
|
|
374
|
-
else
|
|
375
|
-
strcpy(cfg.srcPath, arg);
|
|
376
|
-
}
|
|
377
|
-
if (1 == posArgsCnt) {
|
|
378
|
-
if (strcmp(larg, "[hash]") == 0)
|
|
379
|
-
cfg.dstPrintHash = true;
|
|
380
|
-
else
|
|
381
|
-
strcpy(cfg.dstPath, arg);
|
|
382
|
-
}
|
|
383
|
-
posArgsCnt++;
|
|
384
|
-
}
|
|
385
|
-
else
|
|
386
|
-
logprintf("Ignored command line parameter: %s\n", arg);
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
Check(posArgsCnt == 2, "Must specify input and output files as two positional arguments\n");
|
|
390
|
-
cfg.Init();
|
|
391
|
-
logprintf("\n");
|
|
392
|
-
|
|
393
|
-
int errorCounter = 0;
|
|
394
|
-
BaseBufferProcessor *processor = GenerateProcessor(
|
|
395
|
-
cfg.srcFormat,
|
|
396
|
-
cfg.dstFormat,
|
|
397
|
-
cfg.maxBytesFast,
|
|
398
|
-
cfg.checkMode,
|
|
399
|
-
cfg.smallConverter ? 1 : 4,
|
|
400
|
-
cfg.errorCorrection ? &errorCounter : 0
|
|
401
|
-
);
|
|
402
|
-
Check(processor, "Cannot generate processor with specified parameters!\n");
|
|
403
|
-
|
|
404
|
-
ConversionResult allResult;
|
|
405
|
-
clock_t startTime = clock();
|
|
406
|
-
uint64_t startTicks = get_ticks();
|
|
407
|
-
if (cfg.fileToFile) {
|
|
408
|
-
for (int r = 0; r < cfg.numberOfRuns; r++) {
|
|
409
|
-
ConvertFilesSettings settings;
|
|
410
|
-
#ifdef _WIN32
|
|
411
|
-
settings.type = ftMemoryMapWhole;
|
|
412
|
-
#endif
|
|
413
|
-
ConversionResult convres = ConvertFile(*processor, cfg.srcPath, cfg.dstPath, settings);
|
|
414
|
-
if (r && !IsSameResult(allResult, convres))
|
|
415
|
-
logprintf("Consecutive conversion runs produce different results!\n");
|
|
416
|
-
allResult = convres;
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
else {
|
|
420
|
-
char *inputData = 0;
|
|
421
|
-
long long inputSize = 0;
|
|
422
|
-
if (cfg.srcRandomLen >= 0) {
|
|
423
|
-
GenerateRandomSource(inputData, inputSize, cfg.srcFormat, cfg.srcRandomLen, cfg.srcRandomChars);
|
|
424
|
-
logprintf("Generated random input buffer\n");
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
427
|
-
ReadFileContents(cfg.srcPath, inputData, inputSize);
|
|
428
|
-
logprintf("Read input buffer from file\n");
|
|
429
|
-
}
|
|
430
|
-
if (cfg.countBytes)
|
|
431
|
-
PrintByteCounts(inputData, inputSize);
|
|
432
|
-
|
|
433
|
-
char *outputData = 0;
|
|
434
|
-
long long outputSize = ConvertInMemorySize(*processor, inputSize, &outputData);
|
|
435
|
-
|
|
436
|
-
for (int r = 0; r < cfg.numberOfRuns; r++) {
|
|
437
|
-
ConversionResult convres = ConvertInMemory(*processor, inputData, inputSize, outputData, outputSize);
|
|
438
|
-
if (r && !IsSameResult(allResult, convres))
|
|
439
|
-
logprintf("Consecutive conversion runs produce different results!\n");
|
|
440
|
-
allResult = convres;
|
|
441
|
-
}
|
|
442
|
-
logprintf("Conversion%s complete\n", (cfg.numberOfRuns == 1 ? "" : " (all runs)"));
|
|
443
|
-
|
|
444
|
-
if (cfg.dstPrintHash) {
|
|
445
|
-
unsigned int hash = GetHashOfBuffer(outputData, allResult.outputSize);
|
|
446
|
-
logprintf("Computed hash value of output: %08X\n", hash);
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
WriteFileContents(cfg.dstPath, outputData, allResult.outputSize);
|
|
450
|
-
logprintf("Wrote output buffer to file\n");
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
delete[] inputData;
|
|
454
|
-
delete[] outputData;
|
|
455
|
-
logprintf("\n");
|
|
456
|
-
}
|
|
457
|
-
clock_t endTime = clock();
|
|
458
|
-
uint64_t endTicks = get_ticks();
|
|
459
|
-
double elapsedTime = double(endTime - startTime) / CLOCKS_PER_SEC;
|
|
460
|
-
|
|
461
|
-
logprintf("The task was finished in %0.3f seconds\n", elapsedTime);
|
|
462
|
-
PrintResult(allResult);
|
|
463
|
-
if (cfg.errorCorrection) {
|
|
464
|
-
if (errorCounter > 0)
|
|
465
|
-
logprintf("Fixed erratic code units: %d\n", errorCounter);
|
|
466
|
-
else
|
|
467
|
-
logprintf("No errors detected\n");
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
delete processor;
|
|
471
|
-
processor = 0;
|
|
472
|
-
|
|
473
|
-
logprintf("\n");
|
|
474
|
-
|
|
475
|
-
#ifdef TIMING
|
|
476
|
-
//internal timings are bad in presence of errors
|
|
477
|
-
if (!(cfg.errorCorrection && errorCounter > 0)) {
|
|
478
|
-
logprintf("Internal timings:\n");
|
|
479
|
-
TimingPrintAll(LOG_FILE);
|
|
480
|
-
}
|
|
481
|
-
#endif
|
|
482
|
-
double ticksPerElem = double(endTicks - startTicks) / cfg.numberOfRuns / allResult.inputSize;
|
|
483
|
-
logprintf("From total time : %0.3lf cyc/el\n", ticksPerElem);
|
|
484
|
-
|
|
485
|
-
return 0;
|
|
486
|
-
}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
#include <stdlib.h>
|
|
2
|
-
#include <stdio.h>
|
|
3
|
-
#include <fcntl.h>
|
|
4
|
-
#ifdef _WIN32
|
|
5
|
-
#include <io.h>
|
|
6
|
-
#else
|
|
7
|
-
#include <sys/io.h>
|
|
8
|
-
#endif
|
|
9
|
-
#include <sys/stat.h>
|
|
10
|
-
#include <time.h>
|
|
11
|
-
#include "iconv/iconv.h"
|
|
12
|
-
|
|
13
|
-
//note: this flag is required on Windows, but unknown on real posix systems
|
|
14
|
-
#ifndef O_BINARY
|
|
15
|
-
#define O_BINARY 0
|
|
16
|
-
#endif
|
|
17
|
-
|
|
18
|
-
//note: the default MSVC value 512 is inefficient today
|
|
19
|
-
#define BUFSIZ (1<<18)
|
|
20
|
-
|
|
21
|
-
//sample taken from https://www.gnu.org/software/libc/manual/html_node/iconv-Examples.html
|
|
22
|
-
//function file2wcs is slightly changed to convert UTF8 to UTF16, plus "result" is global
|
|
23
|
-
int result;
|
|
24
|
-
int
|
|
25
|
-
load_from_utf8_file (int fd, char *outbuf, size_t avail)
|
|
26
|
-
{
|
|
27
|
-
char inbuf[BUFSIZ];
|
|
28
|
-
size_t insize = 0;
|
|
29
|
-
char *wrptr = outbuf;
|
|
30
|
-
result = 0;
|
|
31
|
-
iconv_t cd;
|
|
32
|
-
|
|
33
|
-
cd = iconv_open ("UTF-16LE", "UTF-8");
|
|
34
|
-
if (cd == (iconv_t) -1)
|
|
35
|
-
{
|
|
36
|
-
/* Something went wrong. */
|
|
37
|
-
if (errno == EINVAL)
|
|
38
|
-
fprintf(stderr, "conversion from UTF-8 to UTF-16LE not available\n");
|
|
39
|
-
else
|
|
40
|
-
perror ("iconv_open");
|
|
41
|
-
|
|
42
|
-
/* Terminate the output string. */
|
|
43
|
-
*outbuf = '\0';
|
|
44
|
-
|
|
45
|
-
return -1;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
while (avail > 0)
|
|
49
|
-
{
|
|
50
|
-
size_t nread;
|
|
51
|
-
size_t nconv;
|
|
52
|
-
const char *inptr = inbuf;
|
|
53
|
-
|
|
54
|
-
/* Read more input. */
|
|
55
|
-
nread = read (fd, inbuf + insize, sizeof (inbuf) - insize);
|
|
56
|
-
if (nread == 0)
|
|
57
|
-
{
|
|
58
|
-
/* When we come here the file is completely read.
|
|
59
|
-
This still could mean there are some unused
|
|
60
|
-
characters in the inbuf. Put them back. */
|
|
61
|
-
if (lseek (fd, -(int)insize, SEEK_CUR) == -1)
|
|
62
|
-
result = -1;
|
|
63
|
-
|
|
64
|
-
/* Now write out the byte sequence to get into the
|
|
65
|
-
initial state if this is necessary. */
|
|
66
|
-
iconv (cd, NULL, NULL, &wrptr, &avail);
|
|
67
|
-
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
insize += nread;
|
|
71
|
-
|
|
72
|
-
/* Do the conversion. */
|
|
73
|
-
nconv = iconv (cd, &inptr, &insize, &wrptr, &avail);
|
|
74
|
-
if (nconv == (size_t) -1)
|
|
75
|
-
{
|
|
76
|
-
/* Not everything went right. It might only be
|
|
77
|
-
an unfinished byte sequence at the end of the
|
|
78
|
-
buffer. Or it is a real problem. */
|
|
79
|
-
if (errno == EINVAL)
|
|
80
|
-
/* This is harmless. Simply move the unused
|
|
81
|
-
bytes to the beginning of the buffer so that
|
|
82
|
-
they can be used in the next round. */
|
|
83
|
-
memmove (inbuf, inptr, insize);
|
|
84
|
-
else
|
|
85
|
-
{
|
|
86
|
-
/* It is a real problem. Maybe we ran out of
|
|
87
|
-
space in the output buffer or we have invalid
|
|
88
|
-
input. In any case back the file pointer to
|
|
89
|
-
the position of the last processed byte. */
|
|
90
|
-
lseek (fd, -(int)insize, SEEK_CUR);
|
|
91
|
-
result = -1;
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Terminate the output string. */
|
|
98
|
-
if (avail >= sizeof (char))
|
|
99
|
-
*(wrptr) = '\0';
|
|
100
|
-
|
|
101
|
-
if (iconv_close (cd) != 0)
|
|
102
|
-
perror ("iconv_close");
|
|
103
|
-
|
|
104
|
-
return wrptr - outbuf;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
#define DEFAULT_INPUT_FILE "data_utf8.txt"
|
|
108
|
-
|
|
109
|
-
int main(int argc, char **argv) {
|
|
110
|
-
const char *filename = DEFAULT_INPUT_FILE;
|
|
111
|
-
if (argc >= 2)
|
|
112
|
-
filename = argv[1];
|
|
113
|
-
int fd = open(filename, O_RDONLY | O_BINARY);
|
|
114
|
-
if (fd == -1) {
|
|
115
|
-
perror("open");
|
|
116
|
-
fprintf(stderr, "Most likely input file \"%s\" is missing.\n", filename);
|
|
117
|
-
return 1;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
struct stat stats;
|
|
121
|
-
fstat(fd, &stats);
|
|
122
|
-
|
|
123
|
-
size_t outsize = stats.st_size * 2 + 32;
|
|
124
|
-
char *outbuf = (char*)malloc(outsize);
|
|
125
|
-
|
|
126
|
-
int startclock = clock();
|
|
127
|
-
int convsize = load_from_utf8_file(fd, outbuf, outsize);
|
|
128
|
-
int diffclock = clock() - startclock;
|
|
129
|
-
fprintf(stderr, "Elapsed time: %d ms\n", diffclock * 1000 / CLOCKS_PER_SEC);
|
|
130
|
-
if (convsize < 0) {
|
|
131
|
-
fprintf(stderr, "Conversion not possible.\n");
|
|
132
|
-
return 2;
|
|
133
|
-
}
|
|
134
|
-
if (result == 0)
|
|
135
|
-
fprintf(stderr, "Conversion finished successfully.\n");
|
|
136
|
-
else
|
|
137
|
-
fprintf(stderr, "Error happened during conversion.\n");
|
|
138
|
-
close(fd);
|
|
139
|
-
|
|
140
|
-
unsigned int hash = 0;
|
|
141
|
-
for (int i = 0; i < convsize; i++)
|
|
142
|
-
hash = hash * 31 + outbuf[i];
|
|
143
|
-
fprintf(stderr, "Converted data: size = %d, base-31 poly hash = %08X\n", convsize, hash);
|
|
144
|
-
|
|
145
|
-
if (argc >= 3) {
|
|
146
|
-
filename = argv[2];
|
|
147
|
-
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0644);
|
|
148
|
-
if (fd == -1) {
|
|
149
|
-
perror("open");
|
|
150
|
-
fprintf(stderr, "Cannot open file \"%s\" for writing.\n", filename);
|
|
151
|
-
return 2;
|
|
152
|
-
}
|
|
153
|
-
int wrk = write(fd, outbuf, convsize);
|
|
154
|
-
if (wrk == -1 || wrk < convsize)
|
|
155
|
-
perror("write");
|
|
156
|
-
close(fd);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
free(outbuf);
|
|
160
|
-
|
|
161
|
-
return 0;
|
|
162
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// This master header file was added by D. Lemire in April 2021 to ease integration
|
|
3
|
-
// in simdutf.
|
|
4
|
-
#ifndef UTF8LUT_H
|
|
5
|
-
#define UTF8LUT_H
|
|
6
|
-
#include "message/MessageConverter.h"
|
|
7
|
-
#include "message/MessageConverter.cpp"
|
|
8
|
-
|
|
9
|
-
#include "buffer/ProcessorSelector.h"
|
|
10
|
-
#include "buffer/BaseBufferProcessor.cpp"
|
|
11
|
-
|
|
12
|
-
#include "core/DecoderLut.cpp"
|
|
13
|
-
#include "core/EncoderLut.cpp"
|
|
14
|
-
|
|
15
|
-
#endif
|