react-native-quick-crypto 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (687) hide show
  1. package/android/build.gradle +5 -1
  2. package/cpp/argon2/HybridArgon2.cpp +10 -3
  3. package/cpp/blake3/HybridBlake3.cpp +5 -3
  4. package/cpp/cipher/CCMCipher.cpp +29 -16
  5. package/cpp/cipher/CCMCipher.hpp +2 -4
  6. package/cpp/cipher/ChaCha20Cipher.cpp +14 -18
  7. package/cpp/cipher/ChaCha20Cipher.hpp +2 -4
  8. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +34 -23
  9. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +2 -4
  10. package/cpp/cipher/GCMCipher.cpp +14 -15
  11. package/cpp/cipher/HybridCipher.cpp +39 -36
  12. package/cpp/cipher/HybridCipher.hpp +17 -1
  13. package/cpp/cipher/HybridRsaCipher.cpp +74 -29
  14. package/cpp/cipher/OCBCipher.cpp +4 -3
  15. package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +14 -13
  16. package/cpp/cipher/XSalsa20Cipher.cpp +72 -6
  17. package/cpp/cipher/XSalsa20Cipher.hpp +25 -3
  18. package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +21 -25
  19. package/cpp/dh/HybridDiffieHellman.cpp +29 -0
  20. package/cpp/ec/HybridEcKeyPair.cpp +35 -33
  21. package/cpp/ec/HybridEcKeyPair.hpp +3 -7
  22. package/cpp/ecdh/HybridECDH.cpp +23 -0
  23. package/cpp/ed25519/HybridEdKeyPair.cpp +73 -117
  24. package/cpp/ed25519/HybridEdKeyPair.hpp +5 -9
  25. package/cpp/hash/HybridHash.cpp +5 -7
  26. package/cpp/hkdf/HybridHkdf.cpp +6 -4
  27. package/cpp/hmac/HybridHmac.cpp +4 -6
  28. package/cpp/kmac/HybridKmac.cpp +4 -4
  29. package/cpp/mldsa/HybridMlDsaKeyPair.cpp +37 -49
  30. package/cpp/mlkem/HybridMlKemKeyPair.cpp +39 -43
  31. package/cpp/pbkdf2/HybridPbkdf2.cpp +7 -8
  32. package/cpp/rsa/HybridRsaKeyPair.cpp +5 -8
  33. package/cpp/rsa/HybridRsaKeyPair.hpp +4 -7
  34. package/cpp/scrypt/HybridScrypt.cpp +6 -4
  35. package/cpp/sign/HybridSignHandle.cpp +25 -68
  36. package/cpp/sign/HybridVerifyHandle.cpp +23 -60
  37. package/cpp/utils/HybridUtils.cpp +183 -43
  38. package/cpp/utils/HybridUtils.hpp +9 -2
  39. package/cpp/utils/QuickCryptoUtils.hpp +72 -0
  40. package/lib/commonjs/argon2.js +51 -2
  41. package/lib/commonjs/argon2.js.map +1 -1
  42. package/lib/commonjs/cipher.js +109 -11
  43. package/lib/commonjs/cipher.js.map +1 -1
  44. package/lib/commonjs/dsa.js +8 -2
  45. package/lib/commonjs/dsa.js.map +1 -1
  46. package/lib/commonjs/hash.js +15 -5
  47. package/lib/commonjs/hash.js.map +1 -1
  48. package/lib/commonjs/hkdf.js +33 -6
  49. package/lib/commonjs/hkdf.js.map +1 -1
  50. package/lib/commonjs/hmac.js +15 -5
  51. package/lib/commonjs/hmac.js.map +1 -1
  52. package/lib/commonjs/keys/publicCipher.js +10 -4
  53. package/lib/commonjs/keys/publicCipher.js.map +1 -1
  54. package/lib/commonjs/random.js +11 -2
  55. package/lib/commonjs/random.js.map +1 -1
  56. package/lib/commonjs/rsa.js +12 -5
  57. package/lib/commonjs/rsa.js.map +1 -1
  58. package/lib/commonjs/scrypt.js +47 -6
  59. package/lib/commonjs/scrypt.js.map +1 -1
  60. package/lib/commonjs/subtle.js +76 -5
  61. package/lib/commonjs/subtle.js.map +1 -1
  62. package/lib/commonjs/utils/cipher.js +18 -7
  63. package/lib/commonjs/utils/cipher.js.map +1 -1
  64. package/lib/commonjs/utils/conversion.js +33 -9
  65. package/lib/commonjs/utils/conversion.js.map +1 -1
  66. package/lib/commonjs/utils/timingSafeEqual.js +7 -2
  67. package/lib/commonjs/utils/timingSafeEqual.js.map +1 -1
  68. package/lib/commonjs/x509certificate.js +6 -6
  69. package/lib/commonjs/x509certificate.js.map +1 -1
  70. package/lib/module/argon2.js +51 -2
  71. package/lib/module/argon2.js.map +1 -1
  72. package/lib/module/cipher.js +109 -11
  73. package/lib/module/cipher.js.map +1 -1
  74. package/lib/module/dsa.js +8 -2
  75. package/lib/module/dsa.js.map +1 -1
  76. package/lib/module/hash.js +15 -5
  77. package/lib/module/hash.js.map +1 -1
  78. package/lib/module/hkdf.js +33 -6
  79. package/lib/module/hkdf.js.map +1 -1
  80. package/lib/module/hmac.js +15 -5
  81. package/lib/module/hmac.js.map +1 -1
  82. package/lib/module/keys/publicCipher.js +10 -4
  83. package/lib/module/keys/publicCipher.js.map +1 -1
  84. package/lib/module/random.js +11 -2
  85. package/lib/module/random.js.map +1 -1
  86. package/lib/module/rsa.js +11 -4
  87. package/lib/module/rsa.js.map +1 -1
  88. package/lib/module/scrypt.js +47 -6
  89. package/lib/module/scrypt.js.map +1 -1
  90. package/lib/module/subtle.js +76 -5
  91. package/lib/module/subtle.js.map +1 -1
  92. package/lib/module/utils/cipher.js +18 -7
  93. package/lib/module/utils/cipher.js.map +1 -1
  94. package/lib/module/utils/conversion.js +33 -9
  95. package/lib/module/utils/conversion.js.map +1 -1
  96. package/lib/module/utils/timingSafeEqual.js +8 -3
  97. package/lib/module/utils/timingSafeEqual.js.map +1 -1
  98. package/lib/module/x509certificate.js +6 -6
  99. package/lib/module/x509certificate.js.map +1 -1
  100. package/lib/typescript/argon2.d.ts.map +1 -1
  101. package/lib/typescript/cipher.d.ts +2 -2
  102. package/lib/typescript/cipher.d.ts.map +1 -1
  103. package/lib/typescript/dsa.d.ts.map +1 -1
  104. package/lib/typescript/hash.d.ts +2 -2
  105. package/lib/typescript/hash.d.ts.map +1 -1
  106. package/lib/typescript/hkdf.d.ts.map +1 -1
  107. package/lib/typescript/hmac.d.ts +2 -2
  108. package/lib/typescript/hmac.d.ts.map +1 -1
  109. package/lib/typescript/index.d.ts +1 -1
  110. package/lib/typescript/index.d.ts.map +1 -1
  111. package/lib/typescript/keys/publicCipher.d.ts.map +1 -1
  112. package/lib/typescript/random.d.ts.map +1 -1
  113. package/lib/typescript/rsa.d.ts.map +1 -1
  114. package/lib/typescript/scrypt.d.ts.map +1 -1
  115. package/lib/typescript/specs/utils.nitro.d.ts +0 -2
  116. package/lib/typescript/specs/utils.nitro.d.ts.map +1 -1
  117. package/lib/typescript/subtle.d.ts.map +1 -1
  118. package/lib/typescript/utils/cipher.d.ts +13 -1
  119. package/lib/typescript/utils/cipher.d.ts.map +1 -1
  120. package/lib/typescript/utils/conversion.d.ts +9 -6
  121. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  122. package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -1
  123. package/lib/typescript/x509certificate.d.ts.map +1 -1
  124. package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +0 -2
  125. package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +0 -3
  126. package/package.json +37 -5
  127. package/src/argon2.ts +80 -2
  128. package/src/cipher.ts +139 -15
  129. package/src/dsa.ts +11 -2
  130. package/src/hash.ts +17 -7
  131. package/src/hkdf.ts +44 -6
  132. package/src/hmac.ts +17 -7
  133. package/src/keys/publicCipher.ts +10 -4
  134. package/src/random.ts +11 -2
  135. package/src/rsa.ts +18 -4
  136. package/src/scrypt.ts +73 -6
  137. package/src/specs/utils.nitro.ts +0 -2
  138. package/src/subtle.ts +90 -8
  139. package/src/utils/cipher.ts +30 -8
  140. package/src/utils/conversion.ts +58 -20
  141. package/src/utils/timingSafeEqual.ts +8 -3
  142. package/src/x509certificate.ts +5 -6
  143. package/deps/blake3/.cargo/config.toml +0 -2
  144. package/deps/blake3/.git-blame-ignore-revs +0 -2
  145. package/deps/blake3/.github/workflows/build_b3sum.py +0 -38
  146. package/deps/blake3/.github/workflows/ci.yml +0 -491
  147. package/deps/blake3/.github/workflows/tag.yml +0 -43
  148. package/deps/blake3/.github/workflows/upload_github_release_asset.py +0 -73
  149. package/deps/blake3/CONTRIBUTING.md +0 -31
  150. package/deps/blake3/Cargo.toml +0 -135
  151. package/deps/blake3/b3sum/Cargo.lock +0 -513
  152. package/deps/blake3/b3sum/Cargo.toml +0 -26
  153. package/deps/blake3/b3sum/README.md +0 -72
  154. package/deps/blake3/b3sum/src/main.rs +0 -564
  155. package/deps/blake3/b3sum/src/unit_tests.rs +0 -235
  156. package/deps/blake3/b3sum/tests/cli_tests.rs +0 -680
  157. package/deps/blake3/b3sum/what_does_check_do.md +0 -176
  158. package/deps/blake3/benches/bench.rs +0 -623
  159. package/deps/blake3/build.rs +0 -389
  160. package/deps/blake3/c/CMakeLists.txt +0 -383
  161. package/deps/blake3/c/CMakePresets.json +0 -73
  162. package/deps/blake3/c/Makefile.testing +0 -82
  163. package/deps/blake3/c/blake3-config.cmake.in +0 -14
  164. package/deps/blake3/c/blake3_avx2.c +0 -326
  165. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +0 -1815
  166. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +0 -1817
  167. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +0 -1828
  168. package/deps/blake3/c/blake3_avx512.c +0 -1388
  169. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +0 -4824
  170. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +0 -2615
  171. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +0 -2634
  172. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +0 -32
  173. package/deps/blake3/c/blake3_c_rust_bindings/README.md +0 -4
  174. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +0 -477
  175. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +0 -253
  176. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +0 -31
  177. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +0 -333
  178. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +0 -696
  179. package/deps/blake3/c/blake3_sse2.c +0 -566
  180. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +0 -2291
  181. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +0 -2332
  182. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +0 -2350
  183. package/deps/blake3/c/blake3_sse41.c +0 -560
  184. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +0 -2028
  185. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +0 -2069
  186. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +0 -2089
  187. package/deps/blake3/c/blake3_tbb.cpp +0 -37
  188. package/deps/blake3/c/dependencies/CMakeLists.txt +0 -3
  189. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +0 -28
  190. package/deps/blake3/c/example.c +0 -36
  191. package/deps/blake3/c/example_tbb.c +0 -57
  192. package/deps/blake3/c/libblake3.pc.in +0 -12
  193. package/deps/blake3/c/main.c +0 -166
  194. package/deps/blake3/c/test.py +0 -97
  195. package/deps/blake3/media/B3.svg +0 -70
  196. package/deps/blake3/media/BLAKE3.svg +0 -85
  197. package/deps/blake3/media/speed.svg +0 -1474
  198. package/deps/blake3/reference_impl/Cargo.toml +0 -8
  199. package/deps/blake3/reference_impl/README.md +0 -14
  200. package/deps/blake3/reference_impl/reference_impl.rs +0 -374
  201. package/deps/blake3/src/ffi_avx2.rs +0 -65
  202. package/deps/blake3/src/ffi_avx512.rs +0 -169
  203. package/deps/blake3/src/ffi_neon.rs +0 -82
  204. package/deps/blake3/src/ffi_sse2.rs +0 -126
  205. package/deps/blake3/src/ffi_sse41.rs +0 -126
  206. package/deps/blake3/src/guts.rs +0 -60
  207. package/deps/blake3/src/hazmat.rs +0 -704
  208. package/deps/blake3/src/io.rs +0 -64
  209. package/deps/blake3/src/join.rs +0 -92
  210. package/deps/blake3/src/lib.rs +0 -1835
  211. package/deps/blake3/src/platform.rs +0 -587
  212. package/deps/blake3/src/portable.rs +0 -198
  213. package/deps/blake3/src/rust_avx2.rs +0 -474
  214. package/deps/blake3/src/rust_sse2.rs +0 -775
  215. package/deps/blake3/src/rust_sse41.rs +0 -766
  216. package/deps/blake3/src/test.rs +0 -1049
  217. package/deps/blake3/src/traits.rs +0 -227
  218. package/deps/blake3/src/wasm32_simd.rs +0 -794
  219. package/deps/blake3/test_vectors/Cargo.toml +0 -19
  220. package/deps/blake3/test_vectors/cross_test.sh +0 -25
  221. package/deps/blake3/test_vectors/src/bin/generate.rs +0 -4
  222. package/deps/blake3/test_vectors/src/lib.rs +0 -350
  223. package/deps/blake3/test_vectors/test_vectors.json +0 -217
  224. package/deps/blake3/tools/compiler_version/Cargo.toml +0 -7
  225. package/deps/blake3/tools/compiler_version/build.rs +0 -6
  226. package/deps/blake3/tools/compiler_version/src/main.rs +0 -27
  227. package/deps/blake3/tools/instruction_set_support/Cargo.toml +0 -6
  228. package/deps/blake3/tools/instruction_set_support/src/main.rs +0 -10
  229. package/deps/blake3/tools/release.md +0 -16
  230. package/deps/ncrypto/.bazelignore +0 -4
  231. package/deps/ncrypto/.bazelrc +0 -1
  232. package/deps/ncrypto/.bazelversion +0 -1
  233. package/deps/ncrypto/.clang-format +0 -111
  234. package/deps/ncrypto/.github/workflows/bazel.yml +0 -58
  235. package/deps/ncrypto/.github/workflows/commitlint.yml +0 -16
  236. package/deps/ncrypto/.github/workflows/linter.yml +0 -38
  237. package/deps/ncrypto/.github/workflows/macos.yml +0 -43
  238. package/deps/ncrypto/.github/workflows/release-please.yml +0 -16
  239. package/deps/ncrypto/.github/workflows/ubuntu.yml +0 -128
  240. package/deps/ncrypto/.github/workflows/visual-studio.yml +0 -49
  241. package/deps/ncrypto/.python-version +0 -1
  242. package/deps/ncrypto/.release-please-manifest.json +0 -3
  243. package/deps/ncrypto/BUILD.bazel +0 -44
  244. package/deps/ncrypto/CHANGELOG.md +0 -37
  245. package/deps/ncrypto/CMakeLists.txt +0 -79
  246. package/deps/ncrypto/MODULE.bazel +0 -16
  247. package/deps/ncrypto/MODULE.bazel.lock +0 -461
  248. package/deps/ncrypto/cmake/CPM.cmake +0 -1225
  249. package/deps/ncrypto/cmake/ncrypto-flags.cmake +0 -17
  250. package/deps/ncrypto/ncrypto.pc.in +0 -10
  251. package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +0 -28
  252. package/deps/ncrypto/pyproject.toml +0 -38
  253. package/deps/ncrypto/release-please-config.json +0 -11
  254. package/deps/ncrypto/src/CMakeLists.txt +0 -40
  255. package/deps/ncrypto/tests/BUILD.bazel +0 -11
  256. package/deps/ncrypto/tests/CMakeLists.txt +0 -7
  257. package/deps/ncrypto/tests/basic.cpp +0 -856
  258. package/deps/ncrypto/tools/run-clang-format.sh +0 -42
  259. package/deps/simdutf/.clang-format +0 -4
  260. package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +0 -62
  261. package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +0 -1
  262. package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +0 -35
  263. package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +0 -29
  264. package/deps/simdutf/.github/pull_request_template.md +0 -51
  265. package/deps/simdutf/.github/workflows/aarch64.yml +0 -39
  266. package/deps/simdutf/.github/workflows/alpine.yml +0 -27
  267. package/deps/simdutf/.github/workflows/amalgamation_demos.yml +0 -34
  268. package/deps/simdutf/.github/workflows/armv7.yml +0 -32
  269. package/deps/simdutf/.github/workflows/atomic_fuzz.yml +0 -25
  270. package/deps/simdutf/.github/workflows/cifuzz.yml +0 -37
  271. package/deps/simdutf/.github/workflows/clangformat.yml +0 -36
  272. package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +0 -40
  273. package/deps/simdutf/.github/workflows/debian.yml +0 -33
  274. package/deps/simdutf/.github/workflows/documentation.yml +0 -36
  275. package/deps/simdutf/.github/workflows/emscripten.yml +0 -19
  276. package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +0 -39
  277. package/deps/simdutf/.github/workflows/macos-latest.yml +0 -29
  278. package/deps/simdutf/.github/workflows/msys2-clang.yml +0 -48
  279. package/deps/simdutf/.github/workflows/msys2.yml +0 -50
  280. package/deps/simdutf/.github/workflows/ppc64le.yml +0 -29
  281. package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +0 -35
  282. package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +0 -35
  283. package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +0 -31
  284. package/deps/simdutf/.github/workflows/s390x.yml +0 -29
  285. package/deps/simdutf/.github/workflows/selective-amalgamation.yml +0 -29
  286. package/deps/simdutf/.github/workflows/typos.yml +0 -19
  287. package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +0 -30
  288. package/deps/simdutf/.github/workflows/ubuntu22.yml +0 -32
  289. package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +0 -27
  290. package/deps/simdutf/.github/workflows/ubuntu22sani.yml +0 -29
  291. package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +0 -34
  292. package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +0 -34
  293. package/deps/simdutf/.github/workflows/ubuntu24.yml +0 -32
  294. package/deps/simdutf/.github/workflows/ubuntu24sani.yml +0 -36
  295. package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +0 -29
  296. package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +0 -21
  297. package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +0 -41
  298. package/deps/simdutf/.github/workflows/vs17-ci.yml +0 -41
  299. package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +0 -41
  300. package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +0 -36
  301. package/deps/simdutf/AI_USAGE_POLICY.md +0 -56
  302. package/deps/simdutf/AUTHORS +0 -6
  303. package/deps/simdutf/CMakeLists.txt +0 -231
  304. package/deps/simdutf/CONTRIBUTING.md +0 -214
  305. package/deps/simdutf/CONTRIBUTORS +0 -1
  306. package/deps/simdutf/Doxyfile +0 -2584
  307. package/deps/simdutf/Makefile.crosscompile +0 -54
  308. package/deps/simdutf/README-RVV.md +0 -16
  309. package/deps/simdutf/SECURITY.md +0 -8
  310. package/deps/simdutf/benchmarks/CMakeLists.txt +0 -101
  311. package/deps/simdutf/benchmarks/alignment.cpp +0 -150
  312. package/deps/simdutf/benchmarks/base64/CMakeLists.txt +0 -30
  313. package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +0 -875
  314. package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +0 -49
  315. package/deps/simdutf/benchmarks/base64/node_base64.h +0 -227
  316. package/deps/simdutf/benchmarks/base64/openssl3_base64.h +0 -334
  317. package/deps/simdutf/benchmarks/benchmark.cpp +0 -65
  318. package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +0 -347
  319. package/deps/simdutf/benchmarks/competition/.clang-format-ignore +0 -5
  320. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +0 -1276
  321. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +0 -595
  322. package/deps/simdutf/benchmarks/competition/README.md +0 -7
  323. package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +0 -91
  324. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +0 -444
  325. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +0 -13183
  326. package/deps/simdutf/benchmarks/competition/inoue2008/script.py +0 -73
  327. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +0 -738
  328. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +0 -293
  329. package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +0 -8
  330. package/deps/simdutf/benchmarks/competition/u8u16/Makefile +0 -44
  331. package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +0 -169
  332. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +0 -148
  333. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +0 -45
  334. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +0 -34
  335. package/deps/simdutf/benchmarks/competition/u8u16/README +0 -56
  336. package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +0 -43
  337. package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +0 -27
  338. package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +0 -16
  339. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +0 -18
  340. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +0 -16
  341. package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +0 -28
  342. package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +0 -20
  343. package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +0 -2
  344. package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +0 -440
  345. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +0 -121
  346. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +0 -158
  347. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +0 -270
  348. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +0 -141
  349. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +0 -216
  350. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +0 -119
  351. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +0 -2430
  352. package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +0 -39
  353. package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +0 -421
  354. package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +0 -836
  355. package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +0 -222
  356. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +0 -4
  357. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +0 -5
  358. package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +0 -390
  359. package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +0 -18
  360. package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +0 -448
  361. package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +0 -284
  362. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +0 -1975
  363. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
  364. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +0 -2263
  365. package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +0 -239
  366. package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +0 -232
  367. package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +0 -194
  368. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +0 -193
  369. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +0 -167
  370. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +0 -288
  371. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +0 -117
  372. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +0 -2
  373. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +0 -2
  374. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +0 -3
  375. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +0 -2
  376. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +0 -2
  377. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +0 -3
  378. package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +0 -2
  379. package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +0 -23
  380. package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +0 -44
  381. package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +0 -106
  382. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +0 -11
  383. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +0 -13
  384. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +0 -13
  385. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +0 -13
  386. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +0 -14
  387. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +0 -11
  388. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +0 -8
  389. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +0 -12
  390. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +0 -13
  391. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +0 -14
  392. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +0 -11
  393. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +0 -8
  394. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +0 -11
  395. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +0 -12
  396. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +0 -13
  397. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +0 -10
  398. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +0 -9
  399. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +0 -25
  400. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +0 -94
  401. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +0 -20
  402. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +0 -2
  403. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +0 -1
  404. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +0 -75
  405. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +0 -47
  406. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +0 -17
  407. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +0 -76
  408. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +0 -35
  409. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +0 -117
  410. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +0 -210
  411. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +0 -158
  412. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +0 -104
  413. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +0 -334
  414. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +0 -186
  415. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +0 -140
  416. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +0 -42
  417. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +0 -100
  418. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +0 -57
  419. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +0 -85
  420. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +0 -27
  421. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +0 -126
  422. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +0 -108
  423. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +0 -139
  424. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +0 -74
  425. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +0 -65
  426. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +0 -91
  427. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +0 -772
  428. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +0 -12
  429. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +0 -486
  430. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +0 -162
  431. package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +0 -15
  432. package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +0 -292
  433. package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +0 -23
  434. package/deps/simdutf/benchmarks/competition/utfcpp/README.md +0 -1503
  435. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +0 -335
  436. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +0 -338
  437. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +0 -103
  438. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +0 -103
  439. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +0 -274
  440. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +0 -34
  441. package/deps/simdutf/benchmarks/dataset/README.md +0 -155
  442. package/deps/simdutf/benchmarks/dataset/emoji.txt +0 -204
  443. package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +0 -40
  444. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +0 -80
  445. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +0 -20
  446. package/deps/simdutf/benchmarks/find/CMakeLists.txt +0 -6
  447. package/deps/simdutf/benchmarks/find/findbenchmark.cpp +0 -63
  448. package/deps/simdutf/benchmarks/find/findbenchmarker.h +0 -46
  449. package/deps/simdutf/benchmarks/shortbench.cpp +0 -555
  450. package/deps/simdutf/benchmarks/src/CMakeLists.txt +0 -52
  451. package/deps/simdutf/benchmarks/src/apple_arm_events.h +0 -1104
  452. package/deps/simdutf/benchmarks/src/benchmark.cpp +0 -3899
  453. package/deps/simdutf/benchmarks/src/benchmark.h +0 -317
  454. package/deps/simdutf/benchmarks/src/benchmark_base.cpp +0 -144
  455. package/deps/simdutf/benchmarks/src/benchmark_base.h +0 -98
  456. package/deps/simdutf/benchmarks/src/cmdline.cpp +0 -176
  457. package/deps/simdutf/benchmarks/src/cmdline.h +0 -35
  458. package/deps/simdutf/benchmarks/src/event_counter.h +0 -162
  459. package/deps/simdutf/benchmarks/src/linux-perf-events.h +0 -104
  460. package/deps/simdutf/benchmarks/stream.cpp +0 -209
  461. package/deps/simdutf/benchmarks/threaded.cpp +0 -123
  462. package/deps/simdutf/cmake/CPM.cmake +0 -1363
  463. package/deps/simdutf/cmake/JoinPaths.cmake +0 -23
  464. package/deps/simdutf/cmake/add_cpp_test.cmake +0 -68
  465. package/deps/simdutf/cmake/simdutf-config.cmake.in +0 -2
  466. package/deps/simdutf/cmake/simdutf-flags.cmake +0 -26
  467. package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +0 -4
  468. package/deps/simdutf/cmake/toolchains-dev/README.md +0 -32
  469. package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +0 -14
  470. package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +0 -22
  471. package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +0 -16
  472. package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +0 -16
  473. package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +0 -16
  474. package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +0 -38
  475. package/deps/simdutf/doc/avx512.png +0 -0
  476. package/deps/simdutf/doc/logo.png +0 -0
  477. package/deps/simdutf/doc/logo.svg +0 -165
  478. package/deps/simdutf/doc/node2023.png +0 -0
  479. package/deps/simdutf/doc/shortinput.md +0 -78
  480. package/deps/simdutf/doc/utf16utf8.png +0 -0
  481. package/deps/simdutf/doc/utf8utf16.png +0 -0
  482. package/deps/simdutf/doc/widelogo.png +0 -0
  483. package/deps/simdutf/doxygen.py +0 -50
  484. package/deps/simdutf/fuzz/.clang-format +0 -9
  485. package/deps/simdutf/fuzz/CMakeLists.txt +0 -45
  486. package/deps/simdutf/fuzz/README.md +0 -168
  487. package/deps/simdutf/fuzz/atomic_base64.cpp +0 -448
  488. package/deps/simdutf/fuzz/base64.cpp +0 -278
  489. package/deps/simdutf/fuzz/build.sh +0 -83
  490. package/deps/simdutf/fuzz/conversion.cpp +0 -669
  491. package/deps/simdutf/fuzz/helpers/.clang-format-ignore +0 -1
  492. package/deps/simdutf/fuzz/helpers/common.h +0 -135
  493. package/deps/simdutf/fuzz/helpers/nameof.hpp +0 -1258
  494. package/deps/simdutf/fuzz/main.cpp +0 -72
  495. package/deps/simdutf/fuzz/minimize_and_cleanse.sh +0 -87
  496. package/deps/simdutf/fuzz/misc.cpp +0 -216
  497. package/deps/simdutf/fuzz/random_fuzz.sh +0 -154
  498. package/deps/simdutf/fuzz/roundtrip.cpp +0 -588
  499. package/deps/simdutf/fuzz/safe_conversion.cpp +0 -104
  500. package/deps/simdutf/riscv/Dockerfile +0 -16
  501. package/deps/simdutf/riscv/README.md +0 -24
  502. package/deps/simdutf/riscv/remove-docker-station +0 -8
  503. package/deps/simdutf/riscv/run-docker-station +0 -31
  504. package/deps/simdutf/scripts/.flake8 +0 -2
  505. package/deps/simdutf/scripts/Makefile +0 -2
  506. package/deps/simdutf/scripts/README_ADD_FUNCTION.md +0 -49
  507. package/deps/simdutf/scripts/add_function.py +0 -330
  508. package/deps/simdutf/scripts/amalgamation_tests.py +0 -156
  509. package/deps/simdutf/scripts/base64/Makefile +0 -2
  510. package/deps/simdutf/scripts/base64/README.md +0 -2
  511. package/deps/simdutf/scripts/base64/avx512.py +0 -76
  512. package/deps/simdutf/scripts/base64/neon_decode.py +0 -143
  513. package/deps/simdutf/scripts/base64/neon_generate_lut.py +0 -101
  514. package/deps/simdutf/scripts/base64/sse.py +0 -252
  515. package/deps/simdutf/scripts/base64/sseregular.py +0 -160
  516. package/deps/simdutf/scripts/base64/sseurl.py +0 -283
  517. package/deps/simdutf/scripts/base64/table.py +0 -59
  518. package/deps/simdutf/scripts/base64bench_print.py +0 -145
  519. package/deps/simdutf/scripts/benchmark-all.py +0 -119
  520. package/deps/simdutf/scripts/benchmark_print.py +0 -324
  521. package/deps/simdutf/scripts/check_feature_macros.py +0 -156
  522. package/deps/simdutf/scripts/check_typos.sh +0 -13
  523. package/deps/simdutf/scripts/clang_format.sh +0 -35
  524. package/deps/simdutf/scripts/clang_format_docker.sh +0 -38
  525. package/deps/simdutf/scripts/common.py +0 -24
  526. package/deps/simdutf/scripts/compilation_benchmark.py +0 -55
  527. package/deps/simdutf/scripts/compile_many_variations.sh +0 -64
  528. package/deps/simdutf/scripts/create_latex_table.py +0 -62
  529. package/deps/simdutf/scripts/docker/Dockerfile +0 -14
  530. package/deps/simdutf/scripts/docker/Makefile +0 -9
  531. package/deps/simdutf/scripts/docker/README.md +0 -30
  532. package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
  533. package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +0 -155
  534. package/deps/simdutf/scripts/prepare_doxygen.sh +0 -21
  535. package/deps/simdutf/scripts/release.py +0 -197
  536. package/deps/simdutf/scripts/shortinputplots.py +0 -97
  537. package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +0 -422
  538. package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +0 -105
  539. package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +0 -186
  540. package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +0 -137
  541. package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +0 -129
  542. package/deps/simdutf/scripts/table.py +0 -207
  543. package/deps/simdutf/scripts/tests/new.txt +0 -33
  544. package/deps/simdutf/scripts/tests/old.txt +0 -33
  545. package/deps/simdutf/scripts/tests/results.txt +0 -272
  546. package/deps/simdutf/simdutf.pc.in +0 -11
  547. package/deps/simdutf/singleheader/.flake8 +0 -2
  548. package/deps/simdutf/singleheader/CMakeLists.txt +0 -64
  549. package/deps/simdutf/singleheader/README-dev.md +0 -81
  550. package/deps/simdutf/singleheader/README.md +0 -19
  551. package/deps/simdutf/singleheader/amalgamate.py +0 -513
  552. package/deps/simdutf/singleheader/amalgamation_demo.c +0 -59
  553. package/deps/simdutf/singleheader/amalgamation_demo.cpp +0 -54
  554. package/deps/simdutf/singleheader/test-features.py +0 -262
  555. package/deps/simdutf/src/CMakeLists.txt +0 -78
  556. package/deps/simdutf/tests/CMakeLists.txt +0 -483
  557. package/deps/simdutf/tests/atomic_base64_tests.cpp +0 -2845
  558. package/deps/simdutf/tests/base64_tests.cpp +0 -3617
  559. package/deps/simdutf/tests/basic_fuzzer.cpp +0 -805
  560. package/deps/simdutf/tests/bele_tests.cpp +0 -182
  561. package/deps/simdutf/tests/constexpr_base64_tests.cpp +0 -387
  562. package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +0 -52
  563. package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +0 -80
  564. package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +0 -66
  565. package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +0 -120
  566. package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +0 -203
  567. package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +0 -276
  568. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +0 -109
  569. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +0 -136
  570. package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +0 -193
  571. package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +0 -381
  572. package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +0 -259
  573. package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +0 -266
  574. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +0 -148
  575. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +0 -176
  576. package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +0 -213
  577. package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +0 -318
  578. package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +0 -343
  579. package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +0 -271
  580. package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +0 -111
  581. package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +0 -96
  582. package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +0 -148
  583. package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +0 -192
  584. package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +0 -166
  585. package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +0 -215
  586. package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +0 -181
  587. package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +0 -261
  588. package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +0 -516
  589. package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +0 -579
  590. package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +0 -412
  591. package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +0 -480
  592. package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +0 -671
  593. package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +0 -455
  594. package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +0 -1204
  595. package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +0 -337
  596. package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +0 -37
  597. package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +0 -97
  598. package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +0 -126
  599. package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +0 -71
  600. package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +0 -122
  601. package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +0 -244
  602. package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +0 -49
  603. package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +0 -92
  604. package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +0 -114
  605. package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +0 -109
  606. package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +0 -84
  607. package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +0 -124
  608. package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +0 -221
  609. package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +0 -155
  610. package/deps/simdutf/tests/count_utf16be.cpp +0 -64
  611. package/deps/simdutf/tests/count_utf16le.cpp +0 -61
  612. package/deps/simdutf/tests/count_utf8.cpp +0 -87
  613. package/deps/simdutf/tests/detect_encodings_tests.cpp +0 -312
  614. package/deps/simdutf/tests/embed/valid_utf8.txt +0 -1
  615. package/deps/simdutf/tests/embed_tests.cpp +0 -22
  616. package/deps/simdutf/tests/find_tests.cpp +0 -77
  617. package/deps/simdutf/tests/fixed_string_tests.cpp +0 -153
  618. package/deps/simdutf/tests/helpers/CMakeLists.txt +0 -25
  619. package/deps/simdutf/tests/helpers/compiletime_conversions.h +0 -222
  620. package/deps/simdutf/tests/helpers/fixed_string.h +0 -267
  621. package/deps/simdutf/tests/helpers/random_int.cpp +0 -30
  622. package/deps/simdutf/tests/helpers/random_int.h +0 -39
  623. package/deps/simdutf/tests/helpers/random_utf16.cpp +0 -123
  624. package/deps/simdutf/tests/helpers/random_utf16.h +0 -52
  625. package/deps/simdutf/tests/helpers/random_utf32.cpp +0 -41
  626. package/deps/simdutf/tests/helpers/random_utf32.h +0 -40
  627. package/deps/simdutf/tests/helpers/random_utf8.cpp +0 -93
  628. package/deps/simdutf/tests/helpers/random_utf8.h +0 -36
  629. package/deps/simdutf/tests/helpers/test.cpp +0 -231
  630. package/deps/simdutf/tests/helpers/test.h +0 -193
  631. package/deps/simdutf/tests/helpers/transcode_test_base.cpp +0 -1257
  632. package/deps/simdutf/tests/helpers/transcode_test_base.h +0 -683
  633. package/deps/simdutf/tests/helpers/utf16.h +0 -27
  634. package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +0 -43
  635. package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +0 -47
  636. package/deps/simdutf/tests/internal_tests.cpp +0 -27
  637. package/deps/simdutf/tests/null_safety_tests.cpp +0 -94
  638. package/deps/simdutf/tests/random_fuzzer.cpp +0 -779
  639. package/deps/simdutf/tests/readme_tests.cpp +0 -274
  640. package/deps/simdutf/tests/reference/CMakeLists.txt +0 -23
  641. package/deps/simdutf/tests/reference/decode_utf16.h +0 -81
  642. package/deps/simdutf/tests/reference/decode_utf32.h +0 -47
  643. package/deps/simdutf/tests/reference/encode_latin1.cpp +0 -1
  644. package/deps/simdutf/tests/reference/encode_latin1.h +0 -32
  645. package/deps/simdutf/tests/reference/encode_utf16.cpp +0 -49
  646. package/deps/simdutf/tests/reference/encode_utf16.h +0 -20
  647. package/deps/simdutf/tests/reference/encode_utf32.cpp +0 -1
  648. package/deps/simdutf/tests/reference/encode_utf32.h +0 -36
  649. package/deps/simdutf/tests/reference/encode_utf8.cpp +0 -1
  650. package/deps/simdutf/tests/reference/encode_utf8.h +0 -40
  651. package/deps/simdutf/tests/reference/validate_utf16.cpp +0 -60
  652. package/deps/simdutf/tests/reference/validate_utf16.h +0 -14
  653. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +0 -35
  654. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +0 -13
  655. package/deps/simdutf/tests/reference/validate_utf32.cpp +0 -27
  656. package/deps/simdutf/tests/reference/validate_utf32.h +0 -12
  657. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +0 -27
  658. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +0 -12
  659. package/deps/simdutf/tests/reference/validate_utf8.cpp +0 -82
  660. package/deps/simdutf/tests/reference/validate_utf8.h +0 -11
  661. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +0 -43
  662. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +0 -12
  663. package/deps/simdutf/tests/select_implementation.cpp +0 -43
  664. package/deps/simdutf/tests/simdutf_c_tests.cpp +0 -244
  665. package/deps/simdutf/tests/span_tests.cpp +0 -401
  666. package/deps/simdutf/tests/special_tests.cpp +0 -559
  667. package/deps/simdutf/tests/straight_c_test.c +0 -187
  668. package/deps/simdutf/tests/text_encoding_tests.cpp +0 -77
  669. package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +0 -377
  670. package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +0 -202
  671. package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +0 -165
  672. package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +0 -77
  673. package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +0 -175
  674. package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +0 -188
  675. package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +0 -268
  676. package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +0 -274
  677. package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +0 -92
  678. package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +0 -114
  679. package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +0 -178
  680. package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +0 -88
  681. package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +0 -33
  682. package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +0 -228
  683. package/deps/simdutf/tools/CMakeLists.txt +0 -85
  684. package/deps/simdutf/tools/fastbase64.cpp +0 -250
  685. package/deps/simdutf/tools/sutf.cpp +0 -556
  686. package/deps/simdutf/tools/sutf.h +0 -40
  687. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1,274 +0,0 @@
1
- /**
2
- * Special tests. Specific cases.
3
- */
4
- #include "simdutf.h"
5
- #include <memory>
6
- #include <iostream>
7
- #include <vector>
8
-
9
- #include <tests/helpers/fixed_string.h>
10
- #include <tests/helpers/test.h>
11
-
12
- TEST(base64_fun) {
13
- std::cout << "==== base64_fun ====\n" << std::endl;
14
- std::vector<std::string> sources = {
15
- " A A ", " A A G A / v 8 ",
16
- " A A G A / v 8 = ", " A A G A / v 8 = = "};
17
- std::vector<std::vector<uint8_t>> expected = {{0},
18
- {0, 0x1, 0x80, 0xfe, 0xff},
19
- {0, 0x1, 0x80, 0xfe, 0xff},
20
- {}}; // last one is in error
21
- for (size_t i = 0; i < sources.size(); i++) {
22
- const std::string &source = sources[i];
23
- std::cout << "source: '" << source << "'" << std::endl;
24
- // allocate enough memory for the maximal binary length
25
- std::vector<uint8_t> buffer(simdutf::maximal_binary_length_from_base64(
26
- source.data(), source.size()));
27
- // convert to binary and check for errors
28
- simdutf::result r = simdutf::base64_to_binary(source.data(), source.size(),
29
- (char *)buffer.data());
30
- if (r.error != simdutf::error_code::SUCCESS) {
31
- ASSERT_TRUE(expected[i].empty());
32
- std::cout << "output: error" << std::endl;
33
- } else {
34
- buffer.resize(
35
- r.count); // in case of success, r.count contains the output length
36
- ASSERT_TRUE(buffer == expected[i]);
37
- std::cout << "output: " << r.count << " bytes" << std::endl;
38
- }
39
- }
40
- }
41
-
42
- TEST(base64_fun_safe) {
43
- std::cout << "==== base64_fun ====\n" << std::endl;
44
- std::vector<std::string> sources = {
45
- " A A ", " A A G A / v 8 ",
46
- " A A G A / v 8 = ", " A A G A / v 8 = = "};
47
- std::vector<std::vector<uint8_t>> expected = {{0},
48
- {0, 0x1, 0x80, 0xfe, 0xff},
49
- {0, 0x1, 0x80, 0xfe, 0xff},
50
- {}}; // last one is in error
51
- for (size_t i = 0; i < sources.size(); i++) {
52
- const std::string &source = sources[i];
53
- std::cout << "source: '" << source << "'" << std::endl;
54
- // allocate enough memory for the maximal binary length
55
- std::vector<uint8_t> buffer(simdutf::maximal_binary_length_from_base64(
56
- source.data(), source.size()));
57
- // convert to binary and check for errors
58
- size_t output_length = buffer.size();
59
- simdutf::result r = simdutf::base64_to_binary_safe(
60
- source.data(), source.size(), (char *)buffer.data(), output_length);
61
- if (r.error != simdutf::error_code::SUCCESS) {
62
- ASSERT_TRUE(expected[i].empty());
63
- std::cout << "output: error" << std::endl;
64
- } else {
65
- buffer.resize(output_length); // in case of success, output_length
66
- // contains the output length
67
- ASSERT_TRUE(buffer == expected[i]);
68
- std::cout << "output: " << output_length << " bytes" << std::endl;
69
- std::cout << "input (consumed): " << r.count << " bytes" << std::endl;
70
- }
71
- }
72
- }
73
-
74
- // this is a compile test
75
- void check_simdutf_result() { simdutf::result r; }
76
-
77
- // this is a compile test
78
- int main_demo() {
79
- const char *source = "1234";
80
- // 4 == strlen(source)
81
- bool validutf8 = simdutf::validate_utf8(source, 4);
82
- if (validutf8) {
83
- puts("valid UTF-8");
84
- } else {
85
- puts("invalid UTF-8");
86
- return EXIT_FAILURE;
87
- }
88
- // We need a buffer where to write the UTF-16LE code units.
89
- size_t expected_utf16words = simdutf::utf16_length_from_utf8(source, 4);
90
- std::unique_ptr<char16_t[]> utf16_output{new char16_t[expected_utf16words]};
91
- // convert to UTF-16LE
92
- size_t utf16words =
93
- simdutf::convert_utf8_to_utf16le(source, 4, utf16_output.get());
94
- printf("wrote %zu UTF-16LE code units.", utf16words);
95
- // It wrote utf16words * sizeof(char16_t) bytes.
96
- bool validutf16 = simdutf::validate_utf16le(utf16_output.get(), utf16words);
97
- if (validutf16) {
98
- puts("valid UTF-16LE");
99
- } else {
100
- puts("invalid UTF-16LE");
101
- return EXIT_FAILURE;
102
- }
103
- // convert it back:
104
- // We need a buffer where to write the UTF-8 code units.
105
- size_t expected_utf8words =
106
- simdutf::utf8_length_from_utf16le(utf16_output.get(), utf16words);
107
- std::unique_ptr<char[]> utf8_output{new char[expected_utf8words]};
108
- // convert to UTF-8
109
- size_t utf8words = simdutf::convert_utf16le_to_utf8(
110
- utf16_output.get(), utf16words, utf8_output.get());
111
- printf("wrote %zu UTF-8 code units.", utf8words);
112
- std::string final_string(utf8_output.get(), utf8words);
113
- puts(final_string.c_str());
114
- if (final_string != source) {
115
- puts("bad conversion");
116
- return EXIT_FAILURE;
117
- } else {
118
- puts("perfect round trip");
119
- }
120
- return EXIT_SUCCESS;
121
- }
122
-
123
- TEST(utf8_streaming) {
124
- const char unicode[] = "\xc3\xa9\x63ole d'\xc3\xa9t\xc3\xa9";
125
- // suppose you want to decode only the start of this string.
126
- size_t length = 10;
127
- // Picking 10 bytes is problematic because we might end up in the middle of a
128
- // code point. But we can rewind to the previous code point.
129
- length = simdutf::trim_partial_utf8(unicode, length);
130
- // Now we can transcode safely
131
- size_t budget_utf16 = simdutf::utf16_length_from_utf8(unicode, length);
132
- std::unique_ptr<char16_t[]> utf16{new char16_t[budget_utf16]};
133
- size_t utf16words =
134
- simdutf::convert_utf8_to_utf16le(unicode, length, utf16.get());
135
- // We can then transcode the next batch
136
- const char *next = unicode + length;
137
- size_t next_length = sizeof(unicode) - length;
138
- size_t next_budget_utf16 = simdutf::utf16_length_from_utf8(next, next_length);
139
- std::unique_ptr<char16_t[]> next_utf16{new char16_t[next_budget_utf16]};
140
- size_t next_utf16words =
141
- simdutf::convert_utf8_to_utf16le(next, next_length, next_utf16.get());
142
- ASSERT_EQUAL(next_utf16words, next_budget_utf16);
143
- ASSERT_EQUAL(utf16words, budget_utf16);
144
- }
145
-
146
- TEST(issue829) {
147
- alignas(char16_t) const char unicode_char[] = "\x3c\xd8";
148
- const char16_t *unicode = reinterpret_cast<const char16_t *>(unicode_char);
149
- size_t length = 1;
150
- length = simdutf::trim_partial_utf16le(unicode, length);
151
- ASSERT_EQUAL(length, 0);
152
- }
153
-
154
- TEST(utf16_streaming) {
155
- // We have three sequences of surrogate pairs (UTF-16).
156
- alignas(char16_t) const char unicode_char[] =
157
- "\x3c\xd8\x10\xdf\x3c\xd8\x10\xdf\x3c\xd8\x10\xdf";
158
- const char16_t *unicode = reinterpret_cast<const char16_t *>(unicode_char);
159
- // suppose you want to decode only the start of this string.
160
- size_t length = 3;
161
- // Picking 3 units is problematic because we might end up in the middle of a
162
- // surrogate pair. But we can rewind to the previous code point.
163
- length = simdutf::trim_partial_utf16le(unicode, length);
164
- // Now we can transcode safely
165
- size_t budget_utf8 = simdutf::utf8_length_from_utf16le(unicode, length);
166
- std::unique_ptr<char[]> utf8{new char[budget_utf8]};
167
- size_t utf8words =
168
- simdutf::convert_utf16le_to_utf8(unicode, length, utf8.get());
169
- // We can then transcode the next batch
170
- const char16_t *next = unicode + length;
171
- size_t next_length = 6 - length;
172
- size_t next_budget_utf8 =
173
- simdutf::utf8_length_from_utf16le(next, next_length);
174
- std::unique_ptr<char[]> next_utf8{new char[next_budget_utf8]};
175
- size_t next_utf8words =
176
- simdutf::convert_utf16le_to_utf8(next, next_length, next_utf8.get());
177
- ASSERT_EQUAL(next_utf8words, next_budget_utf8);
178
- ASSERT_EQUAL(utf8words, budget_utf8);
179
- }
180
-
181
- TEST(error_location_badascii) {
182
- // this ASCII string has a bad byte at index 5
183
- std::string bad_ascii = "\x20\x20\x20\x20\x20\xff\x20\x20\x20";
184
- simdutf::result res = implementation.validate_ascii_with_errors(
185
- bad_ascii.data(), bad_ascii.size());
186
- if (res.error != simdutf::error_code::SUCCESS) {
187
- printf("error at index %zu\n", res.count);
188
- }
189
- ASSERT_EQUAL(res.error, simdutf::error_code::TOO_LARGE);
190
- ASSERT_EQUAL(res.count, 5);
191
- }
192
-
193
- TEST(error_location_badutf8) {
194
- // this UTF-8 string has a bad byte at index 5
195
- std::string bad_utf8 = "\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9";
196
- simdutf::result res = implementation.validate_utf8_with_errors(
197
- bad_utf8.data(), bad_utf8.size());
198
- if (res.error != simdutf::error_code::SUCCESS) {
199
- printf("error at index %zu\n", res.count);
200
- }
201
- ASSERT_EQUAL(res.error, simdutf::error_code::HEADER_BITS);
202
- ASSERT_EQUAL(res.count, 5);
203
- res = implementation.validate_utf8_with_errors(bad_utf8.data(), res.count);
204
- if (res.error == simdutf::error_code::SUCCESS) {
205
- printf("we have transcoded %zu valid bytes", res.count);
206
- }
207
- ASSERT_EQUAL(res.error, simdutf::error_code::SUCCESS);
208
- ASSERT_EQUAL(res.count, 5);
209
- }
210
-
211
- TEST(error_location_badutf8_transcoding) {
212
- // this UTF-8 string has a bad byte at index 5
213
- std::string bad_utf8 = "\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9";
214
- size_t budget_utf16 =
215
- simdutf::utf16_length_from_utf8(bad_utf8.data(), bad_utf8.size());
216
- std::unique_ptr<char16_t[]> utf16{new char16_t[budget_utf16]};
217
-
218
- simdutf::result res = simdutf::convert_utf8_to_utf16_with_errors(
219
- bad_utf8.data(), bad_utf8.size(), utf16.get());
220
-
221
- if (res.error != simdutf::error_code::SUCCESS) {
222
- printf("error at index %zu\n", res.count);
223
- }
224
- ASSERT_EQUAL(res.error, simdutf::error_code::HEADER_BITS);
225
- ASSERT_EQUAL(res.count, 5);
226
- res = simdutf::convert_utf8_to_utf16_with_errors(bad_utf8.data(), res.count,
227
- utf16.get());
228
- if (res.error == simdutf::error_code::SUCCESS) {
229
- printf("we have transcoded %zu characters", res.count);
230
- }
231
- ASSERT_EQUAL(res.error, simdutf::error_code::SUCCESS);
232
- ASSERT_EQUAL(res.count, 3);
233
- }
234
-
235
- #if SIMDUTF_CPLUSPLUS23
236
-
237
- TEST(compile_time_trim_partial_utf8) {
238
- using namespace simdutf::tests::helpers;
239
-
240
- constexpr auto str = u8"\xc3\xa9\xc3\xa9\x20\xff\xc3\xa9"_utf8;
241
- constexpr auto compile_time = simdutf::trim_partial_utf8(str);
242
- const auto runtime = simdutf::trim_partial_utf8(str);
243
- ASSERT_EQUAL(compile_time, runtime);
244
- }
245
-
246
- TEST(compile_time_trim_partial_utf16) {
247
- using namespace simdutf::tests::helpers;
248
-
249
- constexpr auto str = u"\xd800"_utf16;
250
- constexpr auto compile_time = simdutf::trim_partial_utf16(str);
251
- const auto runtime = simdutf::trim_partial_utf16(str);
252
- ASSERT_EQUAL(compile_time, runtime);
253
- }
254
-
255
- TEST(compile_time_trim_partial_utf16le) {
256
- using namespace simdutf::tests::helpers;
257
-
258
- constexpr auto str = u"\xd800"_utf16le;
259
- constexpr auto compile_time = simdutf::trim_partial_utf16le(str);
260
- const auto runtime = simdutf::trim_partial_utf16le(str);
261
- ASSERT_EQUAL(compile_time, runtime);
262
- }
263
-
264
- TEST(compile_time_trim_partial_utf16be) {
265
- using namespace simdutf::tests::helpers;
266
-
267
- constexpr auto str = u"\xd800"_utf16be;
268
- constexpr auto compile_time = simdutf::trim_partial_utf16be(str);
269
- const auto runtime = simdutf::trim_partial_utf16be(str);
270
- ASSERT_EQUAL(compile_time, runtime);
271
- }
272
- #endif
273
-
274
- TEST_MAIN
@@ -1,23 +0,0 @@
1
- add_library(simdutf_tests_reference STATIC
2
- encode_utf8.h
3
- encode_utf8.cpp
4
- encode_utf16.h
5
- encode_utf16.cpp
6
- encode_utf32.h
7
- encode_utf32.cpp
8
- encode_latin1.h
9
- encode_latin1.cpp
10
- validate_utf8_to_latin1.h
11
- validate_utf8_to_latin1.cpp
12
- validate_utf16_to_latin1.h
13
- validate_utf16_to_latin1.cpp
14
- validate_utf32_to_latin1.h
15
- validate_utf32_to_latin1.cpp
16
- validate_utf8.h
17
- validate_utf8.cpp
18
- validate_utf16.h
19
- validate_utf16.cpp
20
- validate_utf32.h
21
- validate_utf32.cpp)
22
- add_library(simdutf::tests::reference ALIAS simdutf_tests_reference)
23
- target_link_libraries(simdutf_tests_reference PRIVATE simdutf)
@@ -1,81 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdio>
4
- #include "simdutf/encoding_types.h"
5
-
6
- namespace simdutf {
7
- namespace tests {
8
- namespace reference {
9
- namespace utf16 {
10
-
11
- enum class Error {
12
- high_surrogate_out_of_range,
13
- low_surrogate_out_of_range,
14
- missing_low_surrogate
15
- };
16
-
17
- template <typename CONSUMER, typename ERROR_HANDLER>
18
- bool decode(endianness utf16_endianness, const char16_t *codepoints,
19
- size_t size, CONSUMER consumer, ERROR_HANDLER error_handler) {
20
- const char16_t *curr = codepoints;
21
- const char16_t *end = codepoints + size;
22
-
23
- // RFC2781, chapter 2.2
24
- while (curr != end) {
25
- uint16_t W1;
26
- if (!match_system(utf16_endianness)) {
27
- W1 = char16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
28
- } else {
29
- W1 = *curr;
30
- }
31
-
32
- curr += 1;
33
-
34
- if (W1 < 0xd800 ||
35
- W1 > 0xdfff) { // fast path, code point is equal to character's value
36
- consumer(W1);
37
- continue;
38
- }
39
-
40
- if (W1 > 0xdbff) { // W1 must be in range 0xd800 .. 0xdbff
41
- if (!error_handler(codepoints, curr, Error::high_surrogate_out_of_range))
42
- return false;
43
-
44
- continue;
45
- }
46
-
47
- if (curr ==
48
- end) { // required the next word, but we're already at the end of data
49
- if (!error_handler(codepoints, curr, Error::missing_low_surrogate))
50
- return false;
51
-
52
- break;
53
- }
54
-
55
- uint16_t W2;
56
- if (!match_system(utf16_endianness)) {
57
- W2 = char16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
58
- } else {
59
- W2 = *curr;
60
- }
61
- if (W2 < 0xdc00 || W2 > 0xdfff) { // W2 = 0xdc00 .. 0xdfff
62
- if (!error_handler(codepoints, curr, Error::low_surrogate_out_of_range))
63
- return false;
64
- } else {
65
- const uint32_t hi = W1 & 0x3ff; // take lower 10 bits of W1 and W2
66
- const uint32_t lo = W2 & 0x3ff;
67
- const uint32_t tmp = lo | (hi << 10); // build a 20-bit temporary value U'
68
-
69
- consumer(tmp + 0x10000);
70
- }
71
-
72
- curr += 1;
73
- }
74
-
75
- return true;
76
- }
77
-
78
- } // namespace utf16
79
- } // namespace reference
80
- } // namespace tests
81
- } // namespace simdutf
@@ -1,47 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdio>
4
-
5
- namespace simdutf {
6
- namespace tests {
7
- namespace reference {
8
- namespace utf32 {
9
-
10
- enum class Error { too_large, forbidden_range };
11
-
12
- template <typename CONSUMER, typename ERROR_HANDLER>
13
- bool decode(const char32_t *codepoints, size_t size, CONSUMER consumer,
14
- ERROR_HANDLER error_handler) {
15
- const char32_t *curr = codepoints;
16
- const char32_t *end = codepoints + size;
17
-
18
- while (curr != end) {
19
- const uint32_t word = *curr;
20
-
21
- if (word > 0x10FFFF) {
22
- if (!error_handler(codepoints, curr, Error::too_large))
23
- return false;
24
-
25
- continue;
26
- }
27
-
28
- if (word >= 0xD800 && word <= 0xDFFF) { // required the next word, but we're
29
- // already at the end of data
30
- if (!error_handler(codepoints, curr, Error::forbidden_range))
31
- return false;
32
-
33
- break;
34
- }
35
-
36
- consumer(word);
37
-
38
- curr++;
39
- }
40
-
41
- return true;
42
- }
43
-
44
- } // namespace utf32
45
- } // namespace reference
46
- } // namespace tests
47
- } // namespace simdutf
@@ -1 +0,0 @@
1
- #include "encode_latin1.h"
@@ -1,32 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
-
5
- namespace simdutf {
6
- namespace tests {
7
- namespace reference {
8
- namespace latin1 {
9
-
10
- // returns whether the value can be represented in the latin1
11
- bool valid_value(uint32_t value) {
12
- if (value > 0xFF) {
13
- return false;
14
- }
15
- return true; // Each possible combination in a bit represent a latin1 value
16
- }
17
-
18
- // Encodes the value in UTF-32
19
- // Returns 1 if the value can be encoded
20
- // Returns 0 if the value cannot be encoded
21
- template <typename CONSUMER> int encode(uint8_t value, CONSUMER consumer) {
22
- if (!valid_value(value)) {
23
- return 0;
24
- }
25
- consumer(value);
26
- return 1;
27
- }
28
-
29
- } // namespace latin1
30
- } // namespace reference
31
- } // namespace tests
32
- } // namespace simdutf
@@ -1,49 +0,0 @@
1
- #include "encode_utf16.h"
2
-
3
- namespace simdutf {
4
- namespace tests {
5
- namespace reference {
6
- namespace utf16 {
7
-
8
- // returns whether the value can be represented in the UTF-16
9
- bool valid_value(uint32_t value) {
10
- /*
11
- RFC-2781 (2. UTF-16 definition):
12
-
13
- Characters with values greater than 0x10FFFF cannot be encoded in UTF-16.
14
- */
15
- if (value > 0x10FFFF)
16
- return false;
17
-
18
- /*
19
- RFC-2781 (2. UTF-16 definition):
20
-
21
- Note: Values between 0xD800 and 0xDFFF are specifically reserved for
22
- use with UTF-16, and don't have any characters assigned to them.
23
- */
24
- if ((value >= 0xD800) && (value <= 0xDFFF))
25
- return false;
26
-
27
- return true;
28
- }
29
-
30
- // Encodes the value using either one or two code units (returns 1 or 2
31
- // respectively) Returns 0 if the value cannot be encoded
32
- int encode(uint32_t value, char16_t &W1, char16_t &W2) {
33
- if (!valid_value(value))
34
- return 0;
35
-
36
- if (value <= 0xffff) {
37
- W1 = char16_t(value);
38
- return 1;
39
- } else {
40
- value -= 0x10000;
41
- W1 = char16_t(0xd800 | ((value >> 10) & 0x03ff));
42
- W2 = char16_t(0xdc00 | (value & 0x03ff));
43
- return 2;
44
- }
45
- }
46
- } // namespace utf16
47
- } // namespace reference
48
- } // namespace tests
49
- } // namespace simdutf
@@ -1,20 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
-
5
- namespace simdutf {
6
- namespace tests {
7
- namespace reference {
8
- namespace utf16 {
9
-
10
- // returns whether the value can be represented in the UTF-16
11
- bool valid_value(uint32_t value);
12
-
13
- // Encodes the value using either one or two code units (returns 1 or 2
14
- // respectively) Returns 0 if the value cannot be encoded
15
- int encode(uint32_t value, char16_t &W1, char16_t &W2);
16
-
17
- } // namespace utf16
18
- } // namespace reference
19
- } // namespace tests
20
- } // namespace simdutf
@@ -1 +0,0 @@
1
- #include "encode_utf32.h"
@@ -1,36 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
-
5
- namespace simdutf {
6
- namespace tests {
7
- namespace reference {
8
- namespace utf32 {
9
-
10
- // returns whether the value can be represented in the UTF-32
11
- bool valid_value(uint32_t value) {
12
-
13
- if (value > 0x10FFFF)
14
- return false;
15
-
16
- if ((value >= 0xD800) && (value <= 0xDFFF))
17
- return false;
18
-
19
- return true;
20
- }
21
-
22
- // Encodes the value in UTF-32
23
- // Returns 1 if the value can be encoded
24
- // Returns 0 if the value cannot be encoded
25
- template <typename CONSUMER> int encode(uint32_t value, CONSUMER consumer) {
26
- if (!valid_value(value))
27
- return 0;
28
-
29
- consumer(value);
30
- return 1;
31
- }
32
-
33
- } // namespace utf32
34
- } // namespace reference
35
- } // namespace tests
36
- } // namespace simdutf
@@ -1 +0,0 @@
1
- #include "encode_utf8.h"
@@ -1,40 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
-
5
- namespace simdutf {
6
- namespace tests {
7
- namespace reference {
8
- namespace utf8 {
9
-
10
- template <typename CONSUMER> int encode(uint32_t value, CONSUMER consumer) {
11
- if (value < 0x00000080) {
12
- consumer(uint8_t(value));
13
- return 1;
14
- }
15
-
16
- if (value < 0x00000800) {
17
- consumer(0xc0 | (value >> 6));
18
- consumer(0x80 | (value & 0x3f));
19
- return 2;
20
- }
21
-
22
- if (value < 0x00010000) {
23
- consumer(0xe0 | (value >> 12));
24
- consumer(0x80 | ((value >> 6) & 0x3f));
25
- consumer(0x80 | (value & 0x3f));
26
- return 3;
27
- }
28
-
29
- {
30
- consumer(0xf0 | (value >> 18));
31
- consumer(0x80 | ((value >> 12) & 0x3f));
32
- consumer(0x80 | ((value >> 6) & 0x3f));
33
- consumer(0x80 | (value & 0x3f));
34
- return 4;
35
- }
36
- }
37
- } // namespace utf8
38
- } // namespace reference
39
- } // namespace tests
40
- } // namespace simdutf
@@ -1,60 +0,0 @@
1
- #include "validate_utf16.h"
2
-
3
- #ifndef SIMDUTF_IS_BIG_ENDIAN
4
- #error "SIMDUTF_IS_BIG_ENDIAN should be defined."
5
- #endif
6
-
7
- namespace simdutf {
8
- namespace tests {
9
- namespace reference {
10
-
11
- simdutf_warn_unused bool validate_utf16(endianness utf16_endianness,
12
- const char16_t *buf,
13
- size_t len) noexcept {
14
- const char16_t *curr = buf;
15
- const char16_t *end = buf + len;
16
-
17
- while (curr != end) {
18
- uint16_t W1;
19
- if (!match_system(utf16_endianness)) {
20
- W1 = uint16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
21
- } else {
22
- W1 = *curr;
23
- }
24
-
25
- curr += 1;
26
-
27
- // fast path, code point is equal to character's value
28
- if (W1 < 0xd800 || W1 > 0xdfff) {
29
- continue;
30
- }
31
-
32
- // W1 must be in range 0xd800 .. 0xdbff
33
- if (W1 > 0xdbff) {
34
- return false;
35
- }
36
-
37
- // required the next word, but we're already at the end of data
38
- if (curr == end) {
39
- return false;
40
- }
41
-
42
- uint16_t W2;
43
- if (!match_system(utf16_endianness)) {
44
- W2 = uint16_t((uint16_t(*curr) << 8) | (uint16_t(*curr) >> 8));
45
- } else {
46
- W2 = *curr;
47
- }
48
-
49
- if (W2 < 0xdc00 || W2 > 0xdfff) // W2 = 0xdc00 .. 0xdfff
50
- return false;
51
-
52
- curr += 1;
53
- }
54
-
55
- return true;
56
- }
57
-
58
- } // namespace reference
59
- } // namespace tests
60
- } // namespace simdutf
@@ -1,14 +0,0 @@
1
- #include "simdutf/common_defs.h"
2
- #include "simdutf/encoding_types.h"
3
-
4
- namespace simdutf {
5
- namespace tests {
6
- namespace reference {
7
- // validate UTF-16
8
- simdutf_warn_unused bool validate_utf16(endianness utf16_endianness,
9
- const char16_t *buf,
10
- size_t len) noexcept;
11
-
12
- } // namespace reference
13
- } // namespace tests
14
- } // namespace simdutf