react-native-quick-crypto 1.0.19 → 1.1.0
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/QuickCrypto.podspec +12 -38
- package/README.md +2 -0
- package/android/CMakeLists.txt +3 -0
- package/cpp/utils/HybridUtils.cpp +39 -77
- package/deps/simdutf/.clang-format +4 -0
- package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +62 -0
- package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +1 -0
- package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +35 -0
- package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +29 -0
- package/deps/simdutf/.github/pull_request_template.md +51 -0
- package/deps/simdutf/.github/workflows/aarch64.yml +39 -0
- package/deps/simdutf/.github/workflows/alpine.yml +27 -0
- package/deps/simdutf/.github/workflows/amalgamation_demos.yml +34 -0
- package/deps/simdutf/.github/workflows/armv7.yml +32 -0
- package/deps/simdutf/.github/workflows/atomic_fuzz.yml +25 -0
- package/deps/simdutf/.github/workflows/cifuzz.yml +37 -0
- package/deps/simdutf/.github/workflows/clangformat.yml +36 -0
- package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +40 -0
- package/deps/simdutf/.github/workflows/debian.yml +33 -0
- package/deps/simdutf/.github/workflows/documentation.yml +36 -0
- package/deps/simdutf/.github/workflows/emscripten.yml +19 -0
- package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +39 -0
- package/deps/simdutf/.github/workflows/macos-latest.yml +29 -0
- package/deps/simdutf/.github/workflows/msys2-clang.yml +48 -0
- package/deps/simdutf/.github/workflows/msys2.yml +50 -0
- package/deps/simdutf/.github/workflows/ppc64le.yml +29 -0
- package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +35 -0
- package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +35 -0
- package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +31 -0
- package/deps/simdutf/.github/workflows/s390x.yml +29 -0
- package/deps/simdutf/.github/workflows/selective-amalgamation.yml +29 -0
- package/deps/simdutf/.github/workflows/typos.yml +19 -0
- package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +30 -0
- package/deps/simdutf/.github/workflows/ubuntu22.yml +32 -0
- package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +27 -0
- package/deps/simdutf/.github/workflows/ubuntu22sani.yml +29 -0
- package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +34 -0
- package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +34 -0
- package/deps/simdutf/.github/workflows/ubuntu24.yml +32 -0
- package/deps/simdutf/.github/workflows/ubuntu24sani.yml +36 -0
- package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +29 -0
- package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +21 -0
- package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +41 -0
- package/deps/simdutf/.github/workflows/vs17-ci.yml +41 -0
- package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +41 -0
- package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +36 -0
- package/deps/simdutf/AI_USAGE_POLICY.md +56 -0
- package/deps/simdutf/AUTHORS +6 -0
- package/deps/simdutf/CMakeLists.txt +231 -0
- package/deps/simdutf/CONTRIBUTING.md +214 -0
- package/deps/simdutf/CONTRIBUTORS +1 -0
- package/deps/simdutf/Doxyfile +2584 -0
- package/deps/simdutf/LICENSE-APACHE +201 -0
- package/deps/simdutf/LICENSE-MIT +18 -0
- package/deps/simdutf/Makefile.crosscompile +54 -0
- package/deps/simdutf/README-RVV.md +16 -0
- package/deps/simdutf/README.md +2782 -0
- package/deps/simdutf/SECURITY.md +8 -0
- package/deps/simdutf/benchmarks/CMakeLists.txt +101 -0
- package/deps/simdutf/benchmarks/alignment.cpp +150 -0
- package/deps/simdutf/benchmarks/base64/CMakeLists.txt +30 -0
- package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +875 -0
- package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +49 -0
- package/deps/simdutf/benchmarks/base64/node_base64.h +227 -0
- package/deps/simdutf/benchmarks/base64/openssl3_base64.h +334 -0
- package/deps/simdutf/benchmarks/benchmark.cpp +65 -0
- package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +347 -0
- package/deps/simdutf/benchmarks/competition/.clang-format-ignore +5 -0
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +1276 -0
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +595 -0
- package/deps/simdutf/benchmarks/competition/README.md +7 -0
- package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +91 -0
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +444 -0
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +13183 -0
- package/deps/simdutf/benchmarks/competition/inoue2008/script.py +73 -0
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +738 -0
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +293 -0
- package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +8 -0
- package/deps/simdutf/benchmarks/competition/u8u16/Makefile +44 -0
- package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +169 -0
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +148 -0
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +45 -0
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +34 -0
- package/deps/simdutf/benchmarks/competition/u8u16/README +56 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +43 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +27 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +16 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +18 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +16 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +28 -0
- package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +20 -0
- package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +2 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +440 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +121 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +158 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +270 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +141 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +216 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +119 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +2430 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +39 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +421 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +836 -0
- package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +222 -0
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +4 -0
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +5 -0
- package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +390 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +18 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +448 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +284 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +1975 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +2263 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +239 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +232 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +194 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +193 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +167 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +288 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +117 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +2 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +2 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +3 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +2 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +2 -0
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +3 -0
- package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +2 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +23 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +44 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +106 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +11 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +13 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +13 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +13 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +14 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +11 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +8 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +12 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +13 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +14 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +11 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +8 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +11 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +12 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +13 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +10 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +9 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +25 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +94 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +20 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +2 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +1 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +75 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +47 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +17 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +76 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +35 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +117 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +210 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +158 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +104 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +334 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +186 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +140 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +42 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +100 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +57 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +85 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +27 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +126 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +108 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +139 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +74 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +65 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +91 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +772 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +12 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +486 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +162 -0
- package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +15 -0
- package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +292 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +23 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/README.md +1503 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +335 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +338 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +103 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +103 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +274 -0
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +34 -0
- package/deps/simdutf/benchmarks/dataset/README.md +155 -0
- package/deps/simdutf/benchmarks/dataset/emoji.txt +204 -0
- package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +40 -0
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +80 -0
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +20 -0
- package/deps/simdutf/benchmarks/find/CMakeLists.txt +6 -0
- package/deps/simdutf/benchmarks/find/findbenchmark.cpp +63 -0
- package/deps/simdutf/benchmarks/find/findbenchmarker.h +46 -0
- package/deps/simdutf/benchmarks/shortbench.cpp +555 -0
- package/deps/simdutf/benchmarks/src/CMakeLists.txt +52 -0
- package/deps/simdutf/benchmarks/src/apple_arm_events.h +1104 -0
- package/deps/simdutf/benchmarks/src/benchmark.cpp +3899 -0
- package/deps/simdutf/benchmarks/src/benchmark.h +317 -0
- package/deps/simdutf/benchmarks/src/benchmark_base.cpp +144 -0
- package/deps/simdutf/benchmarks/src/benchmark_base.h +98 -0
- package/deps/simdutf/benchmarks/src/cmdline.cpp +176 -0
- package/deps/simdutf/benchmarks/src/cmdline.h +35 -0
- package/deps/simdutf/benchmarks/src/event_counter.h +162 -0
- package/deps/simdutf/benchmarks/src/linux-perf-events.h +104 -0
- package/deps/simdutf/benchmarks/stream.cpp +209 -0
- package/deps/simdutf/benchmarks/threaded.cpp +123 -0
- package/deps/simdutf/cmake/CPM.cmake +1363 -0
- package/deps/simdutf/cmake/JoinPaths.cmake +23 -0
- package/deps/simdutf/cmake/add_cpp_test.cmake +68 -0
- package/deps/simdutf/cmake/simdutf-config.cmake.in +2 -0
- package/deps/simdutf/cmake/simdutf-flags.cmake +26 -0
- package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +4 -0
- package/deps/simdutf/cmake/toolchains-dev/README.md +32 -0
- package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +14 -0
- package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +22 -0
- package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +16 -0
- package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +16 -0
- package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +16 -0
- package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +38 -0
- package/deps/simdutf/doc/avx512.png +0 -0
- package/deps/simdutf/doc/logo.png +0 -0
- package/deps/simdutf/doc/logo.svg +165 -0
- package/deps/simdutf/doc/node2023.png +0 -0
- package/deps/simdutf/doc/shortinput.md +78 -0
- 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 +50 -0
- package/deps/simdutf/fuzz/.clang-format +9 -0
- package/deps/simdutf/fuzz/CMakeLists.txt +45 -0
- package/deps/simdutf/fuzz/README.md +168 -0
- package/deps/simdutf/fuzz/atomic_base64.cpp +448 -0
- package/deps/simdutf/fuzz/base64.cpp +278 -0
- package/deps/simdutf/fuzz/build.sh +83 -0
- package/deps/simdutf/fuzz/conversion.cpp +669 -0
- package/deps/simdutf/fuzz/helpers/.clang-format-ignore +1 -0
- package/deps/simdutf/fuzz/helpers/common.h +135 -0
- package/deps/simdutf/fuzz/helpers/nameof.hpp +1258 -0
- package/deps/simdutf/fuzz/main.cpp +72 -0
- package/deps/simdutf/fuzz/minimize_and_cleanse.sh +87 -0
- package/deps/simdutf/fuzz/misc.cpp +216 -0
- package/deps/simdutf/fuzz/random_fuzz.sh +154 -0
- package/deps/simdutf/fuzz/roundtrip.cpp +588 -0
- package/deps/simdutf/fuzz/safe_conversion.cpp +104 -0
- package/deps/simdutf/include/simdutf/avx512.h +79 -0
- package/deps/simdutf/include/simdutf/base64_implementation.h +158 -0
- package/deps/simdutf/include/simdutf/base64_tables.h +887 -0
- package/deps/simdutf/include/simdutf/common_defs.h +186 -0
- package/deps/simdutf/include/simdutf/compiler_check.h +50 -0
- package/deps/simdutf/include/simdutf/constexpr_ptr.h +138 -0
- package/deps/simdutf/include/simdutf/encoding_types.h +189 -0
- package/deps/simdutf/include/simdutf/error.h +126 -0
- package/deps/simdutf/include/simdutf/implementation.h +7081 -0
- package/deps/simdutf/include/simdutf/internal/isadetection.h +325 -0
- package/deps/simdutf/include/simdutf/portability.h +285 -0
- package/deps/simdutf/include/simdutf/scalar/ascii.h +86 -0
- package/deps/simdutf/include/simdutf/scalar/atomic_util.h +105 -0
- package/deps/simdutf/include/simdutf/scalar/base64.h +911 -0
- package/deps/simdutf/include/simdutf/scalar/latin1.h +26 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf16/latin1_to_utf16.h +52 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf32/latin1_to_utf32.h +27 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf8/latin1_to_utf8.h +191 -0
- package/deps/simdutf/include/simdutf/scalar/swap_bytes.h +35 -0
- package/deps/simdutf/include/simdutf/scalar/utf16.h +226 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/utf16_to_latin1.h +108 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/valid_utf16_to_latin1.h +40 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/utf16_to_utf32.h +86 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/valid_utf16_to_utf32.h +44 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/utf16_to_utf8.h +295 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/valid_utf16_to_utf8.h +91 -0
- package/deps/simdutf/include/simdutf/scalar/utf32.h +82 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/utf32_to_latin1.h +68 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/valid_utf32_to_latin1.h +67 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/utf32_to_utf16.h +84 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/valid_utf32_to_utf16.h +44 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/utf32_to_utf8.h +142 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/valid_utf32_to_utf8.h +72 -0
- package/deps/simdutf/include/simdutf/scalar/utf8.h +326 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/utf8_to_latin1.h +225 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/valid_utf8_to_latin1.h +87 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16.h +342 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/valid_utf8_to_utf16.h +106 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/utf8_to_utf32.h +299 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/valid_utf8_to_utf32.h +83 -0
- package/deps/simdutf/include/simdutf/simdutf_version.h +26 -0
- package/deps/simdutf/include/simdutf.h +26 -0
- package/deps/simdutf/include/simdutf_c.h +342 -0
- package/deps/simdutf/riscv/Dockerfile +16 -0
- package/deps/simdutf/riscv/README.md +24 -0
- package/deps/simdutf/riscv/remove-docker-station +8 -0
- package/deps/simdutf/riscv/run-docker-station +31 -0
- package/deps/simdutf/scripts/.flake8 +2 -0
- package/deps/simdutf/scripts/Makefile +2 -0
- package/deps/simdutf/scripts/README_ADD_FUNCTION.md +49 -0
- package/deps/simdutf/scripts/add_function.py +330 -0
- package/deps/simdutf/scripts/amalgamation_tests.py +156 -0
- package/deps/simdutf/scripts/base64/Makefile +2 -0
- package/deps/simdutf/scripts/base64/README.md +2 -0
- package/deps/simdutf/scripts/base64/avx512.py +76 -0
- package/deps/simdutf/scripts/base64/neon_decode.py +143 -0
- package/deps/simdutf/scripts/base64/neon_generate_lut.py +101 -0
- package/deps/simdutf/scripts/base64/sse.py +252 -0
- package/deps/simdutf/scripts/base64/sseregular.py +160 -0
- package/deps/simdutf/scripts/base64/sseurl.py +283 -0
- package/deps/simdutf/scripts/base64/table.py +59 -0
- package/deps/simdutf/scripts/base64bench_print.py +145 -0
- package/deps/simdutf/scripts/benchmark-all.py +119 -0
- package/deps/simdutf/scripts/benchmark_print.py +324 -0
- package/deps/simdutf/scripts/check_feature_macros.py +156 -0
- package/deps/simdutf/scripts/check_typos.sh +13 -0
- package/deps/simdutf/scripts/clang_format.sh +35 -0
- package/deps/simdutf/scripts/clang_format_docker.sh +38 -0
- package/deps/simdutf/scripts/common.py +24 -0
- package/deps/simdutf/scripts/compilation_benchmark.py +55 -0
- package/deps/simdutf/scripts/compile_many_variations.sh +64 -0
- package/deps/simdutf/scripts/create_latex_table.py +62 -0
- package/deps/simdutf/scripts/docker/Dockerfile +14 -0
- package/deps/simdutf/scripts/docker/Makefile +9 -0
- package/deps/simdutf/scripts/docker/README.md +30 -0
- package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
- package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +155 -0
- package/deps/simdutf/scripts/prepare_doxygen.sh +21 -0
- package/deps/simdutf/scripts/release.py +197 -0
- package/deps/simdutf/scripts/shortinputplots.py +97 -0
- package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +422 -0
- package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +105 -0
- package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +186 -0
- package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +137 -0
- package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +129 -0
- package/deps/simdutf/scripts/table.py +207 -0
- package/deps/simdutf/scripts/tests/new.txt +33 -0
- package/deps/simdutf/scripts/tests/old.txt +33 -0
- package/deps/simdutf/scripts/tests/results.txt +272 -0
- package/deps/simdutf/simdutf.pc.in +11 -0
- package/deps/simdutf/singleheader/.flake8 +2 -0
- package/deps/simdutf/singleheader/CMakeLists.txt +64 -0
- package/deps/simdutf/singleheader/README-dev.md +81 -0
- package/deps/simdutf/singleheader/README.md +19 -0
- package/deps/simdutf/singleheader/amalgamate.py +513 -0
- package/deps/simdutf/singleheader/amalgamation_demo.c +59 -0
- package/deps/simdutf/singleheader/amalgamation_demo.cpp +54 -0
- package/deps/simdutf/singleheader/test-features.py +262 -0
- package/deps/simdutf/src/CMakeLists.txt +78 -0
- package/deps/simdutf/src/arm64/arm_base64.cpp +791 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf16.cpp +24 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf32.cpp +24 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf8.cpp +70 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_latin1.cpp +61 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf32.cpp +185 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf8.cpp +780 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_latin1.cpp +60 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf16.cpp +208 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf8.cpp +505 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_latin1.cpp +69 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf16.cpp +313 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf32.cpp +179 -0
- package/deps/simdutf/src/arm64/arm_find.cpp +199 -0
- package/deps/simdutf/src/arm64/arm_utf16fix.cpp +185 -0
- package/deps/simdutf/src/arm64/arm_validate_utf16.cpp +165 -0
- package/deps/simdutf/src/arm64/arm_validate_utf32le.cpp +65 -0
- package/deps/simdutf/src/arm64/implementation.cpp +1442 -0
- package/deps/simdutf/src/encoding_types.cpp +67 -0
- package/deps/simdutf/src/error.cpp +3 -0
- package/deps/simdutf/src/fallback/implementation.cpp +589 -0
- package/deps/simdutf/src/generic/ascii_validation.h +50 -0
- package/deps/simdutf/src/generic/base64.h +233 -0
- package/deps/simdutf/src/generic/base64lengths.h +63 -0
- package/deps/simdutf/src/generic/buf_block_reader.h +109 -0
- package/deps/simdutf/src/generic/find.h +75 -0
- package/deps/simdutf/src/generic/utf16/change_endianness.h +24 -0
- package/deps/simdutf/src/generic/utf16/count_code_points_bytemask.h +58 -0
- package/deps/simdutf/src/generic/utf16/to_well_formed.h +93 -0
- package/deps/simdutf/src/generic/utf16/utf32_length_from_utf16.h +15 -0
- package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16.h +35 -0
- package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16_bytemask.h +199 -0
- package/deps/simdutf/src/generic/utf16.h +73 -0
- package/deps/simdutf/src/generic/utf32.h +136 -0
- package/deps/simdutf/src/generic/utf8/utf16_length_from_utf8_bytemask.h +53 -0
- package/deps/simdutf/src/generic/utf8.h +92 -0
- package/deps/simdutf/src/generic/utf8_to_latin1/utf8_to_latin1.h +316 -0
- package/deps/simdutf/src/generic/utf8_to_latin1/valid_utf8_to_latin1.h +78 -0
- package/deps/simdutf/src/generic/utf8_to_utf16/utf8_to_utf16.h +332 -0
- package/deps/simdutf/src/generic/utf8_to_utf16/valid_utf8_to_utf16.h +74 -0
- package/deps/simdutf/src/generic/utf8_to_utf32/utf8_to_utf32.h +318 -0
- package/deps/simdutf/src/generic/utf8_to_utf32/valid_utf8_to_utf32.h +42 -0
- package/deps/simdutf/src/generic/utf8_validation/utf8_lookup4_algorithm.h +223 -0
- package/deps/simdutf/src/generic/utf8_validation/utf8_validator.h +84 -0
- package/deps/simdutf/src/generic/validate_utf16.h +164 -0
- package/deps/simdutf/src/generic/validate_utf32.h +99 -0
- package/deps/simdutf/src/haswell/avx2_base64.cpp +837 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf16.cpp +28 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf32.cpp +20 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf8.cpp +83 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_latin1.cpp +83 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf32.cpp +210 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf8.cpp +602 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_latin1.cpp +116 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf16.cpp +164 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf8.cpp +569 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_latin1.cpp +60 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf16.cpp +195 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf32.cpp +135 -0
- package/deps/simdutf/src/haswell/avx2_utf16fix.cpp +173 -0
- package/deps/simdutf/src/haswell/avx2_validate_utf16.cpp +17 -0
- package/deps/simdutf/src/haswell/implementation.cpp +1447 -0
- package/deps/simdutf/src/icelake/icelake_ascii_validation.inl.cpp +19 -0
- package/deps/simdutf/src/icelake/icelake_base64.inl.cpp +630 -0
- package/deps/simdutf/src/icelake/icelake_common.inl.cpp +37 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf16.inl.cpp +36 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf32.inl.cpp +23 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf8.inl.cpp +107 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_latin1.inl.cpp +103 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf32.inl.cpp +136 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf8.inl.cpp +206 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_latin1.inl.cpp +74 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf16.inl.cpp +338 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf8.inl.cpp +574 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf8_to_latin1.inl.cpp +104 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf8_to_utf16.inl.cpp +75 -0
- package/deps/simdutf/src/icelake/icelake_convert_valid_utf8_to_latin1.inl.cpp +69 -0
- package/deps/simdutf/src/icelake/icelake_find.inl.cpp +146 -0
- package/deps/simdutf/src/icelake/icelake_from_utf8.inl.cpp +266 -0
- package/deps/simdutf/src/icelake/icelake_from_valid_utf8.inl.cpp +136 -0
- package/deps/simdutf/src/icelake/icelake_macros.inl.cpp +143 -0
- package/deps/simdutf/src/icelake/icelake_utf16fix.cpp +138 -0
- package/deps/simdutf/src/icelake/icelake_utf32_validation.inl.cpp +63 -0
- package/deps/simdutf/src/icelake/icelake_utf8_common.inl.cpp +753 -0
- package/deps/simdutf/src/icelake/icelake_utf8_length_from_utf16.inl.cpp +269 -0
- package/deps/simdutf/src/icelake/icelake_utf8_validation.inl.cpp +116 -0
- package/deps/simdutf/src/icelake/implementation.cpp +1903 -0
- package/deps/simdutf/src/implementation.cpp +2526 -0
- package/deps/simdutf/src/lasx/implementation.cpp +1531 -0
- package/deps/simdutf/src/lasx/lasx_base64.cpp +695 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf16.cpp +76 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf32.cpp +55 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf8.cpp +65 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_latin1.cpp +64 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf32.cpp +183 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf8.cpp +550 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_latin1.cpp +73 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf16.cpp +218 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf8.cpp +589 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_latin1.cpp +72 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf16.cpp +296 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf32.cpp +190 -0
- package/deps/simdutf/src/lasx/lasx_find.cpp +64 -0
- package/deps/simdutf/src/lasx/lasx_validate_utf16.cpp +13 -0
- package/deps/simdutf/src/lasx/lasx_validate_utf32le.cpp +84 -0
- package/deps/simdutf/src/lsx/implementation.cpp +1417 -0
- package/deps/simdutf/src/lsx/lsx_base64.cpp +675 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf16.cpp +39 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf32.cpp +27 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf8.cpp +56 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_latin1.cpp +64 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf32.cpp +133 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf8.cpp +518 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_latin1.cpp +66 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf16.cpp +155 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf8.cpp +459 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_latin1.cpp +75 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf16.cpp +291 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf32.cpp +179 -0
- package/deps/simdutf/src/lsx/lsx_find.cpp +60 -0
- package/deps/simdutf/src/lsx/lsx_validate_utf16.cpp +13 -0
- package/deps/simdutf/src/lsx/lsx_validate_utf32le.cpp +68 -0
- package/deps/simdutf/src/ppc64/implementation.cpp +992 -0
- package/deps/simdutf/src/ppc64/ppc64_base64.cpp +480 -0
- package/deps/simdutf/src/ppc64/ppc64_base64_internal_tests.cpp +401 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf16.cpp +12 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf32.cpp +12 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf8.cpp +149 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_latin1.cpp +67 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf32.cpp +87 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf8.cpp +296 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_latin1.cpp +57 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf16.cpp +117 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf8.cpp +166 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_latin1.cpp +69 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf16.cpp +211 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf32.cpp +153 -0
- package/deps/simdutf/src/ppc64/ppc64_utf16_to_utf8_tables.h +1011 -0
- package/deps/simdutf/src/ppc64/ppc64_utf8_length_from_latin1.cpp +37 -0
- package/deps/simdutf/src/ppc64/ppc64_validate_utf16.cpp +19 -0
- package/deps/simdutf/src/ppc64/templates.cpp +91 -0
- package/deps/simdutf/src/rvv/implementation.cpp +138 -0
- package/deps/simdutf/src/rvv/rvv_find.cpp +27 -0
- package/deps/simdutf/src/rvv/rvv_helpers.inl.cpp +23 -0
- package/deps/simdutf/src/rvv/rvv_latin1_to.inl.cpp +71 -0
- package/deps/simdutf/src/rvv/rvv_length_from.inl.cpp +164 -0
- package/deps/simdutf/src/rvv/rvv_utf16_to.inl.cpp +399 -0
- package/deps/simdutf/src/rvv/rvv_utf16fix.cpp +110 -0
- package/deps/simdutf/src/rvv/rvv_utf32_to.inl.cpp +307 -0
- package/deps/simdutf/src/rvv/rvv_utf8_to.inl.cpp +435 -0
- package/deps/simdutf/src/rvv/rvv_validate.inl.cpp +275 -0
- package/deps/simdutf/src/simdutf/arm64/begin.h +2 -0
- package/deps/simdutf/src/simdutf/arm64/bitmanipulation.h +34 -0
- package/deps/simdutf/src/simdutf/arm64/end.h +2 -0
- package/deps/simdutf/src/simdutf/arm64/implementation.h +307 -0
- package/deps/simdutf/src/simdutf/arm64/intrinsics.h +10 -0
- package/deps/simdutf/src/simdutf/arm64/simd.h +547 -0
- package/deps/simdutf/src/simdutf/arm64/simd16-inl.h +403 -0
- package/deps/simdutf/src/simdutf/arm64/simd32-inl.h +129 -0
- package/deps/simdutf/src/simdutf/arm64/simd64-inl.h +28 -0
- package/deps/simdutf/src/simdutf/arm64.h +43 -0
- package/deps/simdutf/src/simdutf/fallback/begin.h +1 -0
- package/deps/simdutf/src/simdutf/fallback/bitmanipulation.h +13 -0
- package/deps/simdutf/src/simdutf/fallback/end.h +1 -0
- package/deps/simdutf/src/simdutf/fallback/implementation.h +331 -0
- package/deps/simdutf/src/simdutf/fallback.h +42 -0
- package/deps/simdutf/src/simdutf/haswell/begin.h +15 -0
- package/deps/simdutf/src/simdutf/haswell/bitmanipulation.h +35 -0
- package/deps/simdutf/src/simdutf/haswell/end.h +13 -0
- package/deps/simdutf/src/simdutf/haswell/implementation.h +338 -0
- package/deps/simdutf/src/simdutf/haswell/intrinsics.h +67 -0
- package/deps/simdutf/src/simdutf/haswell/simd.h +363 -0
- package/deps/simdutf/src/simdutf/haswell/simd16-inl.h +261 -0
- package/deps/simdutf/src/simdutf/haswell/simd32-inl.h +111 -0
- package/deps/simdutf/src/simdutf/haswell/simd64-inl.h +34 -0
- package/deps/simdutf/src/simdutf/haswell.h +63 -0
- package/deps/simdutf/src/simdutf/icelake/begin.h +14 -0
- package/deps/simdutf/src/simdutf/icelake/bitmanipulation.h +44 -0
- package/deps/simdutf/src/simdutf/icelake/end.h +12 -0
- package/deps/simdutf/src/simdutf/icelake/implementation.h +346 -0
- package/deps/simdutf/src/simdutf/icelake/intrinsics.h +138 -0
- package/deps/simdutf/src/simdutf/icelake/simd.h +17 -0
- package/deps/simdutf/src/simdutf/icelake/simd16-inl.h +90 -0
- package/deps/simdutf/src/simdutf/icelake/simd32-inl.h +47 -0
- package/deps/simdutf/src/simdutf/icelake.h +81 -0
- package/deps/simdutf/src/simdutf/lasx/begin.h +8 -0
- package/deps/simdutf/src/simdutf/lasx/bitmanipulation.h +25 -0
- package/deps/simdutf/src/simdutf/lasx/end.h +8 -0
- package/deps/simdutf/src/simdutf/lasx/implementation.h +310 -0
- package/deps/simdutf/src/simdutf/lasx/intrinsics.h +319 -0
- package/deps/simdutf/src/simdutf/lasx/simd.h +551 -0
- package/deps/simdutf/src/simdutf/lasx/simd16-inl.h +234 -0
- package/deps/simdutf/src/simdutf/lasx/simd32-inl.h +74 -0
- package/deps/simdutf/src/simdutf/lasx/simd64-inl.h +52 -0
- package/deps/simdutf/src/simdutf/lasx.h +49 -0
- package/deps/simdutf/src/simdutf/lsx/begin.h +2 -0
- package/deps/simdutf/src/simdutf/lsx/bitmanipulation.h +25 -0
- package/deps/simdutf/src/simdutf/lsx/end.h +2 -0
- package/deps/simdutf/src/simdutf/lsx/implementation.h +309 -0
- package/deps/simdutf/src/simdutf/lsx/intrinsics.h +196 -0
- package/deps/simdutf/src/simdutf/lsx/simd.h +421 -0
- package/deps/simdutf/src/simdutf/lsx/simd16-inl.h +242 -0
- package/deps/simdutf/src/simdutf/lsx/simd32-inl.h +69 -0
- package/deps/simdutf/src/simdutf/lsx/simd64-inl.h +50 -0
- package/deps/simdutf/src/simdutf/lsx.h +52 -0
- package/deps/simdutf/src/simdutf/ppc64/begin.h +1 -0
- package/deps/simdutf/src/simdutf/ppc64/bitmanipulation.h +29 -0
- package/deps/simdutf/src/simdutf/ppc64/end.h +1 -0
- package/deps/simdutf/src/simdutf/ppc64/implementation.h +348 -0
- package/deps/simdutf/src/simdutf/ppc64/intrinsics.h +19 -0
- package/deps/simdutf/src/simdutf/ppc64/simd.h +177 -0
- package/deps/simdutf/src/simdutf/ppc64/simd16-inl.h +327 -0
- package/deps/simdutf/src/simdutf/ppc64/simd32-inl.h +247 -0
- package/deps/simdutf/src/simdutf/ppc64/simd8-inl.h +618 -0
- package/deps/simdutf/src/simdutf/ppc64.h +40 -0
- package/deps/simdutf/src/simdutf/rvv/begin.h +7 -0
- package/deps/simdutf/src/simdutf/rvv/end.h +7 -0
- package/deps/simdutf/src/simdutf/rvv/implementation.h +321 -0
- package/deps/simdutf/src/simdutf/rvv/intrinsics.h +131 -0
- package/deps/simdutf/src/simdutf/rvv.h +41 -0
- package/deps/simdutf/src/simdutf/westmere/begin.h +8 -0
- package/deps/simdutf/src/simdutf/westmere/bitmanipulation.h +37 -0
- package/deps/simdutf/src/simdutf/westmere/end.h +8 -0
- package/deps/simdutf/src/simdutf/westmere/implementation.h +338 -0
- package/deps/simdutf/src/simdutf/westmere/intrinsics.h +38 -0
- package/deps/simdutf/src/simdutf/westmere/simd.h +379 -0
- package/deps/simdutf/src/simdutf/westmere/simd16-inl.h +242 -0
- package/deps/simdutf/src/simdutf/westmere/simd32-inl.h +151 -0
- package/deps/simdutf/src/simdutf/westmere/simd64-inl.h +33 -0
- package/deps/simdutf/src/simdutf/westmere.h +59 -0
- package/deps/simdutf/src/simdutf.cpp +152 -0
- package/deps/simdutf/src/simdutf_c.cpp +525 -0
- package/deps/simdutf/src/tables/utf16_to_utf8_tables.h +768 -0
- package/deps/simdutf/src/tables/utf32_to_utf16_tables.h +53 -0
- package/deps/simdutf/src/tables/utf8_to_utf16_tables.h +826 -0
- package/deps/simdutf/src/westmere/implementation.cpp +1479 -0
- package/deps/simdutf/src/westmere/internal/loader.cpp +7 -0
- package/deps/simdutf/src/westmere/internal/write_v_u16_11bits_to_utf8.cpp +66 -0
- package/deps/simdutf/src/westmere/sse_base64.cpp +672 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf16.cpp +21 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf32.cpp +31 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf8.cpp +71 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_latin1.cpp +70 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf32.cpp +206 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf8.cpp +504 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_latin1.cpp +82 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf16.cpp +209 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf8.cpp +589 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_latin1.cpp +58 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf16.cpp +197 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf32.cpp +141 -0
- package/deps/simdutf/src/westmere/sse_utf16fix.cpp +82 -0
- package/deps/simdutf/src/westmere/sse_validate_utf16.cpp +17 -0
- package/deps/simdutf/tests/CMakeLists.txt +483 -0
- package/deps/simdutf/tests/atomic_base64_tests.cpp +2845 -0
- package/deps/simdutf/tests/base64_tests.cpp +3617 -0
- package/deps/simdutf/tests/basic_fuzzer.cpp +805 -0
- package/deps/simdutf/tests/bele_tests.cpp +182 -0
- package/deps/simdutf/tests/constexpr_base64_tests.cpp +387 -0
- package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +52 -0
- package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +80 -0
- package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +66 -0
- package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +120 -0
- package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +203 -0
- package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +276 -0
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +109 -0
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +136 -0
- package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +193 -0
- package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +381 -0
- package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +259 -0
- package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +266 -0
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +148 -0
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +176 -0
- package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +213 -0
- package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +318 -0
- package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +343 -0
- package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +271 -0
- package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +111 -0
- package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +96 -0
- package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +148 -0
- package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +192 -0
- package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +166 -0
- package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +215 -0
- package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +181 -0
- package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +261 -0
- package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +516 -0
- package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +579 -0
- package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +412 -0
- package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +480 -0
- package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +671 -0
- package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +455 -0
- package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +1204 -0
- package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +337 -0
- package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +37 -0
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +97 -0
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +126 -0
- package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +71 -0
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +122 -0
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +244 -0
- package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +49 -0
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +92 -0
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +114 -0
- package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +109 -0
- package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +84 -0
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +124 -0
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +221 -0
- package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +155 -0
- package/deps/simdutf/tests/count_utf16be.cpp +64 -0
- package/deps/simdutf/tests/count_utf16le.cpp +61 -0
- package/deps/simdutf/tests/count_utf8.cpp +87 -0
- package/deps/simdutf/tests/detect_encodings_tests.cpp +312 -0
- package/deps/simdutf/tests/embed/valid_utf8.txt +1 -0
- package/deps/simdutf/tests/embed_tests.cpp +22 -0
- package/deps/simdutf/tests/find_tests.cpp +77 -0
- package/deps/simdutf/tests/fixed_string_tests.cpp +153 -0
- package/deps/simdutf/tests/helpers/CMakeLists.txt +25 -0
- package/deps/simdutf/tests/helpers/compiletime_conversions.h +222 -0
- package/deps/simdutf/tests/helpers/fixed_string.h +267 -0
- package/deps/simdutf/tests/helpers/random_int.cpp +30 -0
- package/deps/simdutf/tests/helpers/random_int.h +39 -0
- package/deps/simdutf/tests/helpers/random_utf16.cpp +123 -0
- package/deps/simdutf/tests/helpers/random_utf16.h +52 -0
- package/deps/simdutf/tests/helpers/random_utf32.cpp +41 -0
- package/deps/simdutf/tests/helpers/random_utf32.h +40 -0
- package/deps/simdutf/tests/helpers/random_utf8.cpp +93 -0
- package/deps/simdutf/tests/helpers/random_utf8.h +36 -0
- package/deps/simdutf/tests/helpers/test.cpp +231 -0
- package/deps/simdutf/tests/helpers/test.h +193 -0
- package/deps/simdutf/tests/helpers/transcode_test_base.cpp +1257 -0
- package/deps/simdutf/tests/helpers/transcode_test_base.h +683 -0
- package/deps/simdutf/tests/helpers/utf16.h +27 -0
- package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +43 -0
- package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +47 -0
- package/deps/simdutf/tests/internal_tests.cpp +27 -0
- package/deps/simdutf/tests/null_safety_tests.cpp +94 -0
- package/deps/simdutf/tests/random_fuzzer.cpp +779 -0
- package/deps/simdutf/tests/readme_tests.cpp +274 -0
- package/deps/simdutf/tests/reference/CMakeLists.txt +23 -0
- package/deps/simdutf/tests/reference/decode_utf16.h +81 -0
- package/deps/simdutf/tests/reference/decode_utf32.h +47 -0
- package/deps/simdutf/tests/reference/encode_latin1.cpp +1 -0
- package/deps/simdutf/tests/reference/encode_latin1.h +32 -0
- package/deps/simdutf/tests/reference/encode_utf16.cpp +49 -0
- package/deps/simdutf/tests/reference/encode_utf16.h +20 -0
- package/deps/simdutf/tests/reference/encode_utf32.cpp +1 -0
- package/deps/simdutf/tests/reference/encode_utf32.h +36 -0
- package/deps/simdutf/tests/reference/encode_utf8.cpp +1 -0
- package/deps/simdutf/tests/reference/encode_utf8.h +40 -0
- package/deps/simdutf/tests/reference/validate_utf16.cpp +60 -0
- package/deps/simdutf/tests/reference/validate_utf16.h +14 -0
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +35 -0
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +13 -0
- package/deps/simdutf/tests/reference/validate_utf32.cpp +27 -0
- package/deps/simdutf/tests/reference/validate_utf32.h +12 -0
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +27 -0
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +12 -0
- package/deps/simdutf/tests/reference/validate_utf8.cpp +82 -0
- package/deps/simdutf/tests/reference/validate_utf8.h +11 -0
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +43 -0
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +12 -0
- package/deps/simdutf/tests/select_implementation.cpp +43 -0
- package/deps/simdutf/tests/simdutf_c_tests.cpp +244 -0
- package/deps/simdutf/tests/span_tests.cpp +401 -0
- package/deps/simdutf/tests/special_tests.cpp +559 -0
- package/deps/simdutf/tests/straight_c_test.c +187 -0
- package/deps/simdutf/tests/text_encoding_tests.cpp +77 -0
- package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +377 -0
- package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +202 -0
- package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +165 -0
- package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +77 -0
- package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +175 -0
- package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +188 -0
- package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +268 -0
- package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +274 -0
- package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +92 -0
- package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +114 -0
- package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +178 -0
- package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +88 -0
- package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +33 -0
- package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +228 -0
- package/deps/simdutf/tools/CMakeLists.txt +85 -0
- package/deps/simdutf/tools/fastbase64.cpp +250 -0
- package/deps/simdutf/tools/sutf.cpp +556 -0
- package/deps/simdutf/tools/sutf.h +40 -0
- package/package.json +2 -2
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
template <typename T> struct simd32;
|
|
2
|
+
|
|
3
|
+
template <> struct simd32<uint32_t> {
|
|
4
|
+
static const size_t SIZE = sizeof(__m256i);
|
|
5
|
+
static const size_t ELEMENTS = SIZE / sizeof(uint32_t);
|
|
6
|
+
|
|
7
|
+
__m256i value;
|
|
8
|
+
|
|
9
|
+
simdutf_really_inline simd32(const __m256i v) : value(v) {}
|
|
10
|
+
|
|
11
|
+
template <typename Pointer>
|
|
12
|
+
simdutf_really_inline simd32(const Pointer *ptr)
|
|
13
|
+
: value(_mm256_loadu_si256(reinterpret_cast<const __m256i *>(ptr))) {}
|
|
14
|
+
|
|
15
|
+
simdutf_really_inline uint64_t sum() const {
|
|
16
|
+
const __m256i mask = _mm256_set1_epi64x(0xffffffff);
|
|
17
|
+
const __m256i t0 = _mm256_and_si256(value, mask);
|
|
18
|
+
const __m256i t1 = _mm256_srli_epi64(value, 32);
|
|
19
|
+
const __m256i t2 = _mm256_add_epi64(t0, t1);
|
|
20
|
+
|
|
21
|
+
return uint64_t(_mm256_extract_epi64(t2, 0)) +
|
|
22
|
+
uint64_t(_mm256_extract_epi64(t2, 1)) +
|
|
23
|
+
uint64_t(_mm256_extract_epi64(t2, 2)) +
|
|
24
|
+
uint64_t(_mm256_extract_epi64(t2, 3));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
simdutf_really_inline simd32<uint32_t> swap_bytes() const {
|
|
28
|
+
const __m256i shuffle =
|
|
29
|
+
_mm256_setr_epi8(3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12,
|
|
30
|
+
3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12);
|
|
31
|
+
|
|
32
|
+
return _mm256_shuffle_epi8(value, shuffle);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// operators
|
|
36
|
+
simdutf_really_inline simd32 &operator+=(const simd32 other) {
|
|
37
|
+
value = _mm256_add_epi32(value, other.value);
|
|
38
|
+
return *this;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// static members
|
|
42
|
+
simdutf_really_inline static simd32<uint32_t> zero() {
|
|
43
|
+
return _mm256_setzero_si256();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
simdutf_really_inline static simd32<uint32_t> splat(uint32_t v) {
|
|
47
|
+
return _mm256_set1_epi32(v);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
//----------------------------------------------------------------------
|
|
52
|
+
|
|
53
|
+
template <> struct simd32<bool> {
|
|
54
|
+
// static const size_t SIZE = sizeof(__m128i);
|
|
55
|
+
// static const size_t ELEMENTS = SIZE / sizeof(uint32_t);
|
|
56
|
+
|
|
57
|
+
__m256i value;
|
|
58
|
+
|
|
59
|
+
simdutf_really_inline simd32(const __m256i v) : value(v) {}
|
|
60
|
+
|
|
61
|
+
simdutf_really_inline bool any() const {
|
|
62
|
+
return _mm256_movemask_epi8(value) != 0;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//----------------------------------------------------------------------
|
|
67
|
+
|
|
68
|
+
template <typename T>
|
|
69
|
+
simdutf_really_inline simd32<T> operator|(const simd32<T> a,
|
|
70
|
+
const simd32<T> b) {
|
|
71
|
+
return _mm256_or_si256(a.value, b.value);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
simdutf_really_inline simd32<uint32_t> min(const simd32<uint32_t> b,
|
|
75
|
+
const simd32<uint32_t> a) {
|
|
76
|
+
return _mm256_min_epu32(a.value, b.value);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
simdutf_really_inline simd32<uint32_t> max(const simd32<uint32_t> a,
|
|
80
|
+
const simd32<uint32_t> b) {
|
|
81
|
+
return _mm256_max_epu32(a.value, b.value);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
simdutf_really_inline simd32<uint32_t> operator&(const simd32<uint32_t> b,
|
|
85
|
+
const simd32<uint32_t> a) {
|
|
86
|
+
return _mm256_and_si256(a.value, b.value);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
simdutf_really_inline simd32<uint32_t> operator+(const simd32<uint32_t> a,
|
|
90
|
+
const simd32<uint32_t> b) {
|
|
91
|
+
return _mm256_add_epi32(a.value, b.value);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
simdutf_really_inline simd32<bool> operator==(const simd32<uint32_t> a,
|
|
95
|
+
const simd32<uint32_t> b) {
|
|
96
|
+
return _mm256_cmpeq_epi32(a.value, b.value);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
simdutf_really_inline simd32<bool> operator>=(const simd32<uint32_t> a,
|
|
100
|
+
const simd32<uint32_t> b) {
|
|
101
|
+
return _mm256_cmpeq_epi32(_mm256_max_epu32(a.value, b.value), a.value);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
simdutf_really_inline simd32<bool> operator!(const simd32<bool> v) {
|
|
105
|
+
return _mm256_xor_si256(v.value, _mm256_set1_epi8(-1));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
simdutf_really_inline simd32<bool> operator>(const simd32<uint32_t> a,
|
|
109
|
+
const simd32<uint32_t> b) {
|
|
110
|
+
return !(b >= a);
|
|
111
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
template <typename T> struct simd64;
|
|
2
|
+
|
|
3
|
+
template <> struct simd64<uint64_t> {
|
|
4
|
+
// static const size_t SIZE = sizeof(__m256i);
|
|
5
|
+
// static const size_t ELEMENTS = SIZE / sizeof(uint64_t);
|
|
6
|
+
|
|
7
|
+
__m256i value;
|
|
8
|
+
|
|
9
|
+
simdutf_really_inline simd64(const __m256i v) : value(v) {}
|
|
10
|
+
|
|
11
|
+
template <typename Pointer>
|
|
12
|
+
simdutf_really_inline simd64(const Pointer *ptr)
|
|
13
|
+
: value(_mm256_loadu_si256(reinterpret_cast<const __m256i *>(ptr))) {}
|
|
14
|
+
|
|
15
|
+
simdutf_really_inline uint64_t sum() const {
|
|
16
|
+
return _mm256_extract_epi64(value, 0) + _mm256_extract_epi64(value, 1) +
|
|
17
|
+
_mm256_extract_epi64(value, 2) + _mm256_extract_epi64(value, 3);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// operators
|
|
21
|
+
simdutf_really_inline simd64 &operator+=(const simd64 other) {
|
|
22
|
+
value = _mm256_add_epi64(value, other.value);
|
|
23
|
+
return *this;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// static members
|
|
27
|
+
simdutf_really_inline static simd64<uint64_t> zero() {
|
|
28
|
+
return _mm256_setzero_si256();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
simdutf_really_inline static simd64<uint64_t> splat(uint64_t v) {
|
|
32
|
+
return _mm256_set1_epi64x(v);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#ifndef SIMDUTF_HASWELL_H
|
|
2
|
+
#define SIMDUTF_HASWELL_H
|
|
3
|
+
|
|
4
|
+
#ifdef SIMDUTF_WESTMERE_H
|
|
5
|
+
#error "haswell.h must be included before westmere.h"
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef SIMDUTF_FALLBACK_H
|
|
8
|
+
#error "haswell.h must be included before fallback.h"
|
|
9
|
+
#endif
|
|
10
|
+
|
|
11
|
+
#include "simdutf/portability.h"
|
|
12
|
+
|
|
13
|
+
// Default Haswell to on if this is x86-64. Even if we are not compiled for it,
|
|
14
|
+
// it could be selected at runtime.
|
|
15
|
+
#ifndef SIMDUTF_IMPLEMENTATION_HASWELL
|
|
16
|
+
//
|
|
17
|
+
// You do not want to restrict it like so: SIMDUTF_IS_X86_64 && __AVX2__
|
|
18
|
+
// because we want to rely on *runtime dispatch*.
|
|
19
|
+
//
|
|
20
|
+
#if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
|
|
21
|
+
#define SIMDUTF_IMPLEMENTATION_HASWELL 0
|
|
22
|
+
#else
|
|
23
|
+
#define SIMDUTF_IMPLEMENTATION_HASWELL (SIMDUTF_IS_X86_64)
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
#endif
|
|
27
|
+
// To see why (__BMI__) && (__LZCNT__) are not part of this next line, see
|
|
28
|
+
// https://github.com/simdutf/simdutf/issues/1247
|
|
29
|
+
#if ((SIMDUTF_IMPLEMENTATION_HASWELL) && (SIMDUTF_IS_X86_64) && (__AVX2__))
|
|
30
|
+
#define SIMDUTF_CAN_ALWAYS_RUN_HASWELL 1
|
|
31
|
+
#else
|
|
32
|
+
#define SIMDUTF_CAN_ALWAYS_RUN_HASWELL 0
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#if SIMDUTF_IMPLEMENTATION_HASWELL
|
|
36
|
+
|
|
37
|
+
#define SIMDUTF_TARGET_HASWELL SIMDUTF_TARGET_REGION("avx2,bmi,lzcnt,popcnt")
|
|
38
|
+
|
|
39
|
+
namespace simdutf {
|
|
40
|
+
/**
|
|
41
|
+
* Implementation for Haswell (Intel AVX2).
|
|
42
|
+
*/
|
|
43
|
+
namespace haswell {} // namespace haswell
|
|
44
|
+
} // namespace simdutf
|
|
45
|
+
|
|
46
|
+
//
|
|
47
|
+
// These two need to be included outside SIMDUTF_TARGET_REGION
|
|
48
|
+
//
|
|
49
|
+
#include "simdutf/haswell/implementation.h"
|
|
50
|
+
#include "simdutf/haswell/intrinsics.h"
|
|
51
|
+
|
|
52
|
+
//
|
|
53
|
+
// The rest need to be inside the region
|
|
54
|
+
//
|
|
55
|
+
#include "simdutf/haswell/begin.h"
|
|
56
|
+
// Declarations
|
|
57
|
+
#include "simdutf/haswell/bitmanipulation.h"
|
|
58
|
+
#include "simdutf/haswell/simd.h"
|
|
59
|
+
|
|
60
|
+
#include "simdutf/haswell/end.h"
|
|
61
|
+
|
|
62
|
+
#endif // SIMDUTF_IMPLEMENTATION_HASWELL
|
|
63
|
+
#endif // SIMDUTF_HASWELL_COMMON_H
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#define SIMDUTF_IMPLEMENTATION icelake
|
|
2
|
+
|
|
3
|
+
#if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
|
|
4
|
+
// nothing needed.
|
|
5
|
+
#else
|
|
6
|
+
SIMDUTF_TARGET_ICELAKE
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
#if SIMDUTF_GCC11ORMORE // workaround for
|
|
10
|
+
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593
|
|
11
|
+
// clang-format off
|
|
12
|
+
SIMDUTF_DISABLE_GCC_WARNING(-Wmaybe-uninitialized)
|
|
13
|
+
// clang-format on
|
|
14
|
+
#endif // end of workaround
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#ifndef SIMDUTF_ICELAKE_BITMANIPULATION_H
|
|
2
|
+
#define SIMDUTF_ICELAKE_BITMANIPULATION_H
|
|
3
|
+
|
|
4
|
+
namespace simdutf {
|
|
5
|
+
namespace SIMDUTF_IMPLEMENTATION {
|
|
6
|
+
namespace {
|
|
7
|
+
|
|
8
|
+
#ifdef SIMDUTF_REGULAR_VISUAL_STUDIO
|
|
9
|
+
simdutf_really_inline unsigned __int64 count_ones(uint64_t input_num) {
|
|
10
|
+
// note: we do not support legacy 32-bit Windows
|
|
11
|
+
return __popcnt64(input_num); // Visual Studio wants two underscores
|
|
12
|
+
}
|
|
13
|
+
#else
|
|
14
|
+
simdutf_really_inline long long int count_ones(uint64_t input_num) {
|
|
15
|
+
return _popcnt64(input_num);
|
|
16
|
+
}
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#ifdef SIMDUTF_REGULAR_VISUAL_STUDIO
|
|
20
|
+
simdutf_really_inline unsigned __int64 count_ones32(uint32_t input_num) {
|
|
21
|
+
// note: we do not support legacy 32-bit Windows
|
|
22
|
+
return __popcnt(input_num); // Visual Studio wants two underscores
|
|
23
|
+
}
|
|
24
|
+
#else
|
|
25
|
+
simdutf_really_inline long long int count_ones32(uint32_t input_num) {
|
|
26
|
+
return _popcnt32(input_num);
|
|
27
|
+
}
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#if SIMDUTF_NEED_TRAILING_ZEROES
|
|
31
|
+
// simdutf_really_inline int trailing_zeroes(uint64_t input_num) {
|
|
32
|
+
// #if SIMDUTF_REGULAR_VISUAL_STUDIO
|
|
33
|
+
// return (int)_tzcnt_u64(input_num);
|
|
34
|
+
// #else // SIMDUTF_REGULAR_VISUAL_STUDIO
|
|
35
|
+
// return __builtin_ctzll(input_num);
|
|
36
|
+
// #endif // SIMDUTF_REGULAR_VISUAL_STUDIO
|
|
37
|
+
// }
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
} // unnamed namespace
|
|
41
|
+
} // namespace SIMDUTF_IMPLEMENTATION
|
|
42
|
+
} // namespace simdutf
|
|
43
|
+
|
|
44
|
+
#endif // SIMDUTF_ICELAKE_BITMANIPULATION_H
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
|
|
2
|
+
// nothing needed.
|
|
3
|
+
#else
|
|
4
|
+
SIMDUTF_UNTARGET_REGION
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
#undef SIMDUTF_IMPLEMENTATION
|
|
8
|
+
|
|
9
|
+
#if SIMDUTF_GCC11ORMORE // workaround for
|
|
10
|
+
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593
|
|
11
|
+
SIMDUTF_POP_DISABLE_WARNINGS
|
|
12
|
+
#endif // end of workaround
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
#ifndef SIMDUTF_ICELAKE_IMPLEMENTATION_H
|
|
2
|
+
#define SIMDUTF_ICELAKE_IMPLEMENTATION_H
|
|
3
|
+
|
|
4
|
+
#include "simdutf/implementation.h"
|
|
5
|
+
|
|
6
|
+
namespace simdutf {
|
|
7
|
+
namespace icelake {
|
|
8
|
+
|
|
9
|
+
namespace {
|
|
10
|
+
using namespace simdutf;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class implementation final : public simdutf::implementation {
|
|
14
|
+
public:
|
|
15
|
+
simdutf_really_inline implementation()
|
|
16
|
+
: simdutf::implementation(
|
|
17
|
+
"icelake",
|
|
18
|
+
"Intel AVX512 (AVX-512BW, AVX-512CD, AVX-512VL, AVX-512VBMI2 "
|
|
19
|
+
"extensions)",
|
|
20
|
+
internal::instruction_set::AVX2 | internal::instruction_set::BMI1 |
|
|
21
|
+
internal::instruction_set::BMI2 |
|
|
22
|
+
internal::instruction_set::AVX512BW |
|
|
23
|
+
internal::instruction_set::AVX512CD |
|
|
24
|
+
internal::instruction_set::AVX512VL |
|
|
25
|
+
internal::instruction_set::AVX512VBMI2 |
|
|
26
|
+
internal::instruction_set::AVX512VPOPCNTDQ) {}
|
|
27
|
+
|
|
28
|
+
#if SIMDUTF_FEATURE_DETECT_ENCODING
|
|
29
|
+
simdutf_warn_unused int detect_encodings(const char *input,
|
|
30
|
+
size_t length) const noexcept final;
|
|
31
|
+
#endif // SIMDUTF_FEATURE_DETECT_ENCODING
|
|
32
|
+
|
|
33
|
+
#if SIMDUTF_FEATURE_UTF8 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
34
|
+
simdutf_warn_unused bool validate_utf8(const char *buf,
|
|
35
|
+
size_t len) const noexcept final;
|
|
36
|
+
#endif // SIMDUTF_FEATURE_UTF8 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
37
|
+
|
|
38
|
+
#if SIMDUTF_FEATURE_UTF8
|
|
39
|
+
simdutf_warn_unused result
|
|
40
|
+
validate_utf8_with_errors(const char *buf, size_t len) const noexcept final;
|
|
41
|
+
#endif // SIMDUTF_FEATURE_UTF8
|
|
42
|
+
|
|
43
|
+
#if SIMDUTF_FEATURE_ASCII
|
|
44
|
+
simdutf_warn_unused bool validate_ascii(const char *buf,
|
|
45
|
+
size_t len) const noexcept final;
|
|
46
|
+
simdutf_warn_unused result
|
|
47
|
+
validate_ascii_with_errors(const char *buf, size_t len) const noexcept final;
|
|
48
|
+
#endif // SIMDUTF_FEATURE_ASCII
|
|
49
|
+
|
|
50
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_ASCII
|
|
51
|
+
simdutf_warn_unused bool
|
|
52
|
+
validate_utf16le_as_ascii(const char16_t *buf,
|
|
53
|
+
size_t len) const noexcept final;
|
|
54
|
+
|
|
55
|
+
simdutf_warn_unused bool
|
|
56
|
+
validate_utf16be_as_ascii(const char16_t *buf,
|
|
57
|
+
size_t len) const noexcept final;
|
|
58
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_ASCII
|
|
59
|
+
|
|
60
|
+
#if SIMDUTF_FEATURE_UTF16 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
61
|
+
simdutf_warn_unused bool validate_utf16le(const char16_t *buf,
|
|
62
|
+
size_t len) const noexcept final;
|
|
63
|
+
#endif // SIMDUTF_FEATURE_UTF16 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
64
|
+
|
|
65
|
+
#if SIMDUTF_FEATURE_UTF16
|
|
66
|
+
simdutf_warn_unused bool validate_utf16be(const char16_t *buf,
|
|
67
|
+
size_t len) const noexcept final;
|
|
68
|
+
simdutf_warn_unused result validate_utf16le_with_errors(
|
|
69
|
+
const char16_t *buf, size_t len) const noexcept final;
|
|
70
|
+
simdutf_warn_unused result validate_utf16be_with_errors(
|
|
71
|
+
const char16_t *buf, size_t len) const noexcept final;
|
|
72
|
+
void to_well_formed_utf16be(const char16_t *input, size_t len,
|
|
73
|
+
char16_t *output) const noexcept final;
|
|
74
|
+
void to_well_formed_utf16le(const char16_t *input, size_t len,
|
|
75
|
+
char16_t *output) const noexcept final;
|
|
76
|
+
#endif // SIMDUTF_FEATURE_UTF16
|
|
77
|
+
|
|
78
|
+
#if SIMDUTF_FEATURE_UTF32 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
79
|
+
simdutf_warn_unused bool validate_utf32(const char32_t *buf,
|
|
80
|
+
size_t len) const noexcept final;
|
|
81
|
+
#endif // SIMDUTF_FEATURE_UTF32 || SIMDUTF_FEATURE_DETECT_ENCODING
|
|
82
|
+
|
|
83
|
+
#if SIMDUTF_FEATURE_UTF32
|
|
84
|
+
simdutf_warn_unused result validate_utf32_with_errors(
|
|
85
|
+
const char32_t *buf, size_t len) const noexcept final;
|
|
86
|
+
#endif // SIMDUTF_FEATURE_UTF32
|
|
87
|
+
|
|
88
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
89
|
+
simdutf_warn_unused size_t convert_latin1_to_utf8(
|
|
90
|
+
const char *buf, size_t len, char *utf8_output) const noexcept final;
|
|
91
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
92
|
+
|
|
93
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_LATIN1
|
|
94
|
+
simdutf_warn_unused size_t convert_latin1_to_utf16le(
|
|
95
|
+
const char *buf, size_t len, char16_t *utf16_buffer) const noexcept final;
|
|
96
|
+
simdutf_warn_unused size_t convert_latin1_to_utf16be(
|
|
97
|
+
const char *buf, size_t len, char16_t *utf16_buffer) const noexcept final;
|
|
98
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_LATIN1
|
|
99
|
+
|
|
100
|
+
#if SIMDUTF_FEATURE_UTF32 && SIMDUTF_FEATURE_LATIN1
|
|
101
|
+
simdutf_warn_unused size_t convert_latin1_to_utf32(
|
|
102
|
+
const char *buf, size_t len, char32_t *utf32_output) const noexcept final;
|
|
103
|
+
#endif // SIMDUTF_FEATURE_UTF32 && SIMDUTF_FEATURE_LATIN1
|
|
104
|
+
|
|
105
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
106
|
+
simdutf_warn_unused size_t convert_utf8_to_latin1(
|
|
107
|
+
const char *buf, size_t len, char *latin1_output) const noexcept final;
|
|
108
|
+
simdutf_warn_unused result convert_utf8_to_latin1_with_errors(
|
|
109
|
+
const char *buf, size_t len, char *latin1_buffer) const noexcept final;
|
|
110
|
+
simdutf_warn_unused size_t convert_valid_utf8_to_latin1(
|
|
111
|
+
const char *buf, size_t len, char *latin1_output) const noexcept final;
|
|
112
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
113
|
+
|
|
114
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
115
|
+
simdutf_warn_unused size_t convert_utf8_to_utf16le(
|
|
116
|
+
const char *buf, size_t len, char16_t *utf16_output) const noexcept final;
|
|
117
|
+
simdutf_warn_unused size_t convert_utf8_to_utf16be(
|
|
118
|
+
const char *buf, size_t len, char16_t *utf16_output) const noexcept final;
|
|
119
|
+
simdutf_warn_unused result convert_utf8_to_utf16le_with_errors(
|
|
120
|
+
const char *buf, size_t len, char16_t *utf16_output) const noexcept final;
|
|
121
|
+
simdutf_warn_unused result convert_utf8_to_utf16be_with_errors(
|
|
122
|
+
const char *buf, size_t len, char16_t *utf16_output) const noexcept final;
|
|
123
|
+
simdutf_warn_unused size_t convert_valid_utf8_to_utf16le(
|
|
124
|
+
const char *buf, size_t len, char16_t *utf16_buffer) const noexcept final;
|
|
125
|
+
simdutf_warn_unused size_t convert_valid_utf8_to_utf16be(
|
|
126
|
+
const char *buf, size_t len, char16_t *utf16_buffer) const noexcept final;
|
|
127
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
128
|
+
|
|
129
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
130
|
+
simdutf_warn_unused size_t convert_utf8_to_utf32(
|
|
131
|
+
const char *buf, size_t len, char32_t *utf32_output) const noexcept final;
|
|
132
|
+
simdutf_warn_unused result convert_utf8_to_utf32_with_errors(
|
|
133
|
+
const char *buf, size_t len, char32_t *utf32_output) const noexcept final;
|
|
134
|
+
simdutf_warn_unused size_t convert_valid_utf8_to_utf32(
|
|
135
|
+
const char *buf, size_t len, char32_t *utf32_buffer) const noexcept final;
|
|
136
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
137
|
+
|
|
138
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_LATIN1
|
|
139
|
+
simdutf_warn_unused size_t
|
|
140
|
+
convert_utf16le_to_latin1(const char16_t *buf, size_t len,
|
|
141
|
+
char *latin1_buffer) const noexcept final;
|
|
142
|
+
simdutf_warn_unused size_t
|
|
143
|
+
convert_utf16be_to_latin1(const char16_t *buf, size_t len,
|
|
144
|
+
char *latin1_buffer) const noexcept final;
|
|
145
|
+
simdutf_warn_unused result convert_utf16le_to_latin1_with_errors(
|
|
146
|
+
const char16_t *buf, size_t len,
|
|
147
|
+
char *latin1_buffer) const noexcept final;
|
|
148
|
+
simdutf_warn_unused result convert_utf16be_to_latin1_with_errors(
|
|
149
|
+
const char16_t *buf, size_t len,
|
|
150
|
+
char *latin1_buffer) const noexcept final;
|
|
151
|
+
simdutf_warn_unused size_t
|
|
152
|
+
convert_valid_utf16le_to_latin1(const char16_t *buf, size_t len,
|
|
153
|
+
char *latin1_buffer) const noexcept final;
|
|
154
|
+
simdutf_warn_unused size_t
|
|
155
|
+
convert_valid_utf16be_to_latin1(const char16_t *buf, size_t len,
|
|
156
|
+
char *latin1_buffer) const noexcept final;
|
|
157
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_LATIN1
|
|
158
|
+
|
|
159
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
160
|
+
simdutf_warn_unused size_t convert_utf16le_to_utf8(
|
|
161
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
162
|
+
simdutf_warn_unused size_t convert_utf16be_to_utf8(
|
|
163
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
164
|
+
simdutf_warn_unused result convert_utf16le_to_utf8_with_errors(
|
|
165
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
166
|
+
simdutf_warn_unused result convert_utf16be_to_utf8_with_errors(
|
|
167
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
168
|
+
simdutf_warn_unused size_t convert_valid_utf16le_to_utf8(
|
|
169
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
170
|
+
simdutf_warn_unused size_t convert_valid_utf16be_to_utf8(
|
|
171
|
+
const char16_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
172
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
173
|
+
|
|
174
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
175
|
+
simdutf_warn_unused size_t convert_utf32_to_utf8(
|
|
176
|
+
const char32_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
177
|
+
simdutf_warn_unused result convert_utf32_to_utf8_with_errors(
|
|
178
|
+
const char32_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
179
|
+
simdutf_warn_unused size_t convert_valid_utf32_to_utf8(
|
|
180
|
+
const char32_t *buf, size_t len, char *utf8_buffer) const noexcept final;
|
|
181
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
182
|
+
|
|
183
|
+
#if SIMDUTF_FEATURE_UTF32 && SIMDUTF_FEATURE_LATIN1
|
|
184
|
+
simdutf_warn_unused size_t
|
|
185
|
+
convert_utf32_to_latin1(const char32_t *buf, size_t len,
|
|
186
|
+
char *latin1_output) const noexcept final;
|
|
187
|
+
simdutf_warn_unused result
|
|
188
|
+
convert_utf32_to_latin1_with_errors(const char32_t *buf, size_t len,
|
|
189
|
+
char *latin1_output) const noexcept final;
|
|
190
|
+
simdutf_warn_unused size_t
|
|
191
|
+
convert_valid_utf32_to_latin1(const char32_t *buf, size_t len,
|
|
192
|
+
char *latin1_output) const noexcept final;
|
|
193
|
+
#endif // SIMDUTF_FEATURE_UTF32 && SIMDUTF_FEATURE_LATIN1
|
|
194
|
+
|
|
195
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
196
|
+
simdutf_warn_unused size_t
|
|
197
|
+
convert_utf32_to_utf16le(const char32_t *buf, size_t len,
|
|
198
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
199
|
+
simdutf_warn_unused size_t
|
|
200
|
+
convert_utf32_to_utf16be(const char32_t *buf, size_t len,
|
|
201
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
202
|
+
simdutf_warn_unused result convert_utf32_to_utf16le_with_errors(
|
|
203
|
+
const char32_t *buf, size_t len,
|
|
204
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
205
|
+
simdutf_warn_unused result convert_utf32_to_utf16be_with_errors(
|
|
206
|
+
const char32_t *buf, size_t len,
|
|
207
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
208
|
+
simdutf_warn_unused size_t
|
|
209
|
+
convert_valid_utf32_to_utf16le(const char32_t *buf, size_t len,
|
|
210
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
211
|
+
simdutf_warn_unused size_t
|
|
212
|
+
convert_valid_utf32_to_utf16be(const char32_t *buf, size_t len,
|
|
213
|
+
char16_t *utf16_buffer) const noexcept final;
|
|
214
|
+
simdutf_warn_unused size_t
|
|
215
|
+
convert_utf16le_to_utf32(const char16_t *buf, size_t len,
|
|
216
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
217
|
+
simdutf_warn_unused size_t
|
|
218
|
+
convert_utf16be_to_utf32(const char16_t *buf, size_t len,
|
|
219
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
220
|
+
simdutf_warn_unused result convert_utf16le_to_utf32_with_errors(
|
|
221
|
+
const char16_t *buf, size_t len,
|
|
222
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
223
|
+
simdutf_warn_unused result convert_utf16be_to_utf32_with_errors(
|
|
224
|
+
const char16_t *buf, size_t len,
|
|
225
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
226
|
+
simdutf_warn_unused size_t
|
|
227
|
+
convert_valid_utf16le_to_utf32(const char16_t *buf, size_t len,
|
|
228
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
229
|
+
simdutf_warn_unused size_t
|
|
230
|
+
convert_valid_utf16be_to_utf32(const char16_t *buf, size_t len,
|
|
231
|
+
char32_t *utf32_buffer) const noexcept final;
|
|
232
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
233
|
+
|
|
234
|
+
#if SIMDUTF_FEATURE_UTF16
|
|
235
|
+
void change_endianness_utf16(const char16_t *buf, size_t length,
|
|
236
|
+
char16_t *output) const noexcept final;
|
|
237
|
+
simdutf_warn_unused size_t
|
|
238
|
+
count_utf16le(const char16_t *buf, size_t length) const noexcept override;
|
|
239
|
+
simdutf_warn_unused size_t
|
|
240
|
+
count_utf16be(const char16_t *buf, size_t length) const noexcept override;
|
|
241
|
+
#endif // SIMDUTF_FEATURE_UTF16
|
|
242
|
+
|
|
243
|
+
#if SIMDUTF_FEATURE_UTF8
|
|
244
|
+
simdutf_warn_unused size_t count_utf8(const char *buf,
|
|
245
|
+
size_t length) const noexcept override;
|
|
246
|
+
#endif // SIMDUTF_FEATURE_UTF8
|
|
247
|
+
|
|
248
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
249
|
+
simdutf_warn_unused size_t utf8_length_from_utf16le(
|
|
250
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
251
|
+
simdutf_warn_unused size_t utf8_length_from_utf16be(
|
|
252
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
253
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
254
|
+
|
|
255
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
256
|
+
simdutf_warn_unused size_t utf32_length_from_utf16le(
|
|
257
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
258
|
+
simdutf_warn_unused size_t utf32_length_from_utf16be(
|
|
259
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
260
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
261
|
+
|
|
262
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
263
|
+
simdutf_warn_unused size_t utf16_length_from_utf8(
|
|
264
|
+
const char *input, size_t length) const noexcept override;
|
|
265
|
+
simdutf_warn_unused result utf8_length_from_utf16le_with_replacement(
|
|
266
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
267
|
+
;
|
|
268
|
+
simdutf_warn_unused result utf8_length_from_utf16be_with_replacement(
|
|
269
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
270
|
+
;
|
|
271
|
+
|
|
272
|
+
simdutf_warn_unused size_t convert_utf16le_to_utf8_with_replacement(
|
|
273
|
+
const char16_t *input, size_t length,
|
|
274
|
+
char *utf8_buffer) const noexcept override;
|
|
275
|
+
|
|
276
|
+
simdutf_warn_unused size_t convert_utf16be_to_utf8_with_replacement(
|
|
277
|
+
const char16_t *input, size_t length,
|
|
278
|
+
char *utf8_buffer) const noexcept override;
|
|
279
|
+
|
|
280
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF16
|
|
281
|
+
|
|
282
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
283
|
+
simdutf_warn_unused size_t utf8_length_from_utf32(
|
|
284
|
+
const char32_t *input, size_t length) const noexcept override;
|
|
285
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
286
|
+
|
|
287
|
+
#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
288
|
+
simdutf_warn_unused size_t utf16_length_from_utf32(
|
|
289
|
+
const char32_t *input, size_t length) const noexcept override;
|
|
290
|
+
#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_UTF32
|
|
291
|
+
|
|
292
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
293
|
+
simdutf_warn_unused size_t utf32_length_from_utf8(
|
|
294
|
+
const char *input, size_t length) const noexcept override;
|
|
295
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_UTF32
|
|
296
|
+
|
|
297
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
298
|
+
simdutf_warn_unused size_t latin1_length_from_utf8(
|
|
299
|
+
const char *input, size_t length) const noexcept override;
|
|
300
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
301
|
+
|
|
302
|
+
#if SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
303
|
+
simdutf_warn_unused size_t utf8_length_from_latin1(
|
|
304
|
+
const char *input, size_t length) const noexcept override;
|
|
305
|
+
#endif // SIMDUTF_FEATURE_UTF8 && SIMDUTF_FEATURE_LATIN1
|
|
306
|
+
|
|
307
|
+
#if SIMDUTF_FEATURE_BASE64
|
|
308
|
+
simdutf_warn_unused result base64_to_binary(
|
|
309
|
+
const char *input, size_t length, char *output, base64_options options,
|
|
310
|
+
last_chunk_handling_options last_chunk_options =
|
|
311
|
+
last_chunk_handling_options::loose) const noexcept override;
|
|
312
|
+
simdutf_warn_unused full_result base64_to_binary_details(
|
|
313
|
+
const char *input, size_t length, char *output, base64_options options,
|
|
314
|
+
last_chunk_handling_options last_chunk_options =
|
|
315
|
+
last_chunk_handling_options::loose) const noexcept override;
|
|
316
|
+
simdutf_warn_unused result base64_to_binary(
|
|
317
|
+
const char16_t *input, size_t length, char *output,
|
|
318
|
+
base64_options options,
|
|
319
|
+
last_chunk_handling_options last_chunk_options =
|
|
320
|
+
last_chunk_handling_options::loose) const noexcept override;
|
|
321
|
+
simdutf_warn_unused full_result base64_to_binary_details(
|
|
322
|
+
const char16_t *input, size_t length, char *output,
|
|
323
|
+
base64_options options,
|
|
324
|
+
last_chunk_handling_options last_chunk_options =
|
|
325
|
+
last_chunk_handling_options::loose) const noexcept override;
|
|
326
|
+
size_t binary_to_base64(const char *input, size_t length, char *output,
|
|
327
|
+
base64_options options) const noexcept override;
|
|
328
|
+
size_t
|
|
329
|
+
binary_to_base64_with_lines(const char *input, size_t length, char *output,
|
|
330
|
+
size_t line_length,
|
|
331
|
+
base64_options options) const noexcept override;
|
|
332
|
+
const char *find(const char *start, const char *end,
|
|
333
|
+
char character) const noexcept override;
|
|
334
|
+
const char16_t *find(const char16_t *start, const char16_t *end,
|
|
335
|
+
char16_t character) const noexcept override;
|
|
336
|
+
simdutf_warn_unused size_t binary_length_from_base64(
|
|
337
|
+
const char *input, size_t length) const noexcept override;
|
|
338
|
+
simdutf_warn_unused size_t binary_length_from_base64(
|
|
339
|
+
const char16_t *input, size_t length) const noexcept override;
|
|
340
|
+
#endif // SIMDUTF_FEATURE_BASE64
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
} // namespace icelake
|
|
344
|
+
} // namespace simdutf
|
|
345
|
+
|
|
346
|
+
#endif // SIMDUTF_ICELAKE_IMPLEMENTATION_H
|