react-native-quick-crypto 1.0.18 → 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/lib/commonjs/blake3.js +2 -1
- package/lib/commonjs/blake3.js.map +1 -1
- package/lib/commonjs/diffie-hellman.js +5 -4
- package/lib/commonjs/diffie-hellman.js.map +1 -1
- package/lib/commonjs/ecdh.js +5 -4
- package/lib/commonjs/ecdh.js.map +1 -1
- package/lib/module/blake3.js +2 -1
- package/lib/module/blake3.js.map +1 -1
- package/lib/module/diffie-hellman.js +5 -4
- package/lib/module/diffie-hellman.js.map +1 -1
- package/lib/module/ecdh.js +5 -4
- package/lib/module/ecdh.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/blake3.d.ts.map +1 -1
- package/lib/typescript/diffie-hellman.d.ts.map +1 -1
- package/lib/typescript/ecdh.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/blake3.ts +2 -1
- package/src/diffie-hellman.ts +5 -7
- package/src/ecdh.ts +5 -8
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/* xmldecl.h - Parsing XML and text declarations.
|
|
2
|
+
Copyright (c) 2008, Robert D. Cameron.
|
|
3
|
+
Licensed to the public under the Open Software License 3.0.
|
|
4
|
+
Licensed to International Characters, Inc., under the Academic
|
|
5
|
+
Free License 3.0.
|
|
6
|
+
|
|
7
|
+
*/
|
|
8
|
+
#ifndef XML_DECL_H
|
|
9
|
+
#define XML_DECL_H
|
|
10
|
+
|
|
11
|
+
enum XML_version {XML_1_0, XML_1_1, no_XML_version_value};
|
|
12
|
+
/* Documents may be encoded in accord with either XML 1.0 or XML 1.1,
|
|
13
|
+
or there may be no XML version declared ("no value" in the
|
|
14
|
+
XML infoset parlance). */
|
|
15
|
+
|
|
16
|
+
enum CodeUnit_Base {ASCII, EBCDIC};
|
|
17
|
+
|
|
18
|
+
/* Code units of the underlying character set may be either ASCII-compatible
|
|
19
|
+
or EBCDIC-compatible.
|
|
20
|
+
ASCII-compatibility means that any code units satisfy the following properties.
|
|
21
|
+
(1) Any code unit whose numeric value is in the ASinclude "byteplex.h"CII range (0 to 0x7F)
|
|
22
|
+
is a complete character sequence (single code unit sequence) representing
|
|
23
|
+
that ASCII character.
|
|
24
|
+
(2) Any code units above the ASCII range are non-ASCII code units.
|
|
25
|
+
No code units or code unit sequences containing a non-ASCII code unit
|
|
26
|
+
may represent an ASCII character. (This property ensures that
|
|
27
|
+
non-ASCII code units may be ignored in making ASCII-based parsing decisions).
|
|
28
|
+
EBCDIC-compatible, for the purposes of XML, means that the following property
|
|
29
|
+
applies.include "byteplex.h"
|
|
30
|
+
|
|
31
|
+
(*) Code units may form all or part of a code unit sequence representing
|
|
32
|
+
a character in the Unicode range 0 to 0x9F if and only if that code
|
|
33
|
+
unit has the same interpretation unde the basic EBCDIC code page cp037.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
enum CodeUnit_Size {SingleByte = 1, DoubleByte = 2, QuadByte = 4};
|
|
37
|
+
/* ASCII, EBCDIC, ISO-8859-X and UTF-8 have 8-bit code units (singlebytes);
|
|
38
|
+
The UTF-16 and UCS-2 families have 16-bit code units (doublebyte);
|
|
39
|
+
The UTF-32/UCS-4 family has 32-bit code units. */
|
|
40
|
+
|
|
41
|
+
enum CodeUnit_ByteOrder {BigEndian, LittleEndian, Unusual_3412, Unusual_2143};
|
|
42
|
+
/* The byte order of 16-bit or 32-bit code units. The possibilities are:
|
|
43
|
+
BigEndian: UTF-16BE, UCS-2BE, UTF-16 or UCS-2 with a BigEndian byte order mark,
|
|
44
|
+
UTF-16 without a byte order mark,
|
|
45
|
+
UTF-32BE/UCS-4BE, or UTF-32/UCS-4 with a BigEndian byte order mark.
|
|
46
|
+
LittleEndian: UTF-16LE, UCS-2LE, UTF-16 or UCS-2 with a LittleEndian byte order mark.
|
|
47
|
+
UTF-32LE/UCS-4LE, or UTF-32/UCS-4 with a LittleEndian byte order mark.
|
|
48
|
+
Unusual_3412: Unusual octet order of UTF-32/UCS-4 with byte order mark FE FF 00 00
|
|
49
|
+
Unusual_2143: Unusual octet order of UTF-32/UCS-4 with byte order mark 00 00 FF FE.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
enum XML_standalone {Standalone_yes, Standalone_no, Standalone_no_value};
|
|
53
|
+
/* Possible values depending on the optional standalone component of an
|
|
54
|
+
XML declaration. */
|
|
55
|
+
|
|
56
|
+
class Entity_Info {
|
|
57
|
+
|
|
58
|
+
public:
|
|
59
|
+
Entity_Info();
|
|
60
|
+
~Entity_Info();
|
|
61
|
+
|
|
62
|
+
/* Information computed by analyzing the 4-byte initial signature
|
|
63
|
+
of an XML document. */
|
|
64
|
+
int BOM_units; /* no of initial code units for a Byte Order Mark */
|
|
65
|
+
|
|
66
|
+
CodeUnit_Base code_unit_base;
|
|
67
|
+
CodeUnit_Size code_unit_size;
|
|
68
|
+
CodeUnit_ByteOrder byte_order;
|
|
69
|
+
|
|
70
|
+
void AnalyzeSignature(unsigned char * signature);
|
|
71
|
+
|
|
72
|
+
/* Information computed from the XML or text declaration. */
|
|
73
|
+
XML_version version;
|
|
74
|
+
bool has_encoding_decl;
|
|
75
|
+
unsigned char * encoding;
|
|
76
|
+
XML_standalone standalone;
|
|
77
|
+
int content_start; /* position after BOM and XML/text decl.*/
|
|
78
|
+
|
|
79
|
+
private:
|
|
80
|
+
void set_charset_family(CodeUnit_Base C, CodeUnit_Size S, CodeUnit_ByteOrder O, int B);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class XML_Decl_Parser {
|
|
85
|
+
public:
|
|
86
|
+
XML_Decl_Parser (unsigned char * bytes);
|
|
87
|
+
~XML_Decl_Parser ();
|
|
88
|
+
|
|
89
|
+
void ReadXMLInfo(Entity_Info & e);
|
|
90
|
+
void ReadTextDeclaration(Entity_Info & e);
|
|
91
|
+
// Generic version if type of external entity unknown.
|
|
92
|
+
void ReadXMLorTextDecl(Entity_Info & e);
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
protected:
|
|
96
|
+
|
|
97
|
+
unsigned char * x8data;
|
|
98
|
+
int buffer_base_pos;
|
|
99
|
+
int buffer_rel_pos;
|
|
100
|
+
int buffer_limit_pos;
|
|
101
|
+
|
|
102
|
+
void Advance(int n);
|
|
103
|
+
int AbsPos() const;
|
|
104
|
+
unsigned char * cur() const;
|
|
105
|
+
|
|
106
|
+
private:
|
|
107
|
+
/* Bytespace parsing routines for internal use in ReadXMLInfo and
|
|
108
|
+
ReadTextDeclaration. */
|
|
109
|
+
void DeclError();
|
|
110
|
+
void Scan_WS();
|
|
111
|
+
void ScanToQuote();
|
|
112
|
+
void ParseVersion(Entity_Info & e);
|
|
113
|
+
void ParseEncoding(Entity_Info & e);
|
|
114
|
+
void ParseStandalone(Entity_Info & e);
|
|
115
|
+
|
|
116
|
+
};
|
|
117
|
+
#endif
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Boost Software License - Version 1.0 - August 17th, 2003
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person or organization
|
|
4
|
+
obtaining a copy of the software and accompanying documentation covered by
|
|
5
|
+
this license (the "Software") to use, reproduce, display, distribute,
|
|
6
|
+
execute, and transmit the Software, and to prepare derivative works of the
|
|
7
|
+
Software, and to permit third-parties to whom the Software is furnished to
|
|
8
|
+
do so, all subject to the following:
|
|
9
|
+
|
|
10
|
+
The copyright notices in the Software and this entire statement, including
|
|
11
|
+
the above license grant, this restriction and the following disclaimer,
|
|
12
|
+
must be included in all copies of the Software, in whole or in part, and
|
|
13
|
+
all derivative works of the Software, unless such copies or derivative
|
|
14
|
+
works are solely in the form of machine-executable object code generated by
|
|
15
|
+
a source language processor.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
|
20
|
+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
|
21
|
+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
|
22
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
23
|
+
DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
=========================ASCII=======================
|
|
2
|
+
abacaba
|
|
3
|
+
=========================2-byte=======================
|
|
4
|
+
аба что он сказал?
|
|
5
|
+
|
|
6
|
+
German:
|
|
7
|
+
Ä ä Ü ü ß
|
|
8
|
+
|
|
9
|
+
Russian:
|
|
10
|
+
Я Б Г Д Ж Й
|
|
11
|
+
|
|
12
|
+
Polish:
|
|
13
|
+
Ł Ą Ż Ę Ć Ń Ś Ź
|
|
14
|
+
|
|
15
|
+
=========================3-byte=======================
|
|
16
|
+
Japanese:
|
|
17
|
+
Kanji: てすと (te-su-to)
|
|
18
|
+
Hankaku: アイウエオカキクケコサシスセソタチツテ
|
|
19
|
+
Romanj digits: 0123456789
|
|
20
|
+
Romanj lowercase: abcdefghi
|
|
21
|
+
Romanj uppercase: ABCDEFGHI
|
|
22
|
+
|
|
23
|
+
From a speech of Demosthenes in the 4th century BC:
|
|
24
|
+
|
|
25
|
+
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
|
|
26
|
+
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
|
|
27
|
+
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
|
|
28
|
+
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
|
|
29
|
+
εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
|
|
30
|
+
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
|
|
31
|
+
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
|
|
32
|
+
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
|
|
33
|
+
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
|
|
34
|
+
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
|
|
35
|
+
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
|
|
36
|
+
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
|
|
37
|
+
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
|
|
38
|
+
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
|
|
39
|
+
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
|
|
40
|
+
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
|
|
41
|
+
|
|
42
|
+
=======================supplementary==================
|
|
43
|
+
|
|
44
|
+
𠜎 𠜱 𠝹 𠱓 𠱸 𠲖 𠳏 𠳕 𠴕 𠵼 𠵿 𠸎 𠸏 𠹷 𠺝 𠺢 𠻗 𠻹 𠻺 𠼭 𠼮 𠽌 𠾴 𠾼 𠿪 𡁜 𡁯 𡁵 𡁶 𡁻 𡃁 𡃉 𡇙 𢃇 𢞵 𢫕 𢭃 𢯊 𢱑 𢱕 𢳂 𢴈 𢵌 𢵧 𢺳 𣲷 𤓓 𤶸 𤷪 𥄫 𦉘 𦟌 𦧲 𦧺 𧨾 𨅝 𨈇 𨋢 𨳊 𨳍 𨳒 𩶘
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
*Migrated from: https://bitbucket.org/stgatilov/utf8lut/*
|
|
2
|
+
|
|
3
|
+
# **utf8lut**
|
|
4
|
+
|
|
5
|
+
The vectorized library for UTF-8 conversions on x86 (or x64) architecture.
|
|
6
|
+
It can quickly encode or decode large buffers of UTF-8 data, using SSSE3 instructions and lookup table (lut) to accelerate process.
|
|
7
|
+
Detailed description can be found in the [dirtyhandscoding blog](https://dirtyhandscoding.github.io/posts/utf8lut-vectorized-utf-8-converter-introduction.html).
|
|
8
|
+
|
|
9
|
+
**Note:** while this library can be used in a real world application (if you need to convert huge amounts of data super-fast), its main purpose is a proof-of-concept for vectorized UTF-8 conversion.
|
|
10
|
+
|
|
11
|
+
## Conversion settings
|
|
12
|
+
|
|
13
|
+
Four types of conversion are supported:
|
|
14
|
+
|
|
15
|
+
* from UTF-8 to UTF-16LE (decode)
|
|
16
|
+
* from UTF-8 to UTF-32LE (decode)
|
|
17
|
+
* from UTF-16LE to UTF-8 (encode)
|
|
18
|
+
* from UTF-32LE to UTF-8 (encode)
|
|
19
|
+
|
|
20
|
+
All these three UTF encoding are understood precisely as the Unicode standards define, in particular:
|
|
21
|
+
|
|
22
|
+
1. Only valid unicode values are allowed. Code points U+D800 through U+DFFF and the ones greater than U+10FFFF are forbidden.
|
|
23
|
+
2. Non-BMP characters are encoded as surrogate pairs in UTF-16.
|
|
24
|
+
3. Overlong encodings in UTF-8 are considered invalid.
|
|
25
|
+
|
|
26
|
+
The converter has two code paths: the **fast path** and the **slow path**.
|
|
27
|
+
The fast path consists of heavily templated C++ code. It allows the user to tune the converter to his particular inputs. Using non-default template arguments allows user to make the fast path even faster, but at the cost of reducing its capabilities (either in supporting long code points or in validation/checking).
|
|
28
|
+
The fast path works by default, but if it meets some data it cannot handle, it temporarily switches to the slow path. The slow path can handle anything, but it is slower. Moreover, the switches between the code paths cost time. A rule of thumb is to make sure that more than 99% of characters can be handled by fast path for good performance.
|
|
29
|
+
|
|
30
|
+
The first template argument (*MaxBytes*) defines the range of code points supported by fast path:
|
|
31
|
+
|
|
32
|
+
* *MaxBytes = 3*: support [U+0000 .. U+FFFF] --- encoded as at most 3 bytes in UTF-8 (Basic Multilingual Plane).
|
|
33
|
+
* *MaxBytes = 2*: support [U+0000 .. U+07FF] --- encoded as at most 2 bytes in UTF-8.
|
|
34
|
+
* *MaxBytes = 1*: support [U+0000 .. U+007F] --- encoded as 1 byte in UTF-8.
|
|
35
|
+
|
|
36
|
+
The second template argument (*Mode*) controls the slow path and validation:
|
|
37
|
+
|
|
38
|
+
* *Mode = cmValidate*: full processing and validation --- invalid input causes converter to stop and return error, so arbitrary sequence of bytes can be given as input.
|
|
39
|
+
* *Mode = cmFull*: validation is removed --- invalid input causes undefined behavior, but any valid input is processed correctly.
|
|
40
|
+
* *Mode = cmFast*: slow path and validation are removed --- invalid input causes undefined behavior, and a character unsupported by fast path also causes undefined behavior.
|
|
41
|
+
|
|
42
|
+
By default, the toughest and the most versatile values are used: *MaxBytes = 3*, *Mode = cmValidate*.
|
|
43
|
+
Note that the fast path is capable of doing complete validation of input stream, provided that you don't disable validation. Also, it is capable of handling the whole BMP, but non-BMP characters can only be processed by slow path.
|
|
44
|
+
Simplest error correction can be optionally enabled in validating converters.
|
|
45
|
+
|
|
46
|
+
## Build
|
|
47
|
+
|
|
48
|
+
The utf8lut library and its applications are built using "keep it simple" principle =)
|
|
49
|
+
All you need to do is:
|
|
50
|
+
|
|
51
|
+
1. add the `src/` directory to C++ include path
|
|
52
|
+
2. add a bunch of cpp files to the build process
|
|
53
|
+
3. (non-MSVC): add `-mssse3 -std=c++11` to compiler parameters
|
|
54
|
+
|
|
55
|
+
CMake file is provided for testing and sample applications. You can see there which cpp files need to be compiled and linked (point 2).
|
|
56
|
+
Additionally, there are simple scripts (in `scripts/`) which can build the sample applications: batch scripts for MSVC and MinGW, and shell scripts for GCC. They are easier to use and read than CMake.
|
|
57
|
+
|
|
58
|
+
## Demo
|
|
59
|
+
|
|
60
|
+
There is a demo application called *FileConverter*, which allows to test and benchmark the library on various inputs and with various settings.
|
|
61
|
+
You can build it for instance using `scripts/build_msvc_file_conv.cmd`.
|
|
62
|
+
|
|
63
|
+
Here are some sample commands to measure performance by repeatedly converting a single array (about 1 MB in sizes) from RAM to RAM:
|
|
64
|
+
|
|
65
|
+
FileConverter_msvc.exe [rnd1110:1000000] [hash] -k=1000
|
|
66
|
+
FileConverter_msvc.exe [rnd1110:1000000] [hash] -k=1000 -b=0
|
|
67
|
+
FileConverter_msvc.exe war_and_piece.fb2 [hash] -k=1000
|
|
68
|
+
FileConverter_msvc.exe war_and_piece.fb2 [hash] -k=1000 -b=0
|
|
69
|
+
|
|
70
|
+
The results on Ryzen 1600 (single core) are provided below.
|
|
71
|
+
The numbers show how much CPU cycles are spent per one byte in UTF-8 encoding. The first number in a cell shows the exactly time of the core conversion (measured by rdtsc). The second number includes all the overhead: it is estimated from total run time, total bytes converted, and CPU frequency (3.4 GHz).
|
|
72
|
+
The **rnd** dataset was generated randomly, each code point had 33% probability of being 1-byte long, 2-byte long or 3-byte long. The **fb2** dataset is a famous russian book "War and Peace" in fb2 format. **decode** is conversion in UTF-8 -> UTF16 direction, while **encode** is in UTF-16 -> UTF-8 direction.
|
|
73
|
+
|
|
74
|
+
| implementation | rnd decode | rnd encode | fb2 decode | fb2 encode |
|
|
75
|
+
| ------------------------- | ------------ | ----------- | ----------- | ----------- |
|
|
76
|
+
| max fast path (-b=3 -m=2) | 1.65 / 2.02 | 0.74 / 0.95 | 1.00 / 1.21 | 0.68 / 0.83 |
|
|
77
|
+
| scalar slow path (-b=0) | 15.3 / 16.4 | 9.9 / 10.7 | 9.10 / 9.67 | 4.89 / 5.97 |
|
|
78
|
+
|
|
79
|
+
Note that utf8lut uses quite large lookup table, which barely fits CPU cache. As a result, the performance of conversion heavily depends on the particular distribution of code point lengths in the input data, with uniform random distribution being the worst case.
|
|
80
|
+
|
|
81
|
+
More detailed performance measurements can be found in the [related blog article](https://dirtyhandscoding.github.io/posts/utf8lut-vectorized-utf-8-converter-test-results.html#performance-evaluation).
|
|
82
|
+
|
|
83
|
+
## Usage
|
|
84
|
+
|
|
85
|
+
The simplest complete usage example is present in `src/tests/Example.cpp`. Here are the most important lines from it:
|
|
86
|
+
|
|
87
|
+
std::unique_ptr<BaseBufferProcessor> processor(ProcessorSelector<dfUtf8, dfUtf16>::WithOptions<>::Create());
|
|
88
|
+
ConversionResult res = ConvertFile(*processor, "input.utf8", "output.utf16");
|
|
89
|
+
|
|
90
|
+
In the first step, a processor must be created using ProcessorSelector. Source and destination encodings and additional options (default values are used in the example) are passed as template arguments. It is recommended to read `src/buffer/ProcessorSelector.h` for more details. All processors have common base class *BaseBufferProcessor*, so C++ templates are only involved in processor creation, and polymorphism via virtual functions is used afterwards.
|
|
91
|
+
In the second step, you can call some message-level conversion routine. In the example, a function for complete file-to-file conversion is called. There is also a routine for memory-to-memory conversion. See `src/message/MessageConverter.h` for more details.
|
|
92
|
+
|
|
93
|
+
While most conversions can be done using message-level routines, it is also possible to go to lower level. Buffer-level routines convert data in chunks, and you can load/store data yourself in any way you want. See comments in `src/buffer/BaseBufferProcessor.h` and `src/buffer/ProcessorPlugins.h` for details. Implementation in `src/message/MessageConverter.cpp` may serve as a good example of using buffer-level routines.
|
|
94
|
+
|
|
95
|
+
Finally, it is possible to drop all the high level code and use the core-level routines directly. They are located in `src/core/` and they contain all the SSSE3 code from the fast path. No comments are available in core level, and shooting off your leg is very easy. If you are interested in understanding the main idea, this is definitely the code to look into.
|
|
96
|
+
|
|
97
|
+
## iconv interface
|
|
98
|
+
|
|
99
|
+
It is also possible to use buffer-level routines via standard *iconv* interface.
|
|
100
|
+
Unfortunately, the implementation does **not** exactly follow iconv specification. Please read `src/iconv/iconv.h` file, it describes the deviations from the standard.
|
|
101
|
+
Scripts are provided, which build a dll/so with iconv functions exported.
|
|
102
|
+
|
|
103
|
+
## Tests
|
|
104
|
+
|
|
105
|
+
Since the vectorized algorithm processes many bytes at once, ordinary tests are rather useless for it. [Fuzz testing](https://en.wikipedia.org/wiki/Fuzzing) is used to ensure that the code behaves properly on wide range of inputs.
|
|
106
|
+
In order to run fuzz testing, compile *CorrectnessTests* application and run it. Leave it running for at least a few minutes. If it crashes or stops writing text to console, then an error is found.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
clang ^
|
|
3
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
4
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
5
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
6
|
+
%ROOT%buffer/AllProcessors.cpp ^
|
|
7
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
8
|
+
%ROOT%tests/CorrectnessTests.cpp ^
|
|
9
|
+
-I"../src" -o"CorrectnessTests_clang.exe" ^
|
|
10
|
+
-D _CRT_SECURE_NO_DEPRECATE ^
|
|
11
|
+
-std=c++14 -mssse3 -O3
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
ROOT=../src/
|
|
2
|
+
clang++ \
|
|
3
|
+
$ROOT"core/DecoderLut.cpp" \
|
|
4
|
+
$ROOT"core/EncoderLut.cpp" \
|
|
5
|
+
$ROOT"buffer/BaseBufferProcessor.cpp" \
|
|
6
|
+
$ROOT"buffer/AllProcessors.cpp" \
|
|
7
|
+
$ROOT"message/MessageConverter.cpp" \
|
|
8
|
+
$ROOT"tests/CorrectnessTests.cpp" \
|
|
9
|
+
-I"../src" -o"CorrectnessTests_clang" \
|
|
10
|
+
-std=c++11 -mssse3 -O3
|
|
11
|
+
|
|
12
|
+
strip CorrectnessTests_clang
|
|
13
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
ROOT=../src/
|
|
2
|
+
g++ \
|
|
3
|
+
$ROOT"core/DecoderLut.cpp" \
|
|
4
|
+
$ROOT"core/EncoderLut.cpp" \
|
|
5
|
+
$ROOT"buffer/BaseBufferProcessor.cpp" \
|
|
6
|
+
$ROOT"buffer/AllProcessors.cpp" \
|
|
7
|
+
$ROOT"message/MessageConverter.cpp" \
|
|
8
|
+
$ROOT"tests/CorrectnessTests.cpp" \
|
|
9
|
+
-I"../src" -o"CorrectnessTests_gcc" \
|
|
10
|
+
-std=c++11 -mssse3 -O3
|
|
11
|
+
|
|
12
|
+
strip CorrectnessTests_gcc
|
|
13
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
ROOT=../src/
|
|
2
|
+
g++ \
|
|
3
|
+
$ROOT"base/Timing.cpp" \
|
|
4
|
+
$ROOT"core/DecoderLut.cpp" \
|
|
5
|
+
$ROOT"core/EncoderLut.cpp" \
|
|
6
|
+
$ROOT"buffer/BaseBufferProcessor.cpp" \
|
|
7
|
+
$ROOT"message/MessageConverter.cpp" \
|
|
8
|
+
$ROOT"tests/Example.cpp" \
|
|
9
|
+
-I"../src" -o"Example_gcc" \
|
|
10
|
+
-D NDEBUG -D TIMING \
|
|
11
|
+
-std=c++11 -mssse3 -O3
|
|
12
|
+
|
|
13
|
+
strip Example_gcc
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ROOT=../src/
|
|
2
|
+
g++ \
|
|
3
|
+
$ROOT"base/Timing.cpp" \
|
|
4
|
+
$ROOT"core/DecoderLut.cpp" \
|
|
5
|
+
$ROOT"core/EncoderLut.cpp" \
|
|
6
|
+
$ROOT"buffer/BaseBufferProcessor.cpp" \
|
|
7
|
+
$ROOT"buffer/AllProcessors.cpp" \
|
|
8
|
+
$ROOT"message/MessageConverter.cpp" \
|
|
9
|
+
$ROOT"tests/FileConverter.cpp" \
|
|
10
|
+
-I"../src" -o"FileConverter_gcc" \
|
|
11
|
+
-D NDEBUG -D TIMING \
|
|
12
|
+
-std=c++11 -mssse3 -O3
|
|
13
|
+
|
|
14
|
+
strip FileConverter_gcc
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
ROOT=../src/
|
|
2
|
+
g++ \
|
|
3
|
+
$ROOT"core/DecoderLut.cpp" \
|
|
4
|
+
$ROOT"core/EncoderLut.cpp" \
|
|
5
|
+
$ROOT"buffer/BaseBufferProcessor.cpp" \
|
|
6
|
+
$ROOT"iconv/iconv.cpp" \
|
|
7
|
+
-I"../src" -fPIC -shared -o"iconv_u8l_gcc.so" \
|
|
8
|
+
-D NDEBUG -D ICONV_UTF8LUT_BUILD \
|
|
9
|
+
-std=c++11 -mssse3 -O3
|
|
10
|
+
|
|
11
|
+
strip iconv_u8l_gcc.so
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
g++ ^
|
|
3
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
4
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
5
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
6
|
+
%ROOT%buffer/AllProcessors.cpp ^
|
|
7
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
8
|
+
%ROOT%tests/CorrectnessTests.cpp ^
|
|
9
|
+
-I"../src" -o"CorrectnessTests_mingw.exe" ^
|
|
10
|
+
-std=c++11 -mssse3 -O3
|
|
11
|
+
|
|
12
|
+
strip CorrectnessTests_mingw.exe
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
g++ ^
|
|
3
|
+
%ROOT%base/Timing.cpp ^
|
|
4
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
5
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
6
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
7
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
8
|
+
%ROOT%tests/Example.cpp ^
|
|
9
|
+
-I"../src" -o"Example_mingw.exe" ^
|
|
10
|
+
-D NDEBUG -D TIMING ^
|
|
11
|
+
-std=c++11 -mssse3 -O3
|
|
12
|
+
|
|
13
|
+
strip Example_mingw.exe
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
g++ ^
|
|
3
|
+
%ROOT%base/Timing.cpp ^
|
|
4
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
5
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
6
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
7
|
+
%ROOT%buffer/AllProcessors.cpp ^
|
|
8
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
9
|
+
%ROOT%tests/FileConverter.cpp ^
|
|
10
|
+
-I"../src" -o"FileConverter_mingw.exe" ^
|
|
11
|
+
-D NDEBUG -D TIMING ^
|
|
12
|
+
-std=c++11 -mssse3 -O3
|
|
13
|
+
|
|
14
|
+
strip FileConverter_mingw.exe
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
g++ ^
|
|
3
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
4
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
5
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
6
|
+
%ROOT%iconv/iconv.cpp ^
|
|
7
|
+
-I"../src" -shared -o"iconv_u8l_mingw.dll" ^
|
|
8
|
+
-D NDEBUG -D ICONV_UTF8LUT_BUILD ^
|
|
9
|
+
-std=c++11 -mssse3 -O3
|
|
10
|
+
|
|
11
|
+
strip iconv_u8l_mingw.dll
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
cl ^
|
|
3
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
4
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
5
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
6
|
+
%ROOT%buffer/AllProcessors.cpp ^
|
|
7
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
8
|
+
%ROOT%tests/CorrectnessTests.cpp ^
|
|
9
|
+
/I"../src" /Fe"CorrectnessTests_msvc.exe" ^
|
|
10
|
+
/D _CRT_SECURE_NO_DEPRECATE ^
|
|
11
|
+
/O2 /Oi /W2 /EHsc /FAs /Zi /MD /link/opt:ref
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
cl ^
|
|
3
|
+
%ROOT%base/Timing.cpp ^
|
|
4
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
5
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
6
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
7
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
8
|
+
%ROOT%tests/Example.cpp ^
|
|
9
|
+
/I"../src" /Fe"Example_msvc.exe" ^
|
|
10
|
+
/D _CRT_SECURE_NO_DEPRECATE ^
|
|
11
|
+
/D NDEBUG /D TIMING ^
|
|
12
|
+
/O2 /Oi /W2 /EHsc /FAs /Zi /MD /link/opt:ref
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
cl ^
|
|
3
|
+
%ROOT%base/Timing.cpp ^
|
|
4
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
5
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
6
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
7
|
+
%ROOT%buffer/AllProcessors.cpp ^
|
|
8
|
+
%ROOT%message/MessageConverter.cpp ^
|
|
9
|
+
%ROOT%tests/FileConverter.cpp ^
|
|
10
|
+
/I"../src" /Fe"FileConverter_msvc.exe" ^
|
|
11
|
+
/D _CRT_SECURE_NO_DEPRECATE ^
|
|
12
|
+
/D NDEBUG /D TIMING ^
|
|
13
|
+
/O2 /Oi /W2 /EHsc /FAs /Zi /MD /link/opt:ref
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
set ROOT=../src/
|
|
2
|
+
cl ^
|
|
3
|
+
%ROOT%core/DecoderLut.cpp ^
|
|
4
|
+
%ROOT%core/EncoderLut.cpp ^
|
|
5
|
+
%ROOT%buffer/BaseBufferProcessor.cpp ^
|
|
6
|
+
%ROOT%iconv/iconv.cpp ^
|
|
7
|
+
/I"../src" /LD /Fe"iconv_u8l_msvc.dll" ^
|
|
8
|
+
/D _CRT_SECURE_NO_DEPRECATE ^
|
|
9
|
+
/D NDEBUG /D ICONV_UTF8LUT_BUILD ^
|
|
10
|
+
/O2 /Oi /W2 /EHsc /FAs /Zi /MD /link/opt:ref
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import json, sys
|
|
2
|
+
|
|
3
|
+
with open(sys.argv[1] + "/results.json", 'rt') as f:
|
|
4
|
+
data = json.load(f)
|
|
5
|
+
|
|
6
|
+
tests = data['tests']
|
|
7
|
+
solutions = data['solutions']
|
|
8
|
+
|
|
9
|
+
print('<tr>')
|
|
10
|
+
print(' <th></th>')
|
|
11
|
+
for sol in solutions:
|
|
12
|
+
print(' <th>%s</th>' % sol)
|
|
13
|
+
print('</tr>')
|
|
14
|
+
for test in tests:
|
|
15
|
+
print('<tr>')
|
|
16
|
+
print(' <th>%s</th>' % test)
|
|
17
|
+
for sol in solutions:
|
|
18
|
+
values = data['xdata'][test][sol]
|
|
19
|
+
for i in range(2):
|
|
20
|
+
if values[i] is None:
|
|
21
|
+
values[i] = '???'
|
|
22
|
+
else:
|
|
23
|
+
values[i] = '%.2f' % values[i]
|
|
24
|
+
print(' <td>%s / %s</td>' % (values[0], values[1]))
|
|
25
|
+
print('</tr>')
|