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.
Files changed (732) hide show
  1. package/QuickCrypto.podspec +12 -38
  2. package/README.md +2 -0
  3. package/android/CMakeLists.txt +3 -0
  4. package/cpp/utils/HybridUtils.cpp +39 -77
  5. package/deps/simdutf/.clang-format +4 -0
  6. package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +62 -0
  7. package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +1 -0
  8. package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +35 -0
  9. package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +29 -0
  10. package/deps/simdutf/.github/pull_request_template.md +51 -0
  11. package/deps/simdutf/.github/workflows/aarch64.yml +39 -0
  12. package/deps/simdutf/.github/workflows/alpine.yml +27 -0
  13. package/deps/simdutf/.github/workflows/amalgamation_demos.yml +34 -0
  14. package/deps/simdutf/.github/workflows/armv7.yml +32 -0
  15. package/deps/simdutf/.github/workflows/atomic_fuzz.yml +25 -0
  16. package/deps/simdutf/.github/workflows/cifuzz.yml +37 -0
  17. package/deps/simdutf/.github/workflows/clangformat.yml +36 -0
  18. package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +40 -0
  19. package/deps/simdutf/.github/workflows/debian.yml +33 -0
  20. package/deps/simdutf/.github/workflows/documentation.yml +36 -0
  21. package/deps/simdutf/.github/workflows/emscripten.yml +19 -0
  22. package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +39 -0
  23. package/deps/simdutf/.github/workflows/macos-latest.yml +29 -0
  24. package/deps/simdutf/.github/workflows/msys2-clang.yml +48 -0
  25. package/deps/simdutf/.github/workflows/msys2.yml +50 -0
  26. package/deps/simdutf/.github/workflows/ppc64le.yml +29 -0
  27. package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +35 -0
  28. package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +35 -0
  29. package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +31 -0
  30. package/deps/simdutf/.github/workflows/s390x.yml +29 -0
  31. package/deps/simdutf/.github/workflows/selective-amalgamation.yml +29 -0
  32. package/deps/simdutf/.github/workflows/typos.yml +19 -0
  33. package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +30 -0
  34. package/deps/simdutf/.github/workflows/ubuntu22.yml +32 -0
  35. package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +27 -0
  36. package/deps/simdutf/.github/workflows/ubuntu22sani.yml +29 -0
  37. package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +34 -0
  38. package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +34 -0
  39. package/deps/simdutf/.github/workflows/ubuntu24.yml +32 -0
  40. package/deps/simdutf/.github/workflows/ubuntu24sani.yml +36 -0
  41. package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +29 -0
  42. package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +21 -0
  43. package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +41 -0
  44. package/deps/simdutf/.github/workflows/vs17-ci.yml +41 -0
  45. package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +41 -0
  46. package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +36 -0
  47. package/deps/simdutf/AI_USAGE_POLICY.md +56 -0
  48. package/deps/simdutf/AUTHORS +6 -0
  49. package/deps/simdutf/CMakeLists.txt +231 -0
  50. package/deps/simdutf/CONTRIBUTING.md +214 -0
  51. package/deps/simdutf/CONTRIBUTORS +1 -0
  52. package/deps/simdutf/Doxyfile +2584 -0
  53. package/deps/simdutf/LICENSE-APACHE +201 -0
  54. package/deps/simdutf/LICENSE-MIT +18 -0
  55. package/deps/simdutf/Makefile.crosscompile +54 -0
  56. package/deps/simdutf/README-RVV.md +16 -0
  57. package/deps/simdutf/README.md +2782 -0
  58. package/deps/simdutf/SECURITY.md +8 -0
  59. package/deps/simdutf/benchmarks/CMakeLists.txt +101 -0
  60. package/deps/simdutf/benchmarks/alignment.cpp +150 -0
  61. package/deps/simdutf/benchmarks/base64/CMakeLists.txt +30 -0
  62. package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +875 -0
  63. package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +49 -0
  64. package/deps/simdutf/benchmarks/base64/node_base64.h +227 -0
  65. package/deps/simdutf/benchmarks/base64/openssl3_base64.h +334 -0
  66. package/deps/simdutf/benchmarks/benchmark.cpp +65 -0
  67. package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +347 -0
  68. package/deps/simdutf/benchmarks/competition/.clang-format-ignore +5 -0
  69. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +1276 -0
  70. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +595 -0
  71. package/deps/simdutf/benchmarks/competition/README.md +7 -0
  72. package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +91 -0
  73. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +444 -0
  74. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +13183 -0
  75. package/deps/simdutf/benchmarks/competition/inoue2008/script.py +73 -0
  76. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +738 -0
  77. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +293 -0
  78. package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +8 -0
  79. package/deps/simdutf/benchmarks/competition/u8u16/Makefile +44 -0
  80. package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +169 -0
  81. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +148 -0
  82. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +45 -0
  83. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +34 -0
  84. package/deps/simdutf/benchmarks/competition/u8u16/README +56 -0
  85. package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +43 -0
  86. package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +27 -0
  87. package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +16 -0
  88. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +18 -0
  89. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +16 -0
  90. package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +28 -0
  91. package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +20 -0
  92. package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +2 -0
  93. package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +440 -0
  94. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +121 -0
  95. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +158 -0
  96. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +270 -0
  97. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +141 -0
  98. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +216 -0
  99. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +119 -0
  100. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +2430 -0
  101. package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +39 -0
  102. package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +421 -0
  103. package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +836 -0
  104. package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +222 -0
  105. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +4 -0
  106. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +5 -0
  107. package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +390 -0
  108. package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +18 -0
  109. package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +448 -0
  110. package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +284 -0
  111. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +1975 -0
  112. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
  113. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +2263 -0
  114. package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +239 -0
  115. package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +232 -0
  116. package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +194 -0
  117. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +193 -0
  118. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +167 -0
  119. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +288 -0
  120. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +117 -0
  121. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +2 -0
  122. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +2 -0
  123. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +3 -0
  124. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +2 -0
  125. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +2 -0
  126. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +3 -0
  127. package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +2 -0
  128. package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +23 -0
  129. package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +44 -0
  130. package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +106 -0
  131. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +11 -0
  132. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +13 -0
  133. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +13 -0
  134. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +13 -0
  135. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +14 -0
  136. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +11 -0
  137. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +8 -0
  138. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +12 -0
  139. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +13 -0
  140. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +14 -0
  141. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +11 -0
  142. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +8 -0
  143. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +11 -0
  144. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +12 -0
  145. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +13 -0
  146. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +10 -0
  147. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +9 -0
  148. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +25 -0
  149. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +94 -0
  150. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +20 -0
  151. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +2 -0
  152. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +1 -0
  153. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +75 -0
  154. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +47 -0
  155. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +17 -0
  156. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +76 -0
  157. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +35 -0
  158. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +117 -0
  159. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +210 -0
  160. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +158 -0
  161. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +104 -0
  162. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +334 -0
  163. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +186 -0
  164. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +140 -0
  165. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +42 -0
  166. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +100 -0
  167. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +57 -0
  168. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +85 -0
  169. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +27 -0
  170. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +126 -0
  171. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +108 -0
  172. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +139 -0
  173. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +74 -0
  174. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +65 -0
  175. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +91 -0
  176. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +772 -0
  177. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +12 -0
  178. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +486 -0
  179. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +162 -0
  180. package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +15 -0
  181. package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +292 -0
  182. package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +23 -0
  183. package/deps/simdutf/benchmarks/competition/utfcpp/README.md +1503 -0
  184. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +335 -0
  185. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +338 -0
  186. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +103 -0
  187. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +103 -0
  188. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +274 -0
  189. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +34 -0
  190. package/deps/simdutf/benchmarks/dataset/README.md +155 -0
  191. package/deps/simdutf/benchmarks/dataset/emoji.txt +204 -0
  192. package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +40 -0
  193. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +80 -0
  194. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +20 -0
  195. package/deps/simdutf/benchmarks/find/CMakeLists.txt +6 -0
  196. package/deps/simdutf/benchmarks/find/findbenchmark.cpp +63 -0
  197. package/deps/simdutf/benchmarks/find/findbenchmarker.h +46 -0
  198. package/deps/simdutf/benchmarks/shortbench.cpp +555 -0
  199. package/deps/simdutf/benchmarks/src/CMakeLists.txt +52 -0
  200. package/deps/simdutf/benchmarks/src/apple_arm_events.h +1104 -0
  201. package/deps/simdutf/benchmarks/src/benchmark.cpp +3899 -0
  202. package/deps/simdutf/benchmarks/src/benchmark.h +317 -0
  203. package/deps/simdutf/benchmarks/src/benchmark_base.cpp +144 -0
  204. package/deps/simdutf/benchmarks/src/benchmark_base.h +98 -0
  205. package/deps/simdutf/benchmarks/src/cmdline.cpp +176 -0
  206. package/deps/simdutf/benchmarks/src/cmdline.h +35 -0
  207. package/deps/simdutf/benchmarks/src/event_counter.h +162 -0
  208. package/deps/simdutf/benchmarks/src/linux-perf-events.h +104 -0
  209. package/deps/simdutf/benchmarks/stream.cpp +209 -0
  210. package/deps/simdutf/benchmarks/threaded.cpp +123 -0
  211. package/deps/simdutf/cmake/CPM.cmake +1363 -0
  212. package/deps/simdutf/cmake/JoinPaths.cmake +23 -0
  213. package/deps/simdutf/cmake/add_cpp_test.cmake +68 -0
  214. package/deps/simdutf/cmake/simdutf-config.cmake.in +2 -0
  215. package/deps/simdutf/cmake/simdutf-flags.cmake +26 -0
  216. package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +4 -0
  217. package/deps/simdutf/cmake/toolchains-dev/README.md +32 -0
  218. package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +14 -0
  219. package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +22 -0
  220. package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +16 -0
  221. package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +16 -0
  222. package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +16 -0
  223. package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +38 -0
  224. package/deps/simdutf/doc/avx512.png +0 -0
  225. package/deps/simdutf/doc/logo.png +0 -0
  226. package/deps/simdutf/doc/logo.svg +165 -0
  227. package/deps/simdutf/doc/node2023.png +0 -0
  228. package/deps/simdutf/doc/shortinput.md +78 -0
  229. package/deps/simdutf/doc/utf16utf8.png +0 -0
  230. package/deps/simdutf/doc/utf8utf16.png +0 -0
  231. package/deps/simdutf/doc/widelogo.png +0 -0
  232. package/deps/simdutf/doxygen.py +50 -0
  233. package/deps/simdutf/fuzz/.clang-format +9 -0
  234. package/deps/simdutf/fuzz/CMakeLists.txt +45 -0
  235. package/deps/simdutf/fuzz/README.md +168 -0
  236. package/deps/simdutf/fuzz/atomic_base64.cpp +448 -0
  237. package/deps/simdutf/fuzz/base64.cpp +278 -0
  238. package/deps/simdutf/fuzz/build.sh +83 -0
  239. package/deps/simdutf/fuzz/conversion.cpp +669 -0
  240. package/deps/simdutf/fuzz/helpers/.clang-format-ignore +1 -0
  241. package/deps/simdutf/fuzz/helpers/common.h +135 -0
  242. package/deps/simdutf/fuzz/helpers/nameof.hpp +1258 -0
  243. package/deps/simdutf/fuzz/main.cpp +72 -0
  244. package/deps/simdutf/fuzz/minimize_and_cleanse.sh +87 -0
  245. package/deps/simdutf/fuzz/misc.cpp +216 -0
  246. package/deps/simdutf/fuzz/random_fuzz.sh +154 -0
  247. package/deps/simdutf/fuzz/roundtrip.cpp +588 -0
  248. package/deps/simdutf/fuzz/safe_conversion.cpp +104 -0
  249. package/deps/simdutf/include/simdutf/avx512.h +79 -0
  250. package/deps/simdutf/include/simdutf/base64_implementation.h +158 -0
  251. package/deps/simdutf/include/simdutf/base64_tables.h +887 -0
  252. package/deps/simdutf/include/simdutf/common_defs.h +186 -0
  253. package/deps/simdutf/include/simdutf/compiler_check.h +50 -0
  254. package/deps/simdutf/include/simdutf/constexpr_ptr.h +138 -0
  255. package/deps/simdutf/include/simdutf/encoding_types.h +189 -0
  256. package/deps/simdutf/include/simdutf/error.h +126 -0
  257. package/deps/simdutf/include/simdutf/implementation.h +7081 -0
  258. package/deps/simdutf/include/simdutf/internal/isadetection.h +325 -0
  259. package/deps/simdutf/include/simdutf/portability.h +285 -0
  260. package/deps/simdutf/include/simdutf/scalar/ascii.h +86 -0
  261. package/deps/simdutf/include/simdutf/scalar/atomic_util.h +105 -0
  262. package/deps/simdutf/include/simdutf/scalar/base64.h +911 -0
  263. package/deps/simdutf/include/simdutf/scalar/latin1.h +26 -0
  264. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf16/latin1_to_utf16.h +52 -0
  265. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf32/latin1_to_utf32.h +27 -0
  266. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf8/latin1_to_utf8.h +191 -0
  267. package/deps/simdutf/include/simdutf/scalar/swap_bytes.h +35 -0
  268. package/deps/simdutf/include/simdutf/scalar/utf16.h +226 -0
  269. package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/utf16_to_latin1.h +108 -0
  270. package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/valid_utf16_to_latin1.h +40 -0
  271. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/utf16_to_utf32.h +86 -0
  272. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/valid_utf16_to_utf32.h +44 -0
  273. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/utf16_to_utf8.h +295 -0
  274. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/valid_utf16_to_utf8.h +91 -0
  275. package/deps/simdutf/include/simdutf/scalar/utf32.h +82 -0
  276. package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/utf32_to_latin1.h +68 -0
  277. package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/valid_utf32_to_latin1.h +67 -0
  278. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/utf32_to_utf16.h +84 -0
  279. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/valid_utf32_to_utf16.h +44 -0
  280. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/utf32_to_utf8.h +142 -0
  281. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/valid_utf32_to_utf8.h +72 -0
  282. package/deps/simdutf/include/simdutf/scalar/utf8.h +326 -0
  283. package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/utf8_to_latin1.h +225 -0
  284. package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/valid_utf8_to_latin1.h +87 -0
  285. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16.h +342 -0
  286. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/valid_utf8_to_utf16.h +106 -0
  287. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/utf8_to_utf32.h +299 -0
  288. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/valid_utf8_to_utf32.h +83 -0
  289. package/deps/simdutf/include/simdutf/simdutf_version.h +26 -0
  290. package/deps/simdutf/include/simdutf.h +26 -0
  291. package/deps/simdutf/include/simdutf_c.h +342 -0
  292. package/deps/simdutf/riscv/Dockerfile +16 -0
  293. package/deps/simdutf/riscv/README.md +24 -0
  294. package/deps/simdutf/riscv/remove-docker-station +8 -0
  295. package/deps/simdutf/riscv/run-docker-station +31 -0
  296. package/deps/simdutf/scripts/.flake8 +2 -0
  297. package/deps/simdutf/scripts/Makefile +2 -0
  298. package/deps/simdutf/scripts/README_ADD_FUNCTION.md +49 -0
  299. package/deps/simdutf/scripts/add_function.py +330 -0
  300. package/deps/simdutf/scripts/amalgamation_tests.py +156 -0
  301. package/deps/simdutf/scripts/base64/Makefile +2 -0
  302. package/deps/simdutf/scripts/base64/README.md +2 -0
  303. package/deps/simdutf/scripts/base64/avx512.py +76 -0
  304. package/deps/simdutf/scripts/base64/neon_decode.py +143 -0
  305. package/deps/simdutf/scripts/base64/neon_generate_lut.py +101 -0
  306. package/deps/simdutf/scripts/base64/sse.py +252 -0
  307. package/deps/simdutf/scripts/base64/sseregular.py +160 -0
  308. package/deps/simdutf/scripts/base64/sseurl.py +283 -0
  309. package/deps/simdutf/scripts/base64/table.py +59 -0
  310. package/deps/simdutf/scripts/base64bench_print.py +145 -0
  311. package/deps/simdutf/scripts/benchmark-all.py +119 -0
  312. package/deps/simdutf/scripts/benchmark_print.py +324 -0
  313. package/deps/simdutf/scripts/check_feature_macros.py +156 -0
  314. package/deps/simdutf/scripts/check_typos.sh +13 -0
  315. package/deps/simdutf/scripts/clang_format.sh +35 -0
  316. package/deps/simdutf/scripts/clang_format_docker.sh +38 -0
  317. package/deps/simdutf/scripts/common.py +24 -0
  318. package/deps/simdutf/scripts/compilation_benchmark.py +55 -0
  319. package/deps/simdutf/scripts/compile_many_variations.sh +64 -0
  320. package/deps/simdutf/scripts/create_latex_table.py +62 -0
  321. package/deps/simdutf/scripts/docker/Dockerfile +14 -0
  322. package/deps/simdutf/scripts/docker/Makefile +9 -0
  323. package/deps/simdutf/scripts/docker/README.md +30 -0
  324. package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
  325. package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +155 -0
  326. package/deps/simdutf/scripts/prepare_doxygen.sh +21 -0
  327. package/deps/simdutf/scripts/release.py +197 -0
  328. package/deps/simdutf/scripts/shortinputplots.py +97 -0
  329. package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +422 -0
  330. package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +105 -0
  331. package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +186 -0
  332. package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +137 -0
  333. package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +129 -0
  334. package/deps/simdutf/scripts/table.py +207 -0
  335. package/deps/simdutf/scripts/tests/new.txt +33 -0
  336. package/deps/simdutf/scripts/tests/old.txt +33 -0
  337. package/deps/simdutf/scripts/tests/results.txt +272 -0
  338. package/deps/simdutf/simdutf.pc.in +11 -0
  339. package/deps/simdutf/singleheader/.flake8 +2 -0
  340. package/deps/simdutf/singleheader/CMakeLists.txt +64 -0
  341. package/deps/simdutf/singleheader/README-dev.md +81 -0
  342. package/deps/simdutf/singleheader/README.md +19 -0
  343. package/deps/simdutf/singleheader/amalgamate.py +513 -0
  344. package/deps/simdutf/singleheader/amalgamation_demo.c +59 -0
  345. package/deps/simdutf/singleheader/amalgamation_demo.cpp +54 -0
  346. package/deps/simdutf/singleheader/test-features.py +262 -0
  347. package/deps/simdutf/src/CMakeLists.txt +78 -0
  348. package/deps/simdutf/src/arm64/arm_base64.cpp +791 -0
  349. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf16.cpp +24 -0
  350. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf32.cpp +24 -0
  351. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf8.cpp +70 -0
  352. package/deps/simdutf/src/arm64/arm_convert_utf16_to_latin1.cpp +61 -0
  353. package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf32.cpp +185 -0
  354. package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf8.cpp +780 -0
  355. package/deps/simdutf/src/arm64/arm_convert_utf32_to_latin1.cpp +60 -0
  356. package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf16.cpp +208 -0
  357. package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf8.cpp +505 -0
  358. package/deps/simdutf/src/arm64/arm_convert_utf8_to_latin1.cpp +69 -0
  359. package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf16.cpp +313 -0
  360. package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf32.cpp +179 -0
  361. package/deps/simdutf/src/arm64/arm_find.cpp +199 -0
  362. package/deps/simdutf/src/arm64/arm_utf16fix.cpp +185 -0
  363. package/deps/simdutf/src/arm64/arm_validate_utf16.cpp +165 -0
  364. package/deps/simdutf/src/arm64/arm_validate_utf32le.cpp +65 -0
  365. package/deps/simdutf/src/arm64/implementation.cpp +1442 -0
  366. package/deps/simdutf/src/encoding_types.cpp +67 -0
  367. package/deps/simdutf/src/error.cpp +3 -0
  368. package/deps/simdutf/src/fallback/implementation.cpp +589 -0
  369. package/deps/simdutf/src/generic/ascii_validation.h +50 -0
  370. package/deps/simdutf/src/generic/base64.h +233 -0
  371. package/deps/simdutf/src/generic/base64lengths.h +63 -0
  372. package/deps/simdutf/src/generic/buf_block_reader.h +109 -0
  373. package/deps/simdutf/src/generic/find.h +75 -0
  374. package/deps/simdutf/src/generic/utf16/change_endianness.h +24 -0
  375. package/deps/simdutf/src/generic/utf16/count_code_points_bytemask.h +58 -0
  376. package/deps/simdutf/src/generic/utf16/to_well_formed.h +93 -0
  377. package/deps/simdutf/src/generic/utf16/utf32_length_from_utf16.h +15 -0
  378. package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16.h +35 -0
  379. package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16_bytemask.h +199 -0
  380. package/deps/simdutf/src/generic/utf16.h +73 -0
  381. package/deps/simdutf/src/generic/utf32.h +136 -0
  382. package/deps/simdutf/src/generic/utf8/utf16_length_from_utf8_bytemask.h +53 -0
  383. package/deps/simdutf/src/generic/utf8.h +92 -0
  384. package/deps/simdutf/src/generic/utf8_to_latin1/utf8_to_latin1.h +316 -0
  385. package/deps/simdutf/src/generic/utf8_to_latin1/valid_utf8_to_latin1.h +78 -0
  386. package/deps/simdutf/src/generic/utf8_to_utf16/utf8_to_utf16.h +332 -0
  387. package/deps/simdutf/src/generic/utf8_to_utf16/valid_utf8_to_utf16.h +74 -0
  388. package/deps/simdutf/src/generic/utf8_to_utf32/utf8_to_utf32.h +318 -0
  389. package/deps/simdutf/src/generic/utf8_to_utf32/valid_utf8_to_utf32.h +42 -0
  390. package/deps/simdutf/src/generic/utf8_validation/utf8_lookup4_algorithm.h +223 -0
  391. package/deps/simdutf/src/generic/utf8_validation/utf8_validator.h +84 -0
  392. package/deps/simdutf/src/generic/validate_utf16.h +164 -0
  393. package/deps/simdutf/src/generic/validate_utf32.h +99 -0
  394. package/deps/simdutf/src/haswell/avx2_base64.cpp +837 -0
  395. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf16.cpp +28 -0
  396. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf32.cpp +20 -0
  397. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf8.cpp +83 -0
  398. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_latin1.cpp +83 -0
  399. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf32.cpp +210 -0
  400. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf8.cpp +602 -0
  401. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_latin1.cpp +116 -0
  402. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf16.cpp +164 -0
  403. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf8.cpp +569 -0
  404. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_latin1.cpp +60 -0
  405. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf16.cpp +195 -0
  406. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf32.cpp +135 -0
  407. package/deps/simdutf/src/haswell/avx2_utf16fix.cpp +173 -0
  408. package/deps/simdutf/src/haswell/avx2_validate_utf16.cpp +17 -0
  409. package/deps/simdutf/src/haswell/implementation.cpp +1447 -0
  410. package/deps/simdutf/src/icelake/icelake_ascii_validation.inl.cpp +19 -0
  411. package/deps/simdutf/src/icelake/icelake_base64.inl.cpp +630 -0
  412. package/deps/simdutf/src/icelake/icelake_common.inl.cpp +37 -0
  413. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf16.inl.cpp +36 -0
  414. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf32.inl.cpp +23 -0
  415. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf8.inl.cpp +107 -0
  416. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_latin1.inl.cpp +103 -0
  417. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf32.inl.cpp +136 -0
  418. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf8.inl.cpp +206 -0
  419. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_latin1.inl.cpp +74 -0
  420. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf16.inl.cpp +338 -0
  421. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf8.inl.cpp +574 -0
  422. package/deps/simdutf/src/icelake/icelake_convert_utf8_to_latin1.inl.cpp +104 -0
  423. package/deps/simdutf/src/icelake/icelake_convert_utf8_to_utf16.inl.cpp +75 -0
  424. package/deps/simdutf/src/icelake/icelake_convert_valid_utf8_to_latin1.inl.cpp +69 -0
  425. package/deps/simdutf/src/icelake/icelake_find.inl.cpp +146 -0
  426. package/deps/simdutf/src/icelake/icelake_from_utf8.inl.cpp +266 -0
  427. package/deps/simdutf/src/icelake/icelake_from_valid_utf8.inl.cpp +136 -0
  428. package/deps/simdutf/src/icelake/icelake_macros.inl.cpp +143 -0
  429. package/deps/simdutf/src/icelake/icelake_utf16fix.cpp +138 -0
  430. package/deps/simdutf/src/icelake/icelake_utf32_validation.inl.cpp +63 -0
  431. package/deps/simdutf/src/icelake/icelake_utf8_common.inl.cpp +753 -0
  432. package/deps/simdutf/src/icelake/icelake_utf8_length_from_utf16.inl.cpp +269 -0
  433. package/deps/simdutf/src/icelake/icelake_utf8_validation.inl.cpp +116 -0
  434. package/deps/simdutf/src/icelake/implementation.cpp +1903 -0
  435. package/deps/simdutf/src/implementation.cpp +2526 -0
  436. package/deps/simdutf/src/lasx/implementation.cpp +1531 -0
  437. package/deps/simdutf/src/lasx/lasx_base64.cpp +695 -0
  438. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf16.cpp +76 -0
  439. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf32.cpp +55 -0
  440. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf8.cpp +65 -0
  441. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_latin1.cpp +64 -0
  442. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf32.cpp +183 -0
  443. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf8.cpp +550 -0
  444. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_latin1.cpp +73 -0
  445. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf16.cpp +218 -0
  446. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf8.cpp +589 -0
  447. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_latin1.cpp +72 -0
  448. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf16.cpp +296 -0
  449. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf32.cpp +190 -0
  450. package/deps/simdutf/src/lasx/lasx_find.cpp +64 -0
  451. package/deps/simdutf/src/lasx/lasx_validate_utf16.cpp +13 -0
  452. package/deps/simdutf/src/lasx/lasx_validate_utf32le.cpp +84 -0
  453. package/deps/simdutf/src/lsx/implementation.cpp +1417 -0
  454. package/deps/simdutf/src/lsx/lsx_base64.cpp +675 -0
  455. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf16.cpp +39 -0
  456. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf32.cpp +27 -0
  457. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf8.cpp +56 -0
  458. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_latin1.cpp +64 -0
  459. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf32.cpp +133 -0
  460. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf8.cpp +518 -0
  461. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_latin1.cpp +66 -0
  462. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf16.cpp +155 -0
  463. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf8.cpp +459 -0
  464. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_latin1.cpp +75 -0
  465. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf16.cpp +291 -0
  466. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf32.cpp +179 -0
  467. package/deps/simdutf/src/lsx/lsx_find.cpp +60 -0
  468. package/deps/simdutf/src/lsx/lsx_validate_utf16.cpp +13 -0
  469. package/deps/simdutf/src/lsx/lsx_validate_utf32le.cpp +68 -0
  470. package/deps/simdutf/src/ppc64/implementation.cpp +992 -0
  471. package/deps/simdutf/src/ppc64/ppc64_base64.cpp +480 -0
  472. package/deps/simdutf/src/ppc64/ppc64_base64_internal_tests.cpp +401 -0
  473. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf16.cpp +12 -0
  474. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf32.cpp +12 -0
  475. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf8.cpp +149 -0
  476. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_latin1.cpp +67 -0
  477. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf32.cpp +87 -0
  478. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf8.cpp +296 -0
  479. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_latin1.cpp +57 -0
  480. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf16.cpp +117 -0
  481. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf8.cpp +166 -0
  482. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_latin1.cpp +69 -0
  483. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf16.cpp +211 -0
  484. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf32.cpp +153 -0
  485. package/deps/simdutf/src/ppc64/ppc64_utf16_to_utf8_tables.h +1011 -0
  486. package/deps/simdutf/src/ppc64/ppc64_utf8_length_from_latin1.cpp +37 -0
  487. package/deps/simdutf/src/ppc64/ppc64_validate_utf16.cpp +19 -0
  488. package/deps/simdutf/src/ppc64/templates.cpp +91 -0
  489. package/deps/simdutf/src/rvv/implementation.cpp +138 -0
  490. package/deps/simdutf/src/rvv/rvv_find.cpp +27 -0
  491. package/deps/simdutf/src/rvv/rvv_helpers.inl.cpp +23 -0
  492. package/deps/simdutf/src/rvv/rvv_latin1_to.inl.cpp +71 -0
  493. package/deps/simdutf/src/rvv/rvv_length_from.inl.cpp +164 -0
  494. package/deps/simdutf/src/rvv/rvv_utf16_to.inl.cpp +399 -0
  495. package/deps/simdutf/src/rvv/rvv_utf16fix.cpp +110 -0
  496. package/deps/simdutf/src/rvv/rvv_utf32_to.inl.cpp +307 -0
  497. package/deps/simdutf/src/rvv/rvv_utf8_to.inl.cpp +435 -0
  498. package/deps/simdutf/src/rvv/rvv_validate.inl.cpp +275 -0
  499. package/deps/simdutf/src/simdutf/arm64/begin.h +2 -0
  500. package/deps/simdutf/src/simdutf/arm64/bitmanipulation.h +34 -0
  501. package/deps/simdutf/src/simdutf/arm64/end.h +2 -0
  502. package/deps/simdutf/src/simdutf/arm64/implementation.h +307 -0
  503. package/deps/simdutf/src/simdutf/arm64/intrinsics.h +10 -0
  504. package/deps/simdutf/src/simdutf/arm64/simd.h +547 -0
  505. package/deps/simdutf/src/simdutf/arm64/simd16-inl.h +403 -0
  506. package/deps/simdutf/src/simdutf/arm64/simd32-inl.h +129 -0
  507. package/deps/simdutf/src/simdutf/arm64/simd64-inl.h +28 -0
  508. package/deps/simdutf/src/simdutf/arm64.h +43 -0
  509. package/deps/simdutf/src/simdutf/fallback/begin.h +1 -0
  510. package/deps/simdutf/src/simdutf/fallback/bitmanipulation.h +13 -0
  511. package/deps/simdutf/src/simdutf/fallback/end.h +1 -0
  512. package/deps/simdutf/src/simdutf/fallback/implementation.h +331 -0
  513. package/deps/simdutf/src/simdutf/fallback.h +42 -0
  514. package/deps/simdutf/src/simdutf/haswell/begin.h +15 -0
  515. package/deps/simdutf/src/simdutf/haswell/bitmanipulation.h +35 -0
  516. package/deps/simdutf/src/simdutf/haswell/end.h +13 -0
  517. package/deps/simdutf/src/simdutf/haswell/implementation.h +338 -0
  518. package/deps/simdutf/src/simdutf/haswell/intrinsics.h +67 -0
  519. package/deps/simdutf/src/simdutf/haswell/simd.h +363 -0
  520. package/deps/simdutf/src/simdutf/haswell/simd16-inl.h +261 -0
  521. package/deps/simdutf/src/simdutf/haswell/simd32-inl.h +111 -0
  522. package/deps/simdutf/src/simdutf/haswell/simd64-inl.h +34 -0
  523. package/deps/simdutf/src/simdutf/haswell.h +63 -0
  524. package/deps/simdutf/src/simdutf/icelake/begin.h +14 -0
  525. package/deps/simdutf/src/simdutf/icelake/bitmanipulation.h +44 -0
  526. package/deps/simdutf/src/simdutf/icelake/end.h +12 -0
  527. package/deps/simdutf/src/simdutf/icelake/implementation.h +346 -0
  528. package/deps/simdutf/src/simdutf/icelake/intrinsics.h +138 -0
  529. package/deps/simdutf/src/simdutf/icelake/simd.h +17 -0
  530. package/deps/simdutf/src/simdutf/icelake/simd16-inl.h +90 -0
  531. package/deps/simdutf/src/simdutf/icelake/simd32-inl.h +47 -0
  532. package/deps/simdutf/src/simdutf/icelake.h +81 -0
  533. package/deps/simdutf/src/simdutf/lasx/begin.h +8 -0
  534. package/deps/simdutf/src/simdutf/lasx/bitmanipulation.h +25 -0
  535. package/deps/simdutf/src/simdutf/lasx/end.h +8 -0
  536. package/deps/simdutf/src/simdutf/lasx/implementation.h +310 -0
  537. package/deps/simdutf/src/simdutf/lasx/intrinsics.h +319 -0
  538. package/deps/simdutf/src/simdutf/lasx/simd.h +551 -0
  539. package/deps/simdutf/src/simdutf/lasx/simd16-inl.h +234 -0
  540. package/deps/simdutf/src/simdutf/lasx/simd32-inl.h +74 -0
  541. package/deps/simdutf/src/simdutf/lasx/simd64-inl.h +52 -0
  542. package/deps/simdutf/src/simdutf/lasx.h +49 -0
  543. package/deps/simdutf/src/simdutf/lsx/begin.h +2 -0
  544. package/deps/simdutf/src/simdutf/lsx/bitmanipulation.h +25 -0
  545. package/deps/simdutf/src/simdutf/lsx/end.h +2 -0
  546. package/deps/simdutf/src/simdutf/lsx/implementation.h +309 -0
  547. package/deps/simdutf/src/simdutf/lsx/intrinsics.h +196 -0
  548. package/deps/simdutf/src/simdutf/lsx/simd.h +421 -0
  549. package/deps/simdutf/src/simdutf/lsx/simd16-inl.h +242 -0
  550. package/deps/simdutf/src/simdutf/lsx/simd32-inl.h +69 -0
  551. package/deps/simdutf/src/simdutf/lsx/simd64-inl.h +50 -0
  552. package/deps/simdutf/src/simdutf/lsx.h +52 -0
  553. package/deps/simdutf/src/simdutf/ppc64/begin.h +1 -0
  554. package/deps/simdutf/src/simdutf/ppc64/bitmanipulation.h +29 -0
  555. package/deps/simdutf/src/simdutf/ppc64/end.h +1 -0
  556. package/deps/simdutf/src/simdutf/ppc64/implementation.h +348 -0
  557. package/deps/simdutf/src/simdutf/ppc64/intrinsics.h +19 -0
  558. package/deps/simdutf/src/simdutf/ppc64/simd.h +177 -0
  559. package/deps/simdutf/src/simdutf/ppc64/simd16-inl.h +327 -0
  560. package/deps/simdutf/src/simdutf/ppc64/simd32-inl.h +247 -0
  561. package/deps/simdutf/src/simdutf/ppc64/simd8-inl.h +618 -0
  562. package/deps/simdutf/src/simdutf/ppc64.h +40 -0
  563. package/deps/simdutf/src/simdutf/rvv/begin.h +7 -0
  564. package/deps/simdutf/src/simdutf/rvv/end.h +7 -0
  565. package/deps/simdutf/src/simdutf/rvv/implementation.h +321 -0
  566. package/deps/simdutf/src/simdutf/rvv/intrinsics.h +131 -0
  567. package/deps/simdutf/src/simdutf/rvv.h +41 -0
  568. package/deps/simdutf/src/simdutf/westmere/begin.h +8 -0
  569. package/deps/simdutf/src/simdutf/westmere/bitmanipulation.h +37 -0
  570. package/deps/simdutf/src/simdutf/westmere/end.h +8 -0
  571. package/deps/simdutf/src/simdutf/westmere/implementation.h +338 -0
  572. package/deps/simdutf/src/simdutf/westmere/intrinsics.h +38 -0
  573. package/deps/simdutf/src/simdutf/westmere/simd.h +379 -0
  574. package/deps/simdutf/src/simdutf/westmere/simd16-inl.h +242 -0
  575. package/deps/simdutf/src/simdutf/westmere/simd32-inl.h +151 -0
  576. package/deps/simdutf/src/simdutf/westmere/simd64-inl.h +33 -0
  577. package/deps/simdutf/src/simdutf/westmere.h +59 -0
  578. package/deps/simdutf/src/simdutf.cpp +152 -0
  579. package/deps/simdutf/src/simdutf_c.cpp +525 -0
  580. package/deps/simdutf/src/tables/utf16_to_utf8_tables.h +768 -0
  581. package/deps/simdutf/src/tables/utf32_to_utf16_tables.h +53 -0
  582. package/deps/simdutf/src/tables/utf8_to_utf16_tables.h +826 -0
  583. package/deps/simdutf/src/westmere/implementation.cpp +1479 -0
  584. package/deps/simdutf/src/westmere/internal/loader.cpp +7 -0
  585. package/deps/simdutf/src/westmere/internal/write_v_u16_11bits_to_utf8.cpp +66 -0
  586. package/deps/simdutf/src/westmere/sse_base64.cpp +672 -0
  587. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf16.cpp +21 -0
  588. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf32.cpp +31 -0
  589. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf8.cpp +71 -0
  590. package/deps/simdutf/src/westmere/sse_convert_utf16_to_latin1.cpp +70 -0
  591. package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf32.cpp +206 -0
  592. package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf8.cpp +504 -0
  593. package/deps/simdutf/src/westmere/sse_convert_utf32_to_latin1.cpp +82 -0
  594. package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf16.cpp +209 -0
  595. package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf8.cpp +589 -0
  596. package/deps/simdutf/src/westmere/sse_convert_utf8_to_latin1.cpp +58 -0
  597. package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf16.cpp +197 -0
  598. package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf32.cpp +141 -0
  599. package/deps/simdutf/src/westmere/sse_utf16fix.cpp +82 -0
  600. package/deps/simdutf/src/westmere/sse_validate_utf16.cpp +17 -0
  601. package/deps/simdutf/tests/CMakeLists.txt +483 -0
  602. package/deps/simdutf/tests/atomic_base64_tests.cpp +2845 -0
  603. package/deps/simdutf/tests/base64_tests.cpp +3617 -0
  604. package/deps/simdutf/tests/basic_fuzzer.cpp +805 -0
  605. package/deps/simdutf/tests/bele_tests.cpp +182 -0
  606. package/deps/simdutf/tests/constexpr_base64_tests.cpp +387 -0
  607. package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +52 -0
  608. package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +80 -0
  609. package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +66 -0
  610. package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +120 -0
  611. package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +203 -0
  612. package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +276 -0
  613. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +109 -0
  614. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +136 -0
  615. package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +193 -0
  616. package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +381 -0
  617. package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +259 -0
  618. package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +266 -0
  619. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +148 -0
  620. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +176 -0
  621. package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +213 -0
  622. package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +318 -0
  623. package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +343 -0
  624. package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +271 -0
  625. package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +111 -0
  626. package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +96 -0
  627. package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +148 -0
  628. package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +192 -0
  629. package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +166 -0
  630. package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +215 -0
  631. package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +181 -0
  632. package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +261 -0
  633. package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +516 -0
  634. package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +579 -0
  635. package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +412 -0
  636. package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +480 -0
  637. package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +671 -0
  638. package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +455 -0
  639. package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +1204 -0
  640. package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +337 -0
  641. package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +37 -0
  642. package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +97 -0
  643. package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +126 -0
  644. package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +71 -0
  645. package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +122 -0
  646. package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +244 -0
  647. package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +49 -0
  648. package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +92 -0
  649. package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +114 -0
  650. package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +109 -0
  651. package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +84 -0
  652. package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +124 -0
  653. package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +221 -0
  654. package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +155 -0
  655. package/deps/simdutf/tests/count_utf16be.cpp +64 -0
  656. package/deps/simdutf/tests/count_utf16le.cpp +61 -0
  657. package/deps/simdutf/tests/count_utf8.cpp +87 -0
  658. package/deps/simdutf/tests/detect_encodings_tests.cpp +312 -0
  659. package/deps/simdutf/tests/embed/valid_utf8.txt +1 -0
  660. package/deps/simdutf/tests/embed_tests.cpp +22 -0
  661. package/deps/simdutf/tests/find_tests.cpp +77 -0
  662. package/deps/simdutf/tests/fixed_string_tests.cpp +153 -0
  663. package/deps/simdutf/tests/helpers/CMakeLists.txt +25 -0
  664. package/deps/simdutf/tests/helpers/compiletime_conversions.h +222 -0
  665. package/deps/simdutf/tests/helpers/fixed_string.h +267 -0
  666. package/deps/simdutf/tests/helpers/random_int.cpp +30 -0
  667. package/deps/simdutf/tests/helpers/random_int.h +39 -0
  668. package/deps/simdutf/tests/helpers/random_utf16.cpp +123 -0
  669. package/deps/simdutf/tests/helpers/random_utf16.h +52 -0
  670. package/deps/simdutf/tests/helpers/random_utf32.cpp +41 -0
  671. package/deps/simdutf/tests/helpers/random_utf32.h +40 -0
  672. package/deps/simdutf/tests/helpers/random_utf8.cpp +93 -0
  673. package/deps/simdutf/tests/helpers/random_utf8.h +36 -0
  674. package/deps/simdutf/tests/helpers/test.cpp +231 -0
  675. package/deps/simdutf/tests/helpers/test.h +193 -0
  676. package/deps/simdutf/tests/helpers/transcode_test_base.cpp +1257 -0
  677. package/deps/simdutf/tests/helpers/transcode_test_base.h +683 -0
  678. package/deps/simdutf/tests/helpers/utf16.h +27 -0
  679. package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +43 -0
  680. package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +47 -0
  681. package/deps/simdutf/tests/internal_tests.cpp +27 -0
  682. package/deps/simdutf/tests/null_safety_tests.cpp +94 -0
  683. package/deps/simdutf/tests/random_fuzzer.cpp +779 -0
  684. package/deps/simdutf/tests/readme_tests.cpp +274 -0
  685. package/deps/simdutf/tests/reference/CMakeLists.txt +23 -0
  686. package/deps/simdutf/tests/reference/decode_utf16.h +81 -0
  687. package/deps/simdutf/tests/reference/decode_utf32.h +47 -0
  688. package/deps/simdutf/tests/reference/encode_latin1.cpp +1 -0
  689. package/deps/simdutf/tests/reference/encode_latin1.h +32 -0
  690. package/deps/simdutf/tests/reference/encode_utf16.cpp +49 -0
  691. package/deps/simdutf/tests/reference/encode_utf16.h +20 -0
  692. package/deps/simdutf/tests/reference/encode_utf32.cpp +1 -0
  693. package/deps/simdutf/tests/reference/encode_utf32.h +36 -0
  694. package/deps/simdutf/tests/reference/encode_utf8.cpp +1 -0
  695. package/deps/simdutf/tests/reference/encode_utf8.h +40 -0
  696. package/deps/simdutf/tests/reference/validate_utf16.cpp +60 -0
  697. package/deps/simdutf/tests/reference/validate_utf16.h +14 -0
  698. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +35 -0
  699. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +13 -0
  700. package/deps/simdutf/tests/reference/validate_utf32.cpp +27 -0
  701. package/deps/simdutf/tests/reference/validate_utf32.h +12 -0
  702. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +27 -0
  703. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +12 -0
  704. package/deps/simdutf/tests/reference/validate_utf8.cpp +82 -0
  705. package/deps/simdutf/tests/reference/validate_utf8.h +11 -0
  706. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +43 -0
  707. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +12 -0
  708. package/deps/simdutf/tests/select_implementation.cpp +43 -0
  709. package/deps/simdutf/tests/simdutf_c_tests.cpp +244 -0
  710. package/deps/simdutf/tests/span_tests.cpp +401 -0
  711. package/deps/simdutf/tests/special_tests.cpp +559 -0
  712. package/deps/simdutf/tests/straight_c_test.c +187 -0
  713. package/deps/simdutf/tests/text_encoding_tests.cpp +77 -0
  714. package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +377 -0
  715. package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +202 -0
  716. package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +165 -0
  717. package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +77 -0
  718. package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +175 -0
  719. package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +188 -0
  720. package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +268 -0
  721. package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +274 -0
  722. package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +92 -0
  723. package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +114 -0
  724. package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +178 -0
  725. package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +88 -0
  726. package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +33 -0
  727. package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +228 -0
  728. package/deps/simdutf/tools/CMakeLists.txt +85 -0
  729. package/deps/simdutf/tools/fastbase64.cpp +250 -0
  730. package/deps/simdutf/tools/sutf.cpp +556 -0
  731. package/deps/simdutf/tools/sutf.h +40 -0
  732. package/package.json +2 -2
@@ -0,0 +1,272 @@
1
+ We define the number of bytes to be the number of *input* bytes.
2
+ We define a 'char' to be a code point (between 1 and 4 bytes).
3
+ ===========================
4
+ Using ICU version 72.1
5
+ testcases: 18
6
+ input detected as UTF16 little-endian
7
+ current system detected as haswell
8
+ ===========================
9
+ utf8_length_from_utf32+fallback, input size: 1699376, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/arabic.utf32.txt
10
+ 7.501 ins/byte, 1.411 cycle/byte, 3.190 GB/s (4.6 %), 4.502 GHz, 5.315 ins/cycle
11
+ 7.501 ins/char, 1.411 cycle/char, 3.190 Gc/s (4.6 %) 1.00 byte/char 133187.0 ns
12
+ utf8_length_from_utf32+haswell, input size: 1699376, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/arabic.utf32.txt
13
+ 1.376 ins/byte, 0.288 cycle/byte, 15.638 GB/s (6.6 %), 4.505 GHz, 4.776 ins/cycle
14
+ 1.376 ins/char, 0.288 cycle/char, 15.638 Gc/s (6.6 %) 1.00 byte/char 27168.0 ns
15
+ utf8_length_from_utf32+icelake, input size: 1699376, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/arabic.utf32.txt
16
+ utf8_length_from_utf32+icelake: unsupported by the system
17
+ utf8_length_from_utf32+westmere, input size: 1699376, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/arabic.utf32.txt
18
+ 3.251 ins/byte, 0.568 cycle/byte, 7.879 GB/s (3.7 %), 4.473 GHz, 5.726 ins/cycle
19
+ 3.251 ins/char, 0.568 cycle/char, 7.879 Gc/s (3.7 %) 1.00 byte/char 53918.0 ns
20
+ input detected as UTF16 little-endian
21
+ current system detected as haswell
22
+ ===========================
23
+ utf8_length_from_utf32+fallback, input size: 548832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/chinese.utf32.txt
24
+ 7.502 ins/byte, 1.414 cycle/byte, 3.179 GB/s (3.8 %), 4.495 GHz, 5.305 ins/cycle
25
+ 7.502 ins/char, 1.414 cycle/char, 3.179 Gc/s (3.8 %) 1.00 byte/char 43162.0 ns
26
+ utf8_length_from_utf32+haswell, input size: 548832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/chinese.utf32.txt
27
+ 1.377 ins/byte, 0.291 cycle/byte, 15.349 GB/s (15.2 %), 4.464 GHz, 4.736 ins/cycle
28
+ 1.377 ins/char, 0.291 cycle/char, 15.349 Gc/s (15.2 %) 1.00 byte/char 8939.0 ns
29
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
30
+ utf8_length_from_utf32+icelake, input size: 548832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/chinese.utf32.txt
31
+ utf8_length_from_utf32+icelake: unsupported by the system
32
+ utf8_length_from_utf32+westmere, input size: 548832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/chinese.utf32.txt
33
+ 3.252 ins/byte, 0.568 cycle/byte, 7.644 GB/s (4.6 %), 4.343 GHz, 5.724 ins/cycle
34
+ 3.252 ins/char, 0.568 cycle/char, 7.644 Gc/s (4.6 %) 1.00 byte/char 17950.0 ns
35
+ input detected as UTF16 little-endian
36
+ current system detected as haswell
37
+ ===========================
38
+ utf8_length_from_utf32+fallback, input size: 575328, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/czech.utf32.txt
39
+ 7.502 ins/byte, 1.415 cycle/byte, 3.178 GB/s (4.2 %), 4.498 GHz, 5.301 ins/cycle
40
+ 7.502 ins/char, 1.415 cycle/char, 3.178 Gc/s (4.2 %) 1.00 byte/char 45257.0 ns
41
+ utf8_length_from_utf32+haswell, input size: 575328, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/czech.utf32.txt
42
+ 1.377 ins/byte, 0.288 cycle/byte, 15.721 GB/s (19.1 %), 4.531 GHz, 4.778 ins/cycle
43
+ 1.377 ins/char, 0.288 cycle/char, 15.721 Gc/s (19.1 %) 1.00 byte/char 9149.0 ns
44
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
45
+ utf8_length_from_utf32+icelake, input size: 575328, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/czech.utf32.txt
46
+ utf8_length_from_utf32+icelake: unsupported by the system
47
+ utf8_length_from_utf32+westmere, input size: 575328, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/czech.utf32.txt
48
+ 3.252 ins/byte, 0.572 cycle/byte, 7.801 GB/s (7.6 %), 4.464 GHz, 5.683 ins/cycle
49
+ 3.252 ins/char, 0.572 cycle/char, 7.801 Gc/s (7.6 %) 1.00 byte/char 18438.0 ns
50
+ input detected as UTF16 little-endian
51
+ current system detected as haswell
52
+ ===========================
53
+ utf8_length_from_utf32+fallback, input size: 1550036, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/english.utf32.txt
54
+ 7.501 ins/byte, 1.411 cycle/byte, 3.189 GB/s (4.5 %), 4.500 GHz, 5.315 ins/cycle
55
+ 7.501 ins/char, 1.411 cycle/char, 3.189 Gc/s (4.5 %) 1.00 byte/char 121523.0 ns
56
+ utf8_length_from_utf32+haswell, input size: 1550036, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/english.utf32.txt
57
+ 1.376 ins/byte, 0.289 cycle/byte, 15.585 GB/s (7.7 %), 4.500 GHz, 4.765 ins/cycle
58
+ 1.376 ins/char, 0.289 cycle/char, 15.585 Gc/s (7.7 %) 1.00 byte/char 24864.0 ns
59
+ utf8_length_from_utf32+icelake, input size: 1550036, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/english.utf32.txt
60
+ utf8_length_from_utf32+icelake: unsupported by the system
61
+ utf8_length_from_utf32+westmere, input size: 1550036, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/english.utf32.txt
62
+ 3.251 ins/byte, 0.568 cycle/byte, 7.837 GB/s (3.1 %), 4.453 GHz, 5.721 ins/cycle
63
+ 3.251 ins/char, 0.568 cycle/char, 7.837 Gc/s (3.1 %) 1.00 byte/char 49447.0 ns
64
+ input detected as UTF16 little-endian
65
+ current system detected as haswell
66
+ ===========================
67
+ utf8_length_from_utf32+fallback, input size: 336500, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/esperanto.utf32.txt
68
+ 7.503 ins/byte, 1.411 cycle/byte, 3.212 GB/s (6.4 %), 4.532 GHz, 5.317 ins/cycle
69
+ 7.503 ins/char, 1.411 cycle/char, 3.212 Gc/s (6.4 %) 1.00 byte/char 26190.0 ns
70
+ utf8_length_from_utf32+haswell, input size: 336500, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/esperanto.utf32.txt
71
+ 1.379 ins/byte, 0.288 cycle/byte, 14.689 GB/s (18.2 %), 4.234 GHz, 4.786 ins/cycle
72
+ 1.379 ins/char, 0.288 cycle/char, 14.689 Gc/s (18.2 %) 1.00 byte/char 5727.0 ns
73
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
74
+ utf8_length_from_utf32+icelake, input size: 336500, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/esperanto.utf32.txt
75
+ utf8_length_from_utf32+icelake: unsupported by the system
76
+ utf8_length_from_utf32+westmere, input size: 336500, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/esperanto.utf32.txt
77
+ 3.254 ins/byte, 0.569 cycle/byte, 7.924 GB/s (13.1 %), 4.513 GHz, 5.714 ins/cycle
78
+ 3.254 ins/char, 0.569 cycle/char, 7.924 Gc/s (13.1 %) 1.00 byte/char 10616.0 ns
79
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
80
+ input detected as UTF16 little-endian
81
+ current system detected as haswell
82
+ ===========================
83
+ utf8_length_from_utf32+fallback, input size: 1739468, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/french.utf32.txt
84
+ 7.501 ins/byte, 1.413 cycle/byte, 3.200 GB/s (4.5 %), 4.522 GHz, 5.307 ins/cycle
85
+ 7.501 ins/char, 1.413 cycle/char, 3.200 Gc/s (4.5 %) 1.00 byte/char 135911.0 ns
86
+ utf8_length_from_utf32+haswell, input size: 1739468, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/french.utf32.txt
87
+ 1.376 ins/byte, 0.289 cycle/byte, 15.724 GB/s (8.7 %), 4.543 GHz, 4.762 ins/cycle
88
+ 1.376 ins/char, 0.289 cycle/char, 15.724 Gc/s (8.7 %) 1.00 byte/char 27657.0 ns
89
+ utf8_length_from_utf32+icelake, input size: 1739468, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/french.utf32.txt
90
+ utf8_length_from_utf32+icelake: unsupported by the system
91
+ utf8_length_from_utf32+westmere, input size: 1739468, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/french.utf32.txt
92
+ 3.251 ins/byte, 0.569 cycle/byte, 7.803 GB/s (12.0 %), 4.437 GHz, 5.717 ins/cycle
93
+ 3.251 ins/char, 0.569 cycle/char, 7.803 Gc/s (12.0 %) 1.00 byte/char 55734.0 ns
94
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
95
+ input detected as UTF16 little-endian
96
+ current system detected as haswell
97
+ ===========================
98
+ utf8_length_from_utf32+fallback, input size: 804860, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/german.utf32.txt
99
+ 7.501 ins/byte, 1.408 cycle/byte, 3.173 GB/s (3.0 %), 4.467 GHz, 5.328 ins/cycle
100
+ 7.501 ins/char, 1.408 cycle/char, 3.173 Gc/s (3.0 %) 1.00 byte/char 63415.0 ns
101
+ utf8_length_from_utf32+haswell, input size: 804860, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/german.utf32.txt
102
+ 1.377 ins/byte, 0.293 cycle/byte, 15.244 GB/s (13.2 %), 4.459 GHz, 4.707 ins/cycle
103
+ 1.377 ins/char, 0.293 cycle/char, 15.244 Gc/s (13.2 %) 1.00 byte/char 13200.0 ns
104
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
105
+ utf8_length_from_utf32+icelake, input size: 804860, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/german.utf32.txt
106
+ utf8_length_from_utf32+icelake: unsupported by the system
107
+ utf8_length_from_utf32+westmere, input size: 804860, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/german.utf32.txt
108
+ 3.252 ins/byte, 0.569 cycle/byte, 7.937 GB/s (6.7 %), 4.520 GHz, 5.710 ins/cycle
109
+ 3.252 ins/char, 0.569 cycle/char, 7.937 Gc/s (6.7 %) 1.00 byte/char 25352.0 ns
110
+ input detected as UTF16 little-endian
111
+ current system detected as haswell
112
+ ===========================
113
+ utf8_length_from_utf32+fallback, input size: 571996, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/greek.utf32.txt
114
+ 7.502 ins/byte, 1.411 cycle/byte, 3.155 GB/s (3.0 %), 4.451 GHz, 5.317 ins/cycle
115
+ 7.502 ins/char, 1.411 cycle/char, 3.155 Gc/s (3.0 %) 1.00 byte/char 45326.0 ns
116
+ utf8_length_from_utf32+haswell, input size: 571996, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/greek.utf32.txt
117
+ 1.378 ins/byte, 0.290 cycle/byte, 15.511 GB/s (20.9 %), 4.491 GHz, 4.759 ins/cycle
118
+ 1.378 ins/char, 0.290 cycle/char, 15.511 Gc/s (20.9 %) 1.00 byte/char 9219.0 ns
119
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
120
+ utf8_length_from_utf32+icelake, input size: 571996, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/greek.utf32.txt
121
+ utf8_length_from_utf32+icelake: unsupported by the system
122
+ utf8_length_from_utf32+westmere, input size: 571996, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/greek.utf32.txt
123
+ 3.252 ins/byte, 0.569 cycle/byte, 7.815 GB/s (15.3 %), 4.444 GHz, 5.719 ins/cycle
124
+ 3.252 ins/char, 0.569 cycle/char, 7.815 Gc/s (15.3 %) 1.00 byte/char 18298.0 ns
125
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
126
+ input detected as UTF16 little-endian
127
+ current system detected as haswell
128
+ ===========================
129
+ utf8_length_from_utf32+fallback, input size: 585404, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hebrew.utf32.txt
130
+ 7.502 ins/byte, 1.426 cycle/byte, 3.165 GB/s (3.9 %), 4.514 GHz, 5.261 ins/cycle
131
+ 7.502 ins/char, 1.426 cycle/char, 3.165 Gc/s (3.9 %) 1.00 byte/char 46235.0 ns
132
+ utf8_length_from_utf32+haswell, input size: 585404, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hebrew.utf32.txt
133
+ 1.378 ins/byte, 0.288 cycle/byte, 15.409 GB/s (18.4 %), 4.433 GHz, 4.788 ins/cycle
134
+ 1.378 ins/char, 0.288 cycle/char, 15.409 Gc/s (18.4 %) 1.00 byte/char 9498.0 ns
135
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
136
+ utf8_length_from_utf32+icelake, input size: 585404, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hebrew.utf32.txt
137
+ utf8_length_from_utf32+icelake: unsupported by the system
138
+ utf8_length_from_utf32+westmere, input size: 585404, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hebrew.utf32.txt
139
+ 3.252 ins/byte, 0.570 cycle/byte, 7.819 GB/s (9.7 %), 4.459 GHz, 5.703 ins/cycle
140
+ 3.252 ins/char, 0.570 cycle/char, 7.819 Gc/s (9.7 %) 1.00 byte/char 18718.0 ns
141
+ input detected as UTF16 little-endian
142
+ current system detected as haswell
143
+ ===========================
144
+ utf8_length_from_utf32+fallback, input size: 1095832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hindi.utf32.txt
145
+ 7.501 ins/byte, 1.417 cycle/byte, 3.184 GB/s (2.9 %), 4.512 GHz, 5.294 ins/cycle
146
+ 7.501 ins/char, 1.417 cycle/char, 3.184 Gc/s (2.9 %) 1.00 byte/char 86044.0 ns
147
+ utf8_length_from_utf32+haswell, input size: 1095832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hindi.utf32.txt
148
+ 1.376 ins/byte, 0.290 cycle/byte, 15.030 GB/s (6.4 %), 4.361 GHz, 4.743 ins/cycle
149
+ 1.376 ins/char, 0.290 cycle/char, 15.030 Gc/s (6.4 %) 1.00 byte/char 18228.0 ns
150
+ utf8_length_from_utf32+icelake, input size: 1095832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hindi.utf32.txt
151
+ utf8_length_from_utf32+icelake: unsupported by the system
152
+ utf8_length_from_utf32+westmere, input size: 1095832, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/hindi.utf32.txt
153
+ 3.251 ins/byte, 0.570 cycle/byte, 7.783 GB/s (4.5 %), 4.434 GHz, 5.707 ins/cycle
154
+ 3.251 ins/char, 0.570 cycle/char, 7.783 Gc/s (4.5 %) 1.00 byte/char 35200.0 ns
155
+ input detected as UTF16 little-endian
156
+ current system detected as haswell
157
+ ===========================
158
+ utf8_length_from_utf32+fallback, input size: 475564, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/japanese.utf32.txt
159
+ 7.502 ins/byte, 1.417 cycle/byte, 3.158 GB/s (4.7 %), 4.474 GHz, 5.296 ins/cycle
160
+ 7.502 ins/char, 1.417 cycle/char, 3.158 Gc/s (4.7 %) 1.00 byte/char 37644.0 ns
161
+ utf8_length_from_utf32+haswell, input size: 475564, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/japanese.utf32.txt
162
+ 1.378 ins/byte, 0.289 cycle/byte, 15.762 GB/s (20.9 %), 4.554 GHz, 4.769 ins/cycle
163
+ 1.378 ins/char, 0.289 cycle/char, 15.762 Gc/s (20.9 %) 1.00 byte/char 7543.0 ns
164
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
165
+ utf8_length_from_utf32+icelake, input size: 475564, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/japanese.utf32.txt
166
+ utf8_length_from_utf32+icelake: unsupported by the system
167
+ utf8_length_from_utf32+westmere, input size: 475564, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/japanese.utf32.txt
168
+ 3.253 ins/byte, 0.570 cycle/byte, 7.955 GB/s (14.0 %), 4.534 GHz, 5.707 ins/cycle
169
+ 3.253 ins/char, 0.570 cycle/char, 7.955 Gc/s (14.0 %) 1.00 byte/char 14946.0 ns
170
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
171
+ input detected as UTF16 little-endian
172
+ current system detected as haswell
173
+ ===========================
174
+ utf8_length_from_utf32+fallback, input size: 291672, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/korean.utf32.txt
175
+ 7.503 ins/byte, 1.411 cycle/byte, 3.183 GB/s (6.3 %), 4.492 GHz, 5.316 ins/cycle
176
+ 7.503 ins/char, 1.411 cycle/char, 3.183 Gc/s (6.3 %) 1.00 byte/char 22908.0 ns
177
+ utf8_length_from_utf32+haswell, input size: 291672, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/korean.utf32.txt
178
+ 1.380 ins/byte, 0.290 cycle/byte, 15.131 GB/s (24.5 %), 4.392 GHz, 4.755 ins/cycle
179
+ 1.380 ins/char, 0.290 cycle/char, 15.131 Gc/s (24.5 %) 1.00 byte/char 4819.0 ns
180
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
181
+ utf8_length_from_utf32+icelake, input size: 291672, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/korean.utf32.txt
182
+ utf8_length_from_utf32+icelake: unsupported by the system
183
+ utf8_length_from_utf32+westmere, input size: 291672, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/korean.utf32.txt
184
+ 3.254 ins/byte, 0.570 cycle/byte, 7.970 GB/s (16.2 %), 4.546 GHz, 5.705 ins/cycle
185
+ 3.254 ins/char, 0.570 cycle/char, 7.970 Gc/s (16.2 %) 1.00 byte/char 9149.0 ns
186
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
187
+ input detected as UTF16 little-endian
188
+ current system detected as haswell
189
+ ===========================
190
+ utf8_length_from_utf32+fallback, input size: 498776, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/persan.utf32.txt
191
+ 7.502 ins/byte, 1.416 cycle/byte, 3.183 GB/s (4.6 %), 4.506 GHz, 5.299 ins/cycle
192
+ 7.502 ins/char, 1.416 cycle/char, 3.183 Gc/s (4.6 %) 1.00 byte/char 39181.0 ns
193
+ utf8_length_from_utf32+haswell, input size: 498776, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/persan.utf32.txt
194
+ 1.378 ins/byte, 0.292 cycle/byte, 14.058 GB/s (5.7 %), 4.108 GHz, 4.716 ins/cycle
195
+ 1.378 ins/char, 0.292 cycle/char, 14.058 Gc/s (5.7 %) 1.00 byte/char 8870.0 ns
196
+ utf8_length_from_utf32+icelake, input size: 498776, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/persan.utf32.txt
197
+ utf8_length_from_utf32+icelake: unsupported by the system
198
+ utf8_length_from_utf32+westmere, input size: 498776, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/persan.utf32.txt
199
+ 3.253 ins/byte, 0.571 cycle/byte, 7.797 GB/s (9.8 %), 4.455 GHz, 5.693 ins/cycle
200
+ 3.253 ins/char, 0.571 cycle/char, 7.797 Gc/s (9.8 %) 1.00 byte/char 15993.0 ns
201
+ input detected as UTF16 little-endian
202
+ current system detected as haswell
203
+ ===========================
204
+ utf8_length_from_utf32+fallback, input size: 1094456, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/portuguese.utf32.txt
205
+ 7.501 ins/byte, 1.411 cycle/byte, 3.177 GB/s (2.6 %), 4.483 GHz, 5.316 ins/cycle
206
+ 7.501 ins/char, 1.411 cycle/char, 3.177 Gc/s (2.6 %) 1.00 byte/char 86114.0 ns
207
+ utf8_length_from_utf32+haswell, input size: 1094456, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/portuguese.utf32.txt
208
+ 1.376 ins/byte, 0.290 cycle/byte, 15.424 GB/s (15.5 %), 4.470 GHz, 4.749 ins/cycle
209
+ 1.376 ins/char, 0.290 cycle/char, 15.424 Gc/s (15.5 %) 1.00 byte/char 17739.0 ns
210
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
211
+ utf8_length_from_utf32+icelake, input size: 1094456, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/portuguese.utf32.txt
212
+ utf8_length_from_utf32+icelake: unsupported by the system
213
+ utf8_length_from_utf32+westmere, input size: 1094456, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/portuguese.utf32.txt
214
+ 3.251 ins/byte, 0.569 cycle/byte, 7.947 GB/s (6.4 %), 4.526 GHz, 5.709 ins/cycle
215
+ 3.251 ins/char, 0.569 cycle/char, 7.947 Gc/s (6.4 %) 1.00 byte/char 34431.0 ns
216
+ input detected as UTF16 little-endian
217
+ current system detected as haswell
218
+ ===========================
219
+ utf8_length_from_utf32+fallback, input size: 1248148, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/russian.utf32.txt
220
+ 7.501 ins/byte, 1.417 cycle/byte, 3.207 GB/s (5.4 %), 4.544 GHz, 5.294 ins/cycle
221
+ 7.501 ins/char, 1.417 cycle/char, 3.207 Gc/s (5.4 %) 1.00 byte/char 97288.0 ns
222
+ utf8_length_from_utf32+haswell, input size: 1248148, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/russian.utf32.txt
223
+ 1.376 ins/byte, 0.291 cycle/byte, 15.406 GB/s (9.6 %), 4.483 GHz, 4.729 ins/cycle
224
+ 1.376 ins/char, 0.291 cycle/char, 15.406 Gc/s (9.6 %) 1.00 byte/char 20254.0 ns
225
+ utf8_length_from_utf32+icelake, input size: 1248148, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/russian.utf32.txt
226
+ utf8_length_from_utf32+icelake: unsupported by the system
227
+ utf8_length_from_utf32+westmere, input size: 1248148, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/russian.utf32.txt
228
+ 3.251 ins/byte, 0.568 cycle/byte, 7.797 GB/s (7.0 %), 4.425 GHz, 5.728 ins/cycle
229
+ 3.251 ins/char, 0.568 cycle/char, 7.797 Gc/s (7.0 %) 1.00 byte/char 40019.0 ns
230
+ input detected as UTF16 little-endian
231
+ current system detected as haswell
232
+ ===========================
233
+ utf8_length_from_utf32+fallback, input size: 1619032, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/thai.utf32.txt
234
+ 7.501 ins/byte, 1.410 cycle/byte, 3.191 GB/s (5.2 %), 4.499 GHz, 5.320 ins/cycle
235
+ 7.501 ins/char, 1.410 cycle/char, 3.191 Gc/s (5.2 %) 1.00 byte/char 126831.0 ns
236
+ utf8_length_from_utf32+haswell, input size: 1619032, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/thai.utf32.txt
237
+ 1.376 ins/byte, 0.290 cycle/byte, 15.455 GB/s (7.4 %), 4.479 GHz, 4.748 ins/cycle
238
+ 1.376 ins/char, 0.290 cycle/char, 15.455 Gc/s (7.4 %) 1.00 byte/char 26190.0 ns
239
+ utf8_length_from_utf32+icelake, input size: 1619032, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/thai.utf32.txt
240
+ utf8_length_from_utf32+icelake: unsupported by the system
241
+ utf8_length_from_utf32+westmere, input size: 1619032, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/thai.utf32.txt
242
+ 3.251 ins/byte, 0.569 cycle/byte, 7.842 GB/s (3.6 %), 4.460 GHz, 5.716 ins/cycle
243
+ 3.251 ins/char, 0.569 cycle/char, 7.842 Gc/s (3.6 %) 1.00 byte/char 51612.0 ns
244
+ input detected as UTF16 little-endian
245
+ current system detected as haswell
246
+ ===========================
247
+ utf8_length_from_utf32+fallback, input size: 741768, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/turkish.utf32.txt
248
+ 7.501 ins/byte, 1.413 cycle/byte, 3.191 GB/s (4.2 %), 4.510 GHz, 5.308 ins/cycle
249
+ 7.501 ins/char, 1.413 cycle/char, 3.191 Gc/s (4.2 %) 1.00 byte/char 58108.0 ns
250
+ utf8_length_from_utf32+haswell, input size: 741768, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/turkish.utf32.txt
251
+ 1.377 ins/byte, 0.301 cycle/byte, 15.086 GB/s (18.4 %), 4.541 GHz, 4.573 ins/cycle
252
+ 1.377 ins/char, 0.301 cycle/char, 15.086 Gc/s (18.4 %) 1.00 byte/char 12292.0 ns
253
+ WARNING: Measurements are noisy, try increasing iteration count (-I).
254
+ utf8_length_from_utf32+icelake, input size: 741768, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/turkish.utf32.txt
255
+ utf8_length_from_utf32+icelake: unsupported by the system
256
+ utf8_length_from_utf32+westmere, input size: 741768, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/turkish.utf32.txt
257
+ 3.251 ins/byte, 0.568 cycle/byte, 7.809 GB/s (6.6 %), 4.438 GHz, 5.721 ins/cycle
258
+ 3.251 ins/char, 0.568 cycle/char, 7.809 Gc/s (6.6 %) 1.00 byte/char 23746.0 ns
259
+ input detected as UTF16 little-endian
260
+ current system detected as haswell
261
+ ===========================
262
+ utf8_length_from_utf32+fallback, input size: 1129676, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/vietnamese.utf32.txt
263
+ 7.501 ins/byte, 1.425 cycle/byte, 3.182 GB/s (3.3 %), 4.534 GHz, 5.263 ins/cycle
264
+ 7.501 ins/char, 1.425 cycle/char, 3.182 Gc/s (3.3 %) 1.00 byte/char 88767.0 ns
265
+ utf8_length_from_utf32+haswell, input size: 1129676, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/vietnamese.utf32.txt
266
+ 1.376 ins/byte, 0.291 cycle/byte, 15.317 GB/s (8.0 %), 4.453 GHz, 4.734 ins/cycle
267
+ 1.376 ins/char, 0.291 cycle/char, 15.317 Gc/s (8.0 %) 1.00 byte/char 18438.0 ns
268
+ utf8_length_from_utf32+icelake, input size: 1129676, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/vietnamese.utf32.txt
269
+ utf8_length_from_utf32+icelake: unsupported by the system
270
+ utf8_length_from_utf32+westmere, input size: 1129676, iterations: 1000, dataset: unicode_lipsum/wikipedia_mars/vietnamese.utf32.txt
271
+ 3.251 ins/byte, 0.569 cycle/byte, 7.807 GB/s (4.4 %), 4.445 GHz, 5.710 ins/cycle
272
+ 3.251 ins/char, 0.569 cycle/char, 7.807 Gc/s (4.4 %) 1.00 byte/char 36177.0 ns
@@ -0,0 +1,11 @@
1
+ prefix=@CMAKE_INSTALL_PREFIX@
2
+ includedir=@PKGCONFIG_INCLUDEDIR@
3
+ libdir=@PKGCONFIG_LIBDIR@
4
+
5
+ Name: @PROJECT_NAME@
6
+ Description: @PROJECT_DESCRIPTION@
7
+ URL: @PROJECT_HOMEPAGE_URL@
8
+ Version: @PROJECT_VERSION@
9
+ Cflags: -I${includedir} @PKGCONFIG_CFLAGS@
10
+ Libs: -L${libdir} -l@PROJECT_NAME@
11
+ @PKGCONFIG_LIBS_PRIVATE@
@@ -0,0 +1,2 @@
1
+ [flake8]
2
+ extend-ignore = E501, E221, E203
@@ -0,0 +1,64 @@
1
+ #
2
+ # Amalgamation
3
+ #
4
+ set(SINGLEHEADER_FILES
5
+ ${CMAKE_CURRENT_BINARY_DIR}/simdutf.cpp
6
+ ${CMAKE_CURRENT_BINARY_DIR}/simdutf.h
7
+ ${CMAKE_CURRENT_BINARY_DIR}/amalgamation_demo.cpp
8
+ ${CMAKE_CURRENT_BINARY_DIR}/README.md
9
+ )
10
+ set_source_files_properties(${SINGLEHEADER_FILES} PROPERTIES GENERATED TRUE)
11
+
12
+ # In theory, this is unneeded, because the tests module does the same test:
13
+ find_package (Python3 COMPONENTS Interpreter)
14
+
15
+ if (Python3_Interpreter_FOUND)
16
+ MESSAGE( STATUS "Python found, we are going to amalgamate.py." )
17
+
18
+ add_custom_command(
19
+ OUTPUT ${SINGLEHEADER_FILES}
20
+ COMMAND ${CMAKE_COMMAND} -E env
21
+ AMALGAMATE_SOURCE_PATH=${PROJECT_SOURCE_DIR}/src
22
+ AMALGAMATE_INPUT_PATH=${PROJECT_SOURCE_DIR}/include
23
+ AMALGAMATE_OUTPUT_PATH=${CMAKE_CURRENT_BINARY_DIR}
24
+ ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/amalgamate.py
25
+ #
26
+ # This is the best way I could find to make amalgamation trigger whenever source files or
27
+ # header files change: since the "simdutf" library has to get rebuilt when that happens, we
28
+ # take a dependency on the generated library file (even though we're not using it). Depending
29
+ # on simdutf-source doesn't do the trick because DEPENDS here can only depend on an
30
+ # *artifact*--it won't scan source and include files the way a concrete library or executable
31
+ # will.
32
+ #
33
+ # It sucks that we have to build the actual library to make it happen, but it's better than\
34
+ # nothing!
35
+ #
36
+ DEPENDS amalgamate.py simdutf
37
+ )
38
+ add_custom_target(simdutf-singleheader-files DEPENDS ${SINGLEHEADER_FILES})
39
+
40
+ #
41
+ # Include this if you intend to #include "simdutf.cpp" in your own .cpp files.
42
+ #
43
+ add_library(simdutf-singleheader-include-source INTERFACE)
44
+ target_include_directories(simdutf-singleheader-include-source INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
45
+ add_dependencies(simdutf-singleheader-include-source simdutf-singleheader-files)
46
+
47
+ add_library(simdutf-singleheader-source INTERFACE)
48
+ target_sources(simdutf-singleheader-source INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/simdutf.cpp>)
49
+ target_link_libraries(simdutf-singleheader-source INTERFACE simdutf-singleheader-include-source)
50
+ if (SIMDUTF_TESTS)
51
+ add_executable(amalgamation_demo $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/amalgamation_demo.cpp>)
52
+ target_link_libraries(amalgamation_demo simdutf-singleheader-include-source)
53
+ if (CMAKE_CROSSCOMPILING_EMULATOR)
54
+ add_test(amalgamation_demo ${CMAKE_CROSSCOMPILING_EMULATOR} amalgamation_demo)
55
+ else()
56
+ add_test(amalgamation_demo amalgamation_demo)
57
+ endif()
58
+ if(NOT MSVC)
59
+ set_source_files_properties($<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/simdutf.cpp> PROPERTIES COMPILE_OPTIONS "-Wall;-Wextra;-Weffc++;-Wfatal-errors;-Wsign-compare;-Wshadow;-Wwrite-strings;-Wpointer-arith;-Winit-self;-Wconversion;-Wno-sign-conversion;-Wunused-function")
60
+ endif()
61
+ endif()
62
+ else()
63
+ MESSAGE( STATUS "Python not found, we are unable to test amalgamate.py." )
64
+ endif()
@@ -0,0 +1,81 @@
1
+ # Selective amalgamation
2
+
3
+ This short text is intended for the `simdutf` developers.
4
+
5
+ ## How to enable/disable given piece of code
6
+
7
+ We use the following macros:
8
+
9
+ * `SIMDUTF_FEATURE_BASE64`
10
+ * `SIMDUTF_FEATURE_UTF8`
11
+ * `SIMDUTF_FEATURE_UTF16`
12
+ * `SIMDUTF_FEATURE_UTF32`
13
+ * `SIMDUTF_FEATURE_ASCII`
14
+ * `SIMDUTF_FEATURE_LATIN1`
15
+ * `SIMDUTF_FEATURE_DETECT_ENCODING`
16
+
17
+ The macros have by default value 1. Only during amalgamation
18
+ their values can be altered to 0.
19
+
20
+ Technically, there are two constraints on `SIMDUTF_FEATURE_XYZ`
21
+ flags:
22
+
23
+ * They must not be nested. Use logical operators for something
24
+ more complex, like: `...UTF8 && (...UTF16 || ...UTF32)`.
25
+ * The corresponding `endif` must contain a repeated condition,
26
+ of course commented out, like `#endif // SIMDUTF_FEATURE_BASE64`.
27
+
28
+ When we select given set of features, the API of library
29
+ is reduced only to these features. It is the responsibility
30
+ of users to detect whether they header having the expected
31
+ set of features.
32
+
33
+
34
+ ## Testing
35
+
36
+ Making sure that selective amalgamation works as expected
37
+ requires only a little work.
38
+
39
+ We assume that at least `c++` command is available.
40
+
41
+ 1. First of all, we need to execute `./test-features.py`.
42
+ It requires Python3.4, as we extensively use `pathlib`.
43
+ 2. The script will detect what additional crosscompilers
44
+ are available on the machine, and will generate
45
+ `Makefile` using this information.
46
+ 3. Finally run `make Makefile`, preferably with `-j` argument.
47
+
48
+ Our `Makefile` generates amalgamated library with different variants
49
+ of features; the variants are predefined in `test-features.py`. Each
50
+ feature set is compiled with all detected C++ compilers.
51
+
52
+ A sample test session looks like that:
53
+
54
+ ```
55
+ $ ./test-features.py
56
+ Found the following crosscompilers in $PATH:
57
+ aarch64 : aarch64-linux-gnu-g++-14
58
+ powerpc64 : powerpc64-linux-gnu-g++
59
+ loongarch64 : loongarch64-linux-gnu-g++-14
60
+ loongarch64lasx : loongarch64-linux-gnu-g++-14
61
+ riscv64 : riscv64-linux-gnu-g++-14
62
+
63
+ $ make help
64
+ make all --- build all targets
65
+ make clear --- remove all generated files
66
+ make help --- show this help
67
+
68
+ make default --- build using c++
69
+ make aarch64 --- build using aarch64-linux-gnu-g++-14
70
+ make powerpc64 --- build using powerpc64-linux-gnu-g++
71
+ make loongarch64 --- build using loongarch64-linux-gnu-g++-14
72
+ make loongarch64lasx --- build using loongarch64-linux-gnu-g++-14
73
+ make riscv64 --- build using riscv64-linux-gnu-g++-14
74
+
75
+ $ make -j<some-sane-number>
76
+ ...
77
+ ```
78
+
79
+ Please do not commit `Makefile`, it's tailored for the
80
+ machine where `test-features.py` was run.
81
+
@@ -0,0 +1,19 @@
1
+
2
+
3
+ While in the singleheader directory under a linux or macOS system with an install toolchain, try:
4
+
5
+ ```
6
+ c++ -o amalgamation_demo amalgamation_demo.cpp -std=c++17 && ./amalgamation_demo
7
+ ```
8
+
9
+
10
+ ### C Demo
11
+
12
+ You may also build a C executable.
13
+
14
+ ```
15
+ c++ -c simdutf.cpp
16
+ cc -c ./amalgamation_demo.c
17
+ c++ amalgamation_demo.o simdutf.o -o cdemo
18
+ ./cdemo
19
+ ```