Commit Graph

  • 558d467eac Mark single-byte encode acceleration as done. Henri Sivonen 2018-09-27 17:11:16 +03:00
  • 0498cb67dd Organize single-byte data into a 64-byte-aligned struct. Henri Sivonen 2018-09-25 11:10:35 +03:00
  • 057564d384 Use offset-based run for single-byte encode. Henri Sivonen 2018-09-25 10:29:26 +03:00
  • 494614253b Generate longest run data. Henri Sivonen 2018-09-25 08:47:53 +03:00
  • 4377ef10c9 Make single-byte encodings have info about longest run of consecutive Unicode code points. Henri Sivonen 2018-09-24 16:23:27 +03:00
  • 5ab17a49e1 Update rustfmt. Henri Sivonen 2018-09-27 17:07:37 +03:00
  • 8451be9a56 Change minimum supported Rust version to 1.25.0. Henri Sivonen 2018-09-27 17:05:53 +03:00
  • 6b1a794639 Increment version number to 0.8.9. Henri Sivonen 2018-10-04 11:59:32 +03:00
  • 9ca86e2621 Update the simd crate to 0.2.3. Henri Sivonen 2018-10-04 11:54:43 +03:00
  • b3bfb5c6dc Add hack to allow building with stable rust Mike Hommey 2018-10-04 08:48:55 +09:00
  • ffe863483b Increment version number to 0.8.8. Henri Sivonen 2018-10-01 16:45:16 +03:00
  • 044580dd20 Exclude U+FEFF from Arabic Presentation Forms-B in bidi checks. Henri Sivonen 2018-10-01 16:43:33 +03:00
  • 5052145b1f Report Hebrew presentation forms as bidi. Henri Sivonen 2018-10-01 15:33:58 +03:00
  • f5804ab6b3 Add test case for previous UTF-16LE/UTF-16BE fix. Henri Sivonen 2018-09-27 10:39:18 +03:00
  • b67c60025b Increment version number to 0.8.7. Henri Sivonen 2018-09-26 18:39:32 +03:00
  • 07e5b8dd19 Add a short buffer early return to UTF-LE/UTF-16BE to UTF-8 fast track. Henri Sivonen 2018-09-26 18:33:26 +03:00
  • 915bf1b9e8 Fix typo in code-comment ('teh') Daniel Holbert 2018-09-14 13:44:17 -07:00
  • 382cedc328 Undo use of max_element() on aarch64 due to perf regression. Henri Sivonen 2018-09-13 13:01:10 +03:00
  • d27f8143c6 Use portable operations that map directly to aarch64 SIMD instead of vendor intrinsics. Henri Sivonen 2018-09-13 11:35:28 +03:00
  • a4df1a83fb Use the coresimd feature of packed_simd in hopes of makeing 32-bit ARM better. Henri Sivonen 2018-09-12 16:18:53 +03:00
  • ea152e1b69 Port aarch64 to packed_simd. Henri Sivonen 2018-09-12 12:10:10 +00:00
  • e9e4c7f04f Update packed_simd to 0.3.0. Henri Sivonen 2018-09-12 14:23:42 +03:00
  • 8fe5c196ed Switch from simd to packed_simd. Henri Sivonen 2018-09-11 15:44:44 +03:00
  • d8b6510df1 Increment version number to 0.8.6. Henri Sivonen 2018-08-13 11:17:11 +03:00
  • 23a94556f1 Remove previously added debug assertion from convert_utf16_to_latin1_lossy. Henri Sivonen 2018-08-13 11:16:56 +03:00
  • e6eaca2e10 Increment version number to 0.8.5. Henri Sivonen 2018-08-09 15:04:00 +03:00
  • 2ecd052d24 Mention the new _partial conversion variants in the README. Henri Sivonen 2018-08-08 16:07:36 +03:00
  • df9237dfda Add variants of conversions from UTF-16 and Latin1 to UTF-8 that can deal with insufficient output space. The idea is to use these first with an allocation rounded up to jemalloc bucket size and only if there output doesn't fit allocating for the worst case. Henri Sivonen 2018-08-08 16:03:46 +03:00
  • 80da7a3fc4 When not fuzzing, make the lossy conversions to Latin1 debug_assert! if the argument is not in the Latin1 range. Henri Sivonen 2018-08-08 14:26:25 +03:00
  • b3e9adaa95 Link to encoding_rs_io from the docs. Henri Sivonen 2018-08-08 14:06:11 +03:00
  • 9a75dfd730 Increment version number to 0.8.4. Henri Sivonen 2018-06-27 12:13:30 +03:00
  • bcf2ea70d5 Fix SSE2-specific memory corruption in conversions between UTF-16 and Latin1. Henri Sivonen 2018-06-27 12:12:51 +03:00
  • 30bffbfd5e Increment version number to 0.8.3 and remove an #[inline(never)] annotation. Henri Sivonen 2018-06-21 15:41:39 +03:00
  • 86196e0e87 Increment version number to 0.8.2. Henri Sivonen 2018-06-21 15:26:17 +03:00
  • 401965c30b Speed up non-ASCII UTF-16 to UTF-8 encode with unsafe. Henri Sivonen 2018-06-21 14:54:04 +03:00
  • ccc14ea479 Increment version number to 0.8.1. Henri Sivonen 2018-06-19 12:41:32 +03:00
  • a5fa15ba92 Note potential utility for Windows interop. Henri Sivonen 2018-06-19 10:21:23 +03:00
  • 6a5a95178e Remove mention of UTF-16 performance non-goal now that it is fast. Henri Sivonen 2018-06-19 10:18:59 +03:00
  • 865dc73a25 Merge SSE2 Latin1 conversion unrolling. Henri Sivonen 2018-06-06 15:27:58 +03:00
  • c0f8137833 Avoid applying SSE2 unrolling to NEON. Henri Sivonen 2018-06-06 15:27:09 +03:00
  • 02e2001bf3 Rename unrolled Latin1 conversion. Henri Sivonen 2018-06-06 15:22:02 +03:00
  • f4908122be Rearrange Latin1 loop unrolling. Henri Sivonen 2018-06-06 12:47:25 +03:00
  • c2345c1d0a Take unrolling into account in length check. Henri Sivonen 2018-06-06 12:19:50 +03:00
  • 529bffa239 Fix off-by-one error. Henri Sivonen 2018-06-06 12:03:28 +03:00
  • cff24e032c Increment the version number to 0.8.0. Henri Sivonen 2018-06-04 15:43:17 +03:00
  • 68be155f82 Unroll SSE2 Latin1 to and from UTF-16 conversions by two and align source. Henri Sivonen 2018-06-04 13:42:03 +03:00
  • 26735520db Update Travis config with new Cargo features. Henri Sivonen 2018-06-04 12:11:24 +03:00
  • e55830b34a Fix typo Henri Sivonen 2018-06-04 12:09:06 +03:00
  • 810619d847 Mark Rayon idea as abandoned. Henri Sivonen 2018-05-29 15:44:07 +03:00
  • e5256a124d Flip size vs. speed default around for Kanji and Hanzi legacy encode. Henri Sivonen 2018-05-29 15:37:17 +03:00
  • 35c6e946fe Add docs for the individual encodings. Henri Sivonen 2018-05-23 15:43:32 +03:00
  • 06caa06e60 Add a "pub " in generate-encoding-data.py. Henri Sivonen 2018-05-11 11:41:17 +03:00
  • b969646587 Document x-user-defined and UTF-16LE|BE speedups. Henri Sivonen 2018-05-11 11:37:36 +03:00
  • c2ecded810 Test SIMD-accelerated UTF-16LE|BE decode with both alignments. Henri Sivonen 2018-05-11 10:57:54 +03:00
  • a5e0e6649f Speculatively write in the hope that surrogates are paired. Henri Sivonen 2018-05-11 10:32:13 +03:00
  • 5d29041489 Fix the SIMD path for UTF-16LE|BE to UTF-16 decode. Henri Sivonen 2018-05-11 10:22:50 +03:00
  • 1c0bb24bf4 Make UTF-16LE|BE to UTF-16 decode smarter. Henri Sivonen 2018-05-11 10:14:12 +03:00
  • f60cdb8307 Fix UTF-16LE|BE to UTF-8 SIMD acceleration. Henri Sivonen 2018-05-09 16:18:27 +03:00
  • 2d0ad65289 Generate byte swap shuffle manually. Henri Sivonen 2018-05-09 16:08:35 +03:00
  • 9cc6ecdf27 Clean up simd_byte_swap() type. Henri Sivonen 2018-05-09 16:02:21 +03:00
  • 90e091fcea Fix assertion in simd_at(). Henri Sivonen 2018-05-09 15:12:32 +03:00
  • b3aa74e04a SIMD-accelerate UTF-16LE|BE fast path. Henri Sivonen 2018-05-09 15:02:55 +03:00
  • b065cb6970 Restore support for big-endian targets. Henri Sivonen 2018-05-09 14:39:03 +03:00
  • 28f4f68484 Monomorphize UTF-LE|BE fast track for endianness. Henri Sivonen 2018-05-09 14:36:58 +03:00
  • 8fdfb7a111 Add UTF-16LE|BE fast path. Henri Sivonen 2018-05-09 13:40:05 +03:00
  • bae16c05f4 Upgrade rustfmt. Henri Sivonen 2018-05-07 14:13:26 +03:00
  • 665664095f Document NEON support on ARMv7. Henri Sivonen 2018-05-07 13:16:46 +03:00
  • 1ee867e39b Merge NEON support. Henri Sivonen 2018-05-07 13:09:39 +03:00
  • ce24104502 Avoid using NEON for read-only ASCII validation. Henri Sivonen 2018-05-07 13:06:07 +03:00
  • 7c5956ec38 Optimize away one intruction in simd_is_ascii(). Henri Sivonen 2018-05-04 12:22:23 +03:00
  • f0bc93769d Fix typo. Henri Sivonen 2018-05-03 16:05:38 +03:00
  • 9efb8504b8 Tweak style of document-internal links. Henri Sivonen 2018-05-03 16:04:25 +03:00
  • 19f5aa7fc1 Tweak IANA column headers. Henri Sivonen 2018-05-03 16:02:52 +03:00
  • 37415ea074 Document the notable naming differences relative to the IANA. Henri Sivonen 2018-05-03 16:01:59 +03:00
  • a06a13098b Document the relationship of single-byte encodings to Windows code pages. Henri Sivonen 2018-05-03 15:41:24 +03:00
  • fb5f2df6c1 Add support for ARMv7+NEON. Henri Sivonen 2018-05-03 12:13:06 +03:00
  • e2dda864b7 Ephasize lack of UTF-16LE and UTF-16BE yet more. Henri Sivonen 2018-05-02 21:58:10 +03:00
  • 8f542b99dd Tweak latin1 wording. Henri Sivonen 2018-05-02 21:44:28 +03:00
  • 56d8415512 Make the lack of UTF-16LE and UTF-16BE encoders even more explicit. Henri Sivonen 2018-05-02 21:39:37 +03:00
  • 320ea7c76b Fix grammar in text introduced by previous commit. Henri Sivonen 2018-05-02 21:37:15 +03:00
  • 444c5190a7 Add documentation to set expectations about UTF-16LE, UTF-16BE and ISO-8859-1. Henri Sivonen 2018-05-02 21:33:55 +03:00
  • 3ac573b13e Increase the minimum supported Rust version to 1.21.0. Henri Sivonen 2018-04-05 09:26:37 +03:00
  • eab89f270d SIMD-accelerate x-user-defined to UTF-16 decode. Henri Sivonen 2018-03-13 14:17:31 +02:00
  • c0f2ff054c Upgrade to rustfmt-nightly. Henri Sivonen 2018-01-25 10:28:23 +02:00
  • 8449082136 Increment version to 0.7.2. Henri Sivonen 2018-01-18 12:12:25 +02:00
  • 144b116314 Run cargo fmt. Henri Sivonen 2018-01-18 12:08:08 +02:00
  • 29fe5c7713 Update README for 0.7.2. Henri Sivonen 2018-01-18 11:07:29 +02:00
  • 2d7441df0c Merge branch 'memory' Henri Sivonen 2018-01-18 10:46:44 +02:00
  • 50c9d214e2 Fix syntax errors. Henri Sivonen 2018-01-17 15:37:31 +02:00
  • 1df4e57425 Address aarch64 warnings when SIMD is enabled. Henri Sivonen 2018-01-17 15:36:00 +02:00
  • 2d87c50cd5 Ensure is_str_latin1_impl() reports an offset at code point boundary. Henri Sivonen 2018-01-17 15:20:06 +02:00
  • c5e088f3d2 Tweak documentation. Henri Sivonen 2018-01-17 14:40:04 +02:00
  • 8086348808 Fuzz bidi checks. Henri Sivonen 2018-01-17 14:39:52 +02:00
  • 021c6602b2 Fuzz is_utf8_bidi(). Henri Sivonen 2018-01-17 13:29:51 +02:00
  • 8244e1c1b8 Optimize combined Latin1 and bidi check for UTF-16. Henri Sivonen 2018-01-17 13:19:46 +02:00
  • b95f87ac29 Optimized combined Latin1 and bidi checks for str and UTF-8. Henri Sivonen 2018-01-17 12:05:05 +02:00
  • 39c1a9d3c8 SIMD-accelerate is_utf16_bidi(). Henri Sivonen 2018-01-17 10:56:41 +02:00
  • 6aef4ac478 Document that is_utf8_bidi() is a pessimization for Thai. Henri Sivonen 2018-01-16 17:40:53 +02:00
  • e7aa145d2f Add combined bidi and UTF-8 validity check. Henri Sivonen 2018-01-16 17:31:34 +02:00
  • 3b9b655dfa Fix Markdown link id scoping. Henri Sivonen 2018-01-16 15:03:40 +02:00