Commit fa40745
Latin1 <=> UTF-X conversion + tests + benchmarks (simdutf#247)
* Validate latin
* Added Latin1 <=> UTF-X, tests TBD
* UTF -X <=> Latin1 conversions, test TBD
* Most Latin1 <=> UTF-X now passes compilation
* Implemented UTF32 => latin1 for archs on my CPU
* "Hello world" test UTF32 => Latin1
* Mostly works
* UTF32 => Latin1 test compiling but test failing
* Got a segfault here.
* Fixed segfault
* Less verbosity
* Same
* utf32 => Latin1 large input test
* test for Latin1 => UTF32 test. WIP
* fixed tests
* UTF32 => latin1 valid tests WIP
* Done with UTF 32 <=> Latin1 ?
* valid utf32 => latin1 tests
* UTF8 => Latin1 mostly done. Need tests.
* more tests for UTF8 => Latin1
* Some more tests
* UTF8 => Latin1 with errors tests
* 4_byte too large test UTF8=>latin1 working
* utf8 => latin1 too_large_input test works
* Header bits test work + small fixes
* UTF8 =>Latin1 /w errors test done
* utf8 => latin1 convert_valid tests done
* latin1 => UTF8 tests
* utf16le => latin1 tests
* utf16le => Latin1 with errors tests
* utf16le => latin1 tests
* utf16be => Latin1 tests
* latin1 => utf16be tests
* utf8 => Latin1 benchmarks
* fixing icu test attempt
* icu benchmark test
* Various minor fixes
* partial cleanup
* More cleaning up
* buggy cleanup
* better safe than sorry increnemental cleanup
* Very incremental cleanup that copiles #2
* Slowly but surely!
* Small, sure,safe & incremental
* More incremental cleanup
* More increments
* More increments
* More increments
* More increments
* Preliminary Cleanup done
* Minor adjustment
* Latin1 => utf8 benchmarks (untested)
* latin1 => utf16le bench untested
* latin1 => utf32 benchmark + basic tests
* utf16 => latin1 benchmark
* utf32 => Latin1 benchmark
* fix wrong size causing segfaults...
* Latin1 => utf8 icu
* latin1 => utf16 iconv (prev was also iconv)
* Latin1 =>Utf32 iconv
* Latin1 => UTF16 Iconv bench
* UTF32 => Latin1 Iconv
* latin1 => utf8 icu bench
* Fix some buffer overflow errors
* Fixes to latin1 => UTF-16 bench
* Latin1 => UTF32 icu bench
* UTF16 => Latin1 ICU
* UTF32 => Latin1 ICU benches
* Working UTF16 =>Latin1 icu bench
* utf32 => Latin1 Icu working
* Some fixes
* Some fixes to benches + modest README changes
* README done + minor changes
* More ICU checks for safety
* Remove comments
* fixes
* Various fixes on the latin 1 branch
* Fixes.
* latin1_from_utf16 unused parameter deletion
* latin1_from_utf32 unused parameter deletion
* utf32 length from latin1 unused parameter deletion
* fixes
* utf16 length from latin1 unusued parameter deletion
* more parameter deletion
* more parameter deletions
* Windows fixes
* arm64 dummy/scalar implementation
* More windows fixes
* Update tests/convert_utf32_to_latin1_with_errors_tests.cpp
Co-authored-by: Daniel Lemire <daniel@lemire.me>
* Update tests/convert_utf32_to_latin1_tests.cpp
Co-authored-by: Daniel Lemire <daniel@lemire.me>
* partial fixes
* Remove extraneous comments added by mistake
* remove extraneous comments
* Windows Fixes/fix utf32 => latin1 tests
* CMakeLists fixes
* More fixes
* Yet more fixes
* Made tests deterministic again + removed comments
* More Windows fixes
* s390/big endian fixes
* Windows fixes
* Cleaned up comments
---------
Co-authored-by: Daniel Lemire <dlemire@lemire.me>
Co-authored-by: Daniel Lemire <daniel@lemire.me>1 parent b470795 commit fa40745
70 files changed
Lines changed: 5384 additions & 106 deletions
File tree
- benchmarks/src
- include/simdutf
- src
- arm64
- fallback
- generic
- haswell
- icelake
- ppc64
- scalar
- latin1_to_utf16
- latin1_to_utf32
- latin1_to_utf8
- utf16_to_latin1
- utf16_to_utf8
- utf32_to_latin1
- utf8_to_latin1
- simdutf
- arm64
- fallback
- haswell
- icelake
- westmere
- westmere
- tests
- helpers
- reference
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1112 | 1112 | | |
1113 | 1113 | | |
1114 | 1114 | | |
1115 | | - | |
| 1115 | + | |
1116 | 1116 | | |
1117 | 1117 | | |
1118 | 1118 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
72 | 78 | | |
73 | 79 | | |
74 | 80 | | |
75 | 81 | | |
76 | 82 | | |
77 | 83 | | |
| 84 | + | |
78 | 85 | | |
79 | 86 | | |
| 87 | + | |
| 88 | + | |
80 | 89 | | |
81 | 90 | | |
82 | 91 | | |
83 | 92 | | |
84 | 93 | | |
85 | 94 | | |
| 95 | + | |
86 | 96 | | |
| 97 | + | |
| 98 | + | |
87 | 99 | | |
88 | 100 | | |
| 101 | + | |
89 | 102 | | |
90 | 103 | | |
91 | 104 | | |
92 | 105 | | |
93 | 106 | | |
94 | 107 | | |
95 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
96 | 113 | | |
97 | 114 | | |
| 115 | + | |
| 116 | + | |
98 | 117 | | |
99 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
100 | 123 | | |
101 | 124 | | |
| 125 | + | |
| 126 | + | |
102 | 127 | | |
103 | 128 | | |
104 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
0 commit comments