summaryrefslogtreecommitdiff
path: root/codegen/fold.zig (follow)
Commit message (Collapse)AuthorAgeFilesLines
* FoldData: Minimize Changes_When_Casefolded dataGravatar Ryan Liptak2024-06-271-3/+18
| | | | | | | | | | | | | | | | | | Only a few codepoints have a mapping in CaseFolding.txt but do not have the Changes_When_Casefolded property set. So, FoldData can just store a list of those particular codepoints and then re-use the encoded CaseFolding.txt data alongside it in order to implement changesWhenCaseFolded. This reduces the size of fold.bin.z from 4,387 bytes (4.28KiB) to 1,165 bytes (1.13KiB). This also seemingly introduced a very slight performance regression in zg_caseless. Before: zg CaseFold.compatCaselessMatch: result: 626, took: 258ns zg CaseFold.canonCaselessMatch: result: 626, took: 129ns After: zg CaseFold.compatCaselessMatch: result: 626, took: 263ns zg CaseFold.canonCaselessMatch: result: 626, took: 131ns
* Implements new case fold data encoding by @sqeek502 #8Gravatar Jose Colon Rodriguez2024-06-261-5/+6
|
* Added changes when casefolded backGravatar Jose Colon Rodriguez2024-06-261-31/+49
|
* Implemented sqeek502s case foldGravatar Jose Colon Rodriguez2024-06-261-97/+192
|
* Updated READMEGravatar Jose Colon Rodriguez2024-03-311-3/+2
|
* Changes when case folded check; 20ms fasterGravatar Jose Colon Rodriguez2024-03-011-3/+51
|
* Normalizer.eqlIgnoreCase compatibility caseless matchingGravatar Jose Colon Rodriguez2024-03-011-0/+76