Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# 1.0.0 (2024-02-06) ### Add * `_sz_find_3byte_serial` ([d542c4b](https://github.com/ashvardanian/stringzilla/commit/d542c4b3a7430efb0dc5745ee390921b385fec13)), closes [#70](https://github.com/ashvardanian/stringzilla/issues/70) * `begin`, `size` and other utility C++ functions ([5378a6c](https://github.com/ashvardanian/stringzilla/commit/5378a6c869f0b84b50dd5cd02654b0c9ad476dcd)) * `memmem` to benchmarks ([aa14ac8](https://github.com/ashvardanian/stringzilla/commit/aa14ac8370066b1c48eca4aec2412e3df8230962)) * `MemoryMappedFile` ([28638f8](https://github.com/ashvardanian/stringzilla/commit/28638f85ab8887b036859adc44897bc6d85b3b2e)) * `partition` method in Python ([257ac6c](https://github.com/ashvardanian/stringzilla/commit/257ac6cff6860b2893f939bd16cef97cf9420853)) * `qsort_r` benchmarks for Linux ([e31127a](https://github.com/ashvardanian/stringzilla/commit/e31127a7969bbf3336cbb499504a4fe290c14db1)) * `sort()` and `order()` efficient Py methods ([dd4f57f](https://github.com/ashvardanian/stringzilla/commit/dd4f57f95d239492bc21bf76bcee8dc0b1642d08)) * `sort()` interface for Python ([e657baf](https://github.com/ashvardanian/stringzilla/commit/e657bafa5d709a853b9aeb684bfdec5e37924c65)) * `startswith` & `endswith` ([c1cbb77](https://github.com/ashvardanian/stringzilla/commit/c1cbb77fc29382f04d8ad36de2a28d448a8806e5)) * `Str` concatenation ([1d7fed2](https://github.com/ashvardanian/stringzilla/commit/1d7fed2ee4abf4763cc3d9b21d9515a1beb16cf6)) * `Strs` structure in CPython ([4841a54](https://github.com/ashvardanian/stringzilla/commit/4841a541d327c07305fd3d2ceb7a289a6269116e)) * `sz_copy_serial` implementation ([d47fa1c](https://github.com/ashvardanian/stringzilla/commit/d47fa1c3493013b058b10b7387a4895cf2129fb4)) * `sz_move_serial` implementation (#60) ([1342711](https://github.com/ashvardanian/stringzilla/commit/1342711db45bda465b80b36ff98a058a349adcf1)), closes [#60](https://github.com/ashvardanian/stringzilla/issues/60) * `sz_string_erase` implementation ([a64e091](https://github.com/ashvardanian/stringzilla/commit/a64e091247da3799fbbed129b95607c639e5ccac)) * Arm Neon character counter ([db2f523](https://github.com/ashvardanian/stringzilla/commit/db2f52388a973f1fbddb14913f8ae273adfc33d2)) * Arm NEON Raita search ([7a085e6](https://github.com/ashvardanian/stringzilla/commit/7a085e61af38a1f28e0b2c7faf13c203eff4bf0a)) * Auto-fetching Google Benchmark ([28311f3](https://github.com/ashvardanian/stringzilla/commit/28311f3fa808c6b42de0959bd59297b493418664)) * AVX-512 for `character_set` search ([543a942](https://github.com/ashvardanian/stringzilla/commit/543a94299a47dc16f64374d10217cf544fe346b2)) * AVX-512 functionality ([cca3d19](https://github.com/ashvardanian/stringzilla/commit/cca3d19ccc5cc72b0e08cd81a8955b79b31dc548)) * AVX-512 implementations for similarity scores ([e205c7a](https://github.com/ashvardanian/stringzilla/commit/e205c7a0ea9534732403d8e24990b74a1803b2ae)) * AVX-512 implementations for substring search ([35f7a11](https://github.com/ashvardanian/stringzilla/commit/35f7a11568b09c5b7e3966139b4935fd95caf1fc)) * AVX-512 Levenshtein distance for longer strings ([2b33e61](https://github.com/ashvardanian/stringzilla/commit/2b33e618e76ca6ffc151adf1f54294f62701374a)) * AVX2 baseline implementation ([a99dd56](https://github.com/ashvardanian/stringzilla/commit/a99dd5672f5b92384fa2645a1c81267c8400ec0f)) * Baseline C++ class ([979bf56](https://github.com/ashvardanian/stringzilla/commit/979bf56b02a13e782a757b5f54324883ed7265cf)) * Baseline NodeJS binding ([7abc456](https://github.com/ashvardanian/stringzilla/commit/7abc456ca8ea5bf494b9a975f14b909cebba5c53)) * Baseline NodeJS binding ([611c2c1](https://github.com/ashvardanian/stringzilla/commit/611c2c12ce16625cfbb0af30ab5dd41f80098e6a)) * Benchmark for [<>] search ([e8dd299](https://github.com/ashvardanian/stringzilla/commit/e8dd29902c5488226d771902f1383625b5f277c4)) * Benchmarks notebook ([317fd7f](https://github.com/ashvardanian/stringzilla/commit/317fd7ff8a949f029d58fd8bedc29d53faafef2f)) * Benchmarks on synthetic strings ([f6d8522](https://github.com/ashvardanian/stringzilla/commit/f6d852213c7c35d38145596c7376a761ee59ac92)) * Buffer protocol support ([f4c17b9](https://github.com/ashvardanian/stringzilla/commit/f4c17b91f17e34fa58b391fc0191c9fdb6588757)) * C++ API for scores and fingerprints ([b8778d0](https://github.com/ashvardanian/stringzilla/commit/b8778d035debb494485974ffe80049ddde268f8f)) * char-set, reverse order, and scoring in Py ([563f264](https://github.com/ashvardanian/stringzilla/commit/563f2647722a386ecd46b00b9c85affe9eb1a759)), closes [#23](https://github.com/ashvardanian/stringzilla/issues/23) [#12](https://github.com/ashvardanian/stringzilla/issues/12) * Collection-level `append`, `extend` ([5066505](https://github.com/ashvardanian/stringzilla/commit/506650585bbb20c0cdf40ac40db6f65c52187ce6)) * Commonly used character sets ([00cc2f3](https://github.com/ashvardanian/stringzilla/commit/00cc2f3b6ef600559db7e57ec51ca3447af8501d)) * comparsion operators ([abe63e4](https://github.com/ashvardanian/stringzilla/commit/abe63e4a7e89dd02e526ecdb1a7f0505dcbd925d)) * compile-time dispatch for fill/move/copy ([9cb00fc](https://github.com/ashvardanian/stringzilla/commit/9cb00fc154643d2fabec451819ee3a18950ddb9e)) * Counting specific characters or subtrings ([67e71d8](https://github.com/ashvardanian/stringzilla/commit/67e71d8647a8a722cac2e3e7f0385f3f9759e9c0)) * Diagonal order Levenshtein distance computation ([d1ac8e3](https://github.com/ashvardanian/stringzilla/commit/d1ac8e3d1905463beef858b45306e02fe881a7ab)) * Dynamic dispatch ([2059c87](https://github.com/ashvardanian/stringzilla/commit/2059c87c9e5b3150c5b45b1161dd405b6707ee85)) * evals for hash quality ([20b4db0](https://github.com/ashvardanian/stringzilla/commit/20b4db091972a0c797495e1db901f0abb0fc250a)) * Examples of lcoating unique strings ([8f5a09b](https://github.com/ashvardanian/stringzilla/commit/8f5a09bdfd61f9d6d59ada8c1511c0658252e21f)) * Exception-throwing cases for STL strings ([8318b32](https://github.com/ashvardanian/stringzilla/commit/8318b32a72be92adc9cc80ee0b03ec73e62eea17)) * Experimental rolling hashes on NEON ([571d1b2](https://github.com/ashvardanian/stringzilla/commit/571d1b27ed34a76e3070b5bb95049a8347ddfc4d)) * Fast integer division for random generator ([c0cc8ba](https://github.com/ashvardanian/stringzilla/commit/c0cc8ba35349f32cb8220388c03dd6b1b6a27177)) * Fast replacements and alloc-free concat ([3720cd0](https://github.com/ashvardanian/stringzilla/commit/3720cd0309761aecfeb16414995e0f29195a8ce0)) * Full line search benchmarks ([9db22d5](https://github.com/ashvardanian/stringzilla/commit/9db22d544475989a703501392c82dbceae0acf84)) * get item with slice ([ab5e5ac](https://github.com/ashvardanian/stringzilla/commit/ab5e5ac868dce0727858d55315e2f3bcafe20e3b)) * Horspool algorithm for longer patterns ([19ed36c](https://github.com/ashvardanian/stringzilla/commit/19ed36c7fb747b6a6c72572733b74b7efdb75890)) * Hybrid sorting with Radix and Quick Sorts ([e6e532c](https://github.com/ashvardanian/stringzilla/commit/e6e532c79f1f662516c98639cb92c6765ab9edf8)) * Initial Arm Neon support ([9d38c7d](https://github.com/ashvardanian/stringzilla/commit/9d38c7d467f8c6ca3a2c7b82b29cb86bb921f9e6)) * Initial Levenstein distance ([9093983](https://github.com/ashvardanian/stringzilla/commit/9093983b7751480fe999d0b374699c7ff11a056c)) * Levenshtein distance benchmarks ([19f5dd5](https://github.com/ashvardanian/stringzilla/commit/19f5dd59111e4d24d29dac24dc4fd5ec5369048e)) * Levenshtein distance tests in C++ ([1efccd9](https://github.com/ashvardanian/stringzilla/commit/1efccd9dd5a466e5e575ff84136d4e1c5f294015)) * Levenstein distance ([7723703](https://github.com/ashvardanian/stringzilla/commit/7723703295d1bdf22c45176b30e9fdf2c643d9fb)) * Merge-, Insertion-, Quick-sorting algos ([061d523](https://github.com/ashvardanian/stringzilla/commit/061d523b370d63ea9b3a0d0652c1bd7132ca82dd)) * Merge-sort for strings ([60e683b](https://github.com/ashvardanian/stringzilla/commit/60e683ba6d611d037eb49a4aa818a7af424f4cbf)) * Micro-benchmarking notebook ([c70e811](https://github.com/ashvardanian/stringzilla/commit/c70e811c81a1e76ce19a321b0ceeb6886f36fa5f)) * misaligned tests ([1e94b7d](https://github.com/ashvardanian/stringzilla/commit/1e94b7d15f81440392016c169b22b24f36eb0888)) * missing `append`, `assign` STL APIs ([b28136a](https://github.com/ashvardanian/stringzilla/commit/b28136aace2fda73544d9194ccfbf693e2d643c6)) * Mutable string slices ([009080b](https://github.com/ashvardanian/stringzilla/commit/009080b118064186fb6ced5aa76e9229ca3c34df)) * Non-STL Pythonic slicing ([8ca6f03](https://github.com/ashvardanian/stringzilla/commit/8ca6f03bb20be543ea8ea122f36863bdf64bb656)) * Purely `qsort`-based hybrid sort benchmark ([eaef636](https://github.com/ashvardanian/stringzilla/commit/eaef636ff64ef0b9f730f739cb57771f776f4826)) * Python bindings ([1c759c2](https://github.com/ashvardanian/stringzilla/commit/1c759c257afe048026bc89d0a8478067b2e43b0f)) * random `shuffle` for strings collections ([6e3309c](https://github.com/ashvardanian/stringzilla/commit/6e3309c00d75326ed87caaa5673fcd6296b68c7d)) * Random strings generator ([eafaba0](https://github.com/ashvardanian/stringzilla/commit/eafaba00315e553f30b1b6e77d5fdc19b6378341)) * Randomize non-owning ranges ([71890ac](https://github.com/ashvardanian/stringzilla/commit/71890acc26926274b56cf22c94e5d977bc007191)) * Range matchers for charsets ([207d1de](https://github.com/ashvardanian/stringzilla/commit/207d1de4fe99b5b1d0a9c6ddf154f7ca27b32f65)) * read-only operations for `string` ([df10847](https://github.com/ashvardanian/stringzilla/commit/df10847c8b5c4ca29e0ca71b9227fb1f8f33897d)) * reverse order AVX2 & benchmarks ([ac05a39](https://github.com/ashvardanian/stringzilla/commit/ac05a39ba22afe02864da2f9c8bfdd3d8a854a97)) * Reverse order iterator ([2931be7](https://github.com/ashvardanian/stringzilla/commit/2931be77445b2a5b3c37f6a961fb10b1f22825d8)) * Rust bindings ([5d75ccf](https://github.com/ashvardanian/stringzilla/commit/5d75ccfe82cd676cc36653e79872a5b1fc2ad659)), closes [#66](https://github.com/ashvardanian/stringzilla/issues/66) * Search benchmark ([f257df6](https://github.com/ashvardanian/stringzilla/commit/f257df671418f8276e98394bc9e709962987d761)) * Separate notebook for similarity benchmarks ([f3f2ae6](https://github.com/ashvardanian/stringzilla/commit/f3f2ae6c394922278484bda1e99b226a6d4ff5b1)) * Shuffling method in Python ([6b82311](https://github.com/ashvardanian/stringzilla/commit/6b82311f8c12afe731eccab36642fabe6c327cde)) * Slices and rich comparisons ([d2d8de9](https://github.com/ashvardanian/stringzilla/commit/d2d8de9707ebd659fd425efd89bd25f7f4c74c1c)) * small string optimization in C & Cpp ([a0986e9](https://github.com/ashvardanian/stringzilla/commit/a0986e92c24248410e68aadb367af51a590fdee1)) * Sorting functionality for C++ ([39cc4d4](https://github.com/ashvardanian/stringzilla/commit/39cc4d40e6faf7628d2df34f7a1d99723b9bdec5)) * Split functionality ([c3e28c9](https://github.com/ashvardanian/stringzilla/commit/c3e28c954174c5d48337f78c5dda635d9af8c9cb)) * Split into consecutive slices ([f984397](https://github.com/ashvardanian/stringzilla/commit/f984397d16f3640bf212431af09a93ad81180f9c)) * Split ranges ([c591599](https://github.com/ashvardanian/stringzilla/commit/c5915999f08b69931c9249718b49e0666fc41842)) * Split ranges ([ca5e95b](https://github.com/ashvardanian/stringzilla/commit/ca5e95b1ef0f3ce9263b632372fd901539eb9055)) * SSE and Arm variants of CRC32 ([674da60](https://github.com/ashvardanian/stringzilla/commit/674da60244e283845453a874b44d19e8cf7c4369)) * STL compatibility tests ([5281628](https://github.com/ashvardanian/stringzilla/commit/52816283ec98d84b44f8c4ea7af76e076a237d91)) * String conversion functionality ([46ef2b7](https://github.com/ashvardanian/stringzilla/commit/46ef2b708de98ac7c17ef5aa0a5771f5520ca1aa)) * String literals, reverse iterators ([9a48ba2](https://github.com/ashvardanian/stringzilla/commit/9a48ba24dc87ac98553d599c929e62f30fd16a55)) * strippers on both sides ([782cffb](https://github.com/ashvardanian/stringzilla/commit/782cffb4c5e6b72cc566726b576fcfdb707e5c10)) * Subscript methods ([8c6ae0a](https://github.com/ashvardanian/stringzilla/commit/8c6ae0a8c2599ce33b94ef77e6101b6e8ef2a513)) * support of negative slices ([76ebcc4](https://github.com/ashvardanian/stringzilla/commit/76ebcc483605a0ce2312804abc6ad0732b248e3c)) * SwiftPM binding to C ([3940549](https://github.com/ashvardanian/stringzilla/commit/39405490c834677647c94172fb62414dae7bdfa6)) * test for slice operator ([70edef1](https://github.com/ashvardanian/stringzilla/commit/70edef1fe6ef906ef5df2032d4d4fc4dcde8ab92)) * tests for slices ([374fc0b](https://github.com/ashvardanian/stringzilla/commit/374fc0b7d3df8e2630d887b760f0463e750e5a43)) * tests for Slices ([a103c27](https://github.com/ashvardanian/stringzilla/commit/a103c27c61b9679a037fc3324aa6e4569a61b1ea)) * Vectorized `count` ([ef067d8](https://github.com/ashvardanian/stringzilla/commit/ef067d805b7678f1db84ebd55ab4994bb0e351df)) * Vectorized `split` for Python ([69b1e1a](https://github.com/ashvardanian/stringzilla/commit/69b1e1a53d69e00ece4922feb7c0bce9971c94be)) * Windows support ([79e0f47](https://github.com/ashvardanian/stringzilla/commit/79e0f476ef8637c54f52f7ef05e5b6772b4d4582)) ### Break * `sz_string_erase` to return delta ([7f01630](https://github.com/ashvardanian/stringzilla/commit/7f01630fbb9079adebea876a02e3b8408bf70d48)) * Avoiding LibC and new API ([efafbbf](https://github.com/ashvardanian/stringzilla/commit/efafbbf0687f1d315c94b54b08e5b93f91e88be0)) * Deprecate multi-source `Strs`; split tests ([1e09400](https://github.com/ashvardanian/stringzilla/commit/1e09400fe6e07936b9679a35731ab87819c5f8ac)) * New testing suite ([927bff1](https://github.com/ashvardanian/stringzilla/commit/927bff1f372da6702242fea871a5cb1142221a92)) * r-prefixed names for reverse order ([7f1e8c4](https://github.com/ashvardanian/stringzilla/commit/7f1e8c4a4fdb104a51ef97b37a5a5bfa21950265)) * rename C++ `split` to `partition` for consistency ([d8f1940](https://github.com/ashvardanian/stringzilla/commit/d8f194024169ee7d1362a3a7d5461329890d5311)) * Replace `append` -> `expand` ([bb02881](https://github.com/ashvardanian/stringzilla/commit/bb02881979e8ab1e8009b0bdbdeecfe278016165)) * Shorter function prefixes ([c0e129d](https://github.com/ashvardanian/stringzilla/commit/c0e129d8289d5df6ec65b29d2f90ec55d8a19ca5)) * Use two Rabin rolling hashes ([f4980d9](https://github.com/ashvardanian/stringzilla/commit/f4980d915d1f5b567cdef564a384fc6ab471e83f)) ### Build * Released 1.0.0 [skip ci] ([1e6b0f6](https://github.com/ashvardanian/stringzilla/commit/1e6b0f675c1b749024ee3ae2ab364672cd0016f7)) * Released 1.0.1 [skip ci] ([ab185a6](https://github.com/ashvardanian/stringzilla/commit/ab185a6dc01b4ebe69c0d54a7989b54b39f969f6)) * Released 1.0.2 [skip ci] ([dc4ce27](https://github.com/ashvardanian/stringzilla/commit/dc4ce2740e57e5ede6478f2637faa8cdc5f345e1)) * Released 1.0.3 [skip ci] ([0280ca6](https://github.com/ashvardanian/stringzilla/commit/0280ca60abeab793ee97d8778e201b3ac95dd11b)) * Released 1.1.0 [skip ci] ([22682e7](https://github.com/ashvardanian/stringzilla/commit/22682e732beafb5430b1186da9b6474ee37949b5)) * Released 1.1.1 [skip ci] ([ff64dcc](https://github.com/ashvardanian/stringzilla/commit/ff64dcc7207375416da3ec5b9e9fc15c1177bc8d)) * Released 1.1.2 [skip ci] ([8d2436d](https://github.com/ashvardanian/stringzilla/commit/8d2436dfeb8c62ff2aece8d9cc3650990aba1c1f)) * Released 1.1.3 [skip ci] ([3136ac8](https://github.com/ashvardanian/stringzilla/commit/3136ac868cdee2e529e6f4888c611eab3fe9bd3c)) * Released 1.2.0 [skip ci] ([085b89b](https://github.com/ashvardanian/stringzilla/commit/085b89ba046f7abf0552e770071a859d95d10b1c)) * Released 1.2.1 [skip ci] ([075ce13](https://github.com/ashvardanian/stringzilla/commit/075ce1385aef1b4a781716c85e4b36c9e91fe6cf)) * Released 1.2.2 [skip ci] ([ddac709](https://github.com/ashvardanian/stringzilla/commit/ddac7099cf50a21a99b1a432ec2dab1c09ef80df)) * Released 2.0.0 [skip ci] ([bc30dcf](https://github.com/ashvardanian/stringzilla/commit/bc30dcfdfa480bafde28264f1958cd8e7bd1d91e)) * Released 2.0.1 [skip ci] ([e44faed](https://github.com/ashvardanian/stringzilla/commit/e44faed6fffa8175b2ed4afb262efd6672f1ee08)) * Released 2.0.2 [skip ci] ([74bce88](https://github.com/ashvardanian/stringzilla/commit/74bce88200a6119cc43a9bd4e32f5b0b1328cf21)) * Released 2.0.3 [skip ci] ([d728848](https://github.com/ashvardanian/stringzilla/commit/d728848723ecbe5cec8fd47ce5e45fad7f2bd0ff)) * Released 2.0.4 [skip ci] ([7d0de91](https://github.com/ashvardanian/stringzilla/commit/7d0de911fd9a851175be5e8ea247d79df0dfe198)) ### Docs * Add Apache 2.0 LICENSE ([d9a52df](https://github.com/ashvardanian/stringzilla/commit/d9a52df7b256283105bc5381e566d61761be7e17)) * Add development plans ([cf81e41](https://github.com/ashvardanian/stringzilla/commit/cf81e413075560b43f34173deca9473db222e931)) * Annotate SWAR methods ([8bd2c20](https://github.com/ashvardanian/stringzilla/commit/8bd2c20c0859b0e80cf3302d3385963c002faadc)) * benchmark against BioPython ([c1b85bd](https://github.com/ashvardanian/stringzilla/commit/c1b85bdf90054278e525a97d6e633eb0d6c00c3a)) * Build instructions and contribution guide ([a7883aa](https://github.com/ashvardanian/stringzilla/commit/a7883aaa151a9dd87be196968a1f6d0bb9202d2d)) * correct SSO size in `libc++` ([86ba553](https://github.com/ashvardanian/stringzilla/commit/86ba5533db7bd0cc302050d568c38d77410ba172)) * Extend algorithms ([266c017](https://github.com/ashvardanian/stringzilla/commit/266c01710dddf71fc44800f36c2f992ca9735f87)) * Improved intro ([034260b](https://github.com/ashvardanian/stringzilla/commit/034260b1b6fec373cec3e101cb1aaa0c28b0d868)) * Less sections ([371c24f](https://github.com/ashvardanian/stringzilla/commit/371c24f65c5d1867a8cc417d0c51264da8e17d79)) * Library description ([40dd6f5](https://github.com/ashvardanian/stringzilla/commit/40dd6f56b37b56aad4d47ca73a52735070af9782)) * Linking issues and refreshing C part ([84bc1f5](https://github.com/ashvardanian/stringzilla/commit/84bc1f55b4f161e1b76b4969d8eb6867ce289c26)) * list performance considerations ([0b61591](https://github.com/ashvardanian/stringzilla/commit/0b61591bec153361aa1dff9139b0c940dbf1baae)) * Major improvements for hashing ([c6110b5](https://github.com/ashvardanian/stringzilla/commit/c6110b5890fa6de023c0d5fc7d39c3aa0e921293)) * Make front page easier on the eye ([edc6763](https://github.com/ashvardanian/stringzilla/commit/edc67632f126b691699351b4f208803642933cdf)) * More benchmarking instructions ([4ef7d64](https://github.com/ashvardanian/stringzilla/commit/4ef7d6477841ac0b6991642f27ace05f5b636906)) * More datasets for benchmarks ([87d1973](https://github.com/ashvardanian/stringzilla/commit/87d1973e6f7a05b8540fdfe3e9db0fd03b753c67)) * README and warnings ([f4348e4](https://github.com/ashvardanian/stringzilla/commit/f4348e48b8a5971c2dc16decf74b7cd77cea1c86)) * recommending VSCode extensions ([b19a186](https://github.com/ashvardanian/stringzilla/commit/b19a186897ca3802f7f4fe2c64aac252be803875)) * Refined README ([3caf621](https://github.com/ashvardanian/stringzilla/commit/3caf621596aa070f8720a315d9c07536ecd39d17)) * Refresh intro ([445f292](https://github.com/ashvardanian/stringzilla/commit/445f292ac17a4b935203d7fea3aa7a42c2d7e8d7)) * Restructure groups ([87c55b7](https://github.com/ashvardanian/stringzilla/commit/87c55b7b753145ad27c7f3083280bed787f66d1f)) * Sections on random strings ([067ef21](https://github.com/ashvardanian/stringzilla/commit/067ef21aebb3d828f77e135745d79840e726b516)) * Sorting and PRNG benchmarks ([d7a6e33](https://github.com/ashvardanian/stringzilla/commit/d7a6e33a8ea1ba68242ef4513171499bbbcc3c13)) * spelling ([49b70e8](https://github.com/ashvardanian/stringzilla/commit/49b70e8f9c1f090b85791107da4c24f0f5ee2f19)) * Spelling ([95c9fcf](https://github.com/ashvardanian/stringzilla/commit/95c9fcf8d507eea15fe5ba2450ac942ba764fa6d)) * Suggesting STL API extensions ([6094006](https://github.com/ashvardanian/stringzilla/commit/60940064aeeabfe60cc6e6a62e00f38b9e03668a)) * Update [skip release] ([1b336ee](https://github.com/ashvardanian/stringzilla/commit/1b336eee886c84d6afda9519f493432f3a4cfe47)) * Update LICENSE and table ([76d0c1f](https://github.com/ashvardanian/stringzilla/commit/76d0c1f8b48a983baa9cd70fc63656da19284755)) * Update README.md ([20de986](https://github.com/ashvardanian/stringzilla/commit/20de986212b2afda9f89958f0114ecba1a79c019)) * Update table [skip release] ([cdf425a](https://github.com/ashvardanian/stringzilla/commit/cdf425aa6161fb3c8be8160be4ddcf6e5c0d1a5e)) ### Fix * `comparator` function signature ([635ce6e](https://github.com/ashvardanian/stringzilla/commit/635ce6e1894ec12fa68e6333b32f4f7adfb6c315)) * `length` location assuming little-endian hardware ([e584f8b](https://github.com/ashvardanian/stringzilla/commit/e584f8bf79e363668afb30724451e099622604bb)) * `misaligned_len` estimate ([90ea05d](https://github.com/ashvardanian/stringzilla/commit/90ea05d217ebb7f7662a5a532c4196a70e8b7404)) * `qsort_r` argument order ([eb7c8f8](https://github.com/ashvardanian/stringzilla/commit/eb7c8f891a84e77294f27781cff360c2fb87b1ec)) * `qsort_s` vs `qsort_r` on MacOS ([7aaf624](https://github.com/ashvardanian/stringzilla/commit/7aaf624343008f2d862dc5f12110a32a1a20f534)) * `static_cast` for Clang builds ([246d79d](https://github.com/ashvardanian/stringzilla/commit/246d79dd0229bd655d4724c366695c93d2c27f40)) * `strzl_sort_config_t` symbol ([0e6cda7](https://github.com/ashvardanian/stringzilla/commit/0e6cda78755b57b23064aa5533a367e7546c8c52)) * `sz_move_serial` in reverse order ([6bbc963](https://github.com/ashvardanian/stringzilla/commit/6bbc9636ff5d10cfbe31509bf211151a3c6fe74b)) * `sz_size_bit_ceil(1)` == 1 ([5f19a16](https://github.com/ashvardanian/stringzilla/commit/5f19a164cd103be5aab436bddebb0183ea15200d)) * `sz_size_bit_ceil` and missing constructors ([174fc15](https://github.com/ashvardanian/stringzilla/commit/174fc150e2cc68925a4720e42e3540457c9ed979)) * `sz_size_t` size in MSVC ([d0ad4aa](https://github.com/ashvardanian/stringzilla/commit/d0ad4aa1deedf963ba836b662a2a18eda40b01f4)) * `sz::string` constructors ([805b99a](https://github.com/ashvardanian/stringzilla/commit/805b99a72c8cde876de60fba38d63ddcf74f0e96)) * 32-bit integer overflow in `sz_rfind_avx512` ([2833707](https://github.com/ashvardanian/stringzilla/commit/283370738d715a6fdd03acdb35eecb454492bf1f)) * Alignment score Py test ([3521a8f](https://github.com/ashvardanian/stringzilla/commit/3521a8f160792bbc7a40a69bdafae8ed9ffb14e8)) * Allow no args to `split` ([dd5dd1c](https://github.com/ashvardanian/stringzilla/commit/dd5dd1c11f61f69031412d86f14967b60baa750f)) * Applying sort order in Python ([73e1fc7](https://github.com/ashvardanian/stringzilla/commit/73e1fc7eaca606badcf8f94dcfe77d8fb1a3c90d)) * assertion logging condition ([1c1f4f7](https://github.com/ashvardanian/stringzilla/commit/1c1f4f75dff2c5c2472c9ca6e03d7d1a266d8c70)) * AVX-512 compilation and naming ([82820d4](https://github.com/ashvardanian/stringzilla/commit/82820d459c28aac5c7433a0f81fd9234ce265122)) * AVX-512 tests and cheaper copy construction ([08810e9](https://github.com/ashvardanian/stringzilla/commit/08810e961e04215dfc95630f977daa7b3260417d)) * AVX2 compilation ([3f32d89](https://github.com/ashvardanian/stringzilla/commit/3f32d890a8e561d864152f6e1a65f1ecafad06a1)) * Benchmarks compilation ([204444f](https://github.com/ashvardanian/stringzilla/commit/204444ff9befb044d74d0d6fc7446e0ec11f282a)) * Boundary condition with misaligned loads ([0d39e81](https://github.com/ashvardanian/stringzilla/commit/0d39e81f9c1f65748250371363bdec0925840636)) * Bounded Levenstein distance ([a875b4a](https://github.com/ashvardanian/stringzilla/commit/a875b4a3c70a1556646a7b167506715bd70eae66)) * Buffer width for NodeJS bindings ([3871bbf](https://github.com/ashvardanian/stringzilla/commit/3871bbf3b0f60b783fa0a7656d3804df849710c0)) * bugs in assignment, initialization, ... (#63) ([b234e7c](https://github.com/ashvardanian/stringzilla/commit/b234e7cf61ae8302e15bb234dc702992de1ced15)), closes [#63](https://github.com/ashvardanian/stringzilla/issues/63) * C++ `rfind` second argument of two ([a243ef1](https://github.com/ashvardanian/stringzilla/commit/a243ef1c9958e0fd2f8f13b822f7dd400b868846)) * Cast to `UInt64` in Swift ([2a78408](https://github.com/ashvardanian/stringzilla/commit/2a78408a99f11fa4b20962323e6994f7b2f5cf68)) * Comparator ([c64dafa](https://github.com/ashvardanian/stringzilla/commit/c64dafa348a58695c10ae314435df76b5bda1650)) * Compilation ([b896f77](https://github.com/ashvardanian/stringzilla/commit/b896f77672c4a6c6c0a666493508f6dbca8771c8)) * Compilation ([71ff4df](https://github.com/ashvardanian/stringzilla/commit/71ff4dfbc0bbace33dfed9234c71ebd1d96b14d4)) * Compilation and warnings ([df47d8a](https://github.com/ashvardanian/stringzilla/commit/df47d8aa57047ebbb657cb3ca5caf831c118ab5c)) * Compilation for older C++ standards ([5629c0b](https://github.com/ashvardanian/stringzilla/commit/5629c0b42a1d32b40bec450751693abd78f265be)) * Compilation on GCC11 ([4da34a8](https://github.com/ashvardanian/stringzilla/commit/4da34a8a132ad7de31cf3fcc696044334cc20da3)) * Compilation on MacOS ([c1d138c](https://github.com/ashvardanian/stringzilla/commit/c1d138ca5f5fb43e3da2953291562b3c44fcbb1d)) * Constructing from string and moves ([9e3aa95](https://github.com/ashvardanian/stringzilla/commit/9e3aa952d8f296b1a3776fd860b6f18749aa45ce)) * Counting substrings with `allowoverlap` ([8f35f54](https://github.com/ashvardanian/stringzilla/commit/8f35f54d8ebc3d552e82a3bad8dbdbb8c1b3903a)) * Cpp20-only constructor ([62e6788](https://github.com/ashvardanian/stringzilla/commit/62e678854acdef2b01efe411765082d7f1e4440a)) * Default argument sign for NW. scores ([3cb1f7a](https://github.com/ashvardanian/stringzilla/commit/3cb1f7a0daf3475ef9507c7d1895d6f7ca83c958)) * Exit search loop in benchmarks ([875200e](https://github.com/ashvardanian/stringzilla/commit/875200edae8279dc668bd21136df580dff271bfd)) * Experimental hashes names ([ff6a660](https://github.com/ashvardanian/stringzilla/commit/ff6a660ceb7bd14e1b0cdc05b20dd3601d4f4b53)) * Global `rsplit` return type ([e00963e](https://github.com/ashvardanian/stringzilla/commit/e00963e38192714253c88b7e2b823da86e216990)) * Identical overlapping semantics to Python ([f1ffe51](https://github.com/ashvardanian/stringzilla/commit/f1ffe518ffa3c67567d27c6d78ae22f7fefd98b3)) * include <stdexcept> for `out_of_range` ([0e5b85b](https://github.com/ashvardanian/stringzilla/commit/0e5b85b671917a8cb84ca29d22fb5a1ccdf9f3f6)) * Invoking the wrong constructor in tests ([8d450f5](https://github.com/ashvardanian/stringzilla/commit/8d450f574330d4753f4d3f2b6304c57a8eb8aa04)) * JS compilation and missing symbols ([582d5ab](https://github.com/ashvardanian/stringzilla/commit/582d5ab41046e02839880d663dca81eeac27e280)) * JS compilation and missing symbols ([61ed1a1](https://github.com/ashvardanian/stringzilla/commit/61ed1a14e3d517f753384add47f25c07ba86a82f)) * leaks and semantics, testing for memory leaks ([e7f0858](https://github.com/ashvardanian/stringzilla/commit/e7f0858e8bf9d716461aaee8751aec257078792e)) * Masking last comparisons in AVX-512 ([d5f6338](https://github.com/ashvardanian/stringzilla/commit/d5f6338539de3c3253bf65f976953b7f89cc7594)) * Matching Python string semantics ([1067090](https://github.com/ashvardanian/stringzilla/commit/10670905d1abd930ab0798045aa8140e95a44aab)) * memory access after `free` ([ec2e9b2](https://github.com/ashvardanian/stringzilla/commit/ec2e9b2f74373c403423b34574d58128d34d1c5b)) * Memory CPython memory allocations ([49030d4](https://github.com/ashvardanian/stringzilla/commit/49030d4af00b7eb48daa07ae8d7e6c3baeefb231)) * Memory leak and extra `strlen` calls ([a013147](https://github.com/ashvardanian/stringzilla/commit/a0131470ef77f40b1820124d7bef59d05624beda)) * Minor merge issues ([cfa540b](https://github.com/ashvardanian/stringzilla/commit/cfa540b638d2ac4ed415d8f7ccd146f3ce8567bf)) * Misaligned count and non C99 features ([1efd896](https://github.com/ashvardanian/stringzilla/commit/1efd8961d4ae1207058acbd407fcfed21bcb9e3b)) * Missing `__builtin_clzll` symbol ([bd4496a](https://github.com/ashvardanian/stringzilla/commit/bd4496a405823b687f43a7b093f180ba2e3cfc14)) * Missing header and test path ([303390e](https://github.com/ashvardanian/stringzilla/commit/303390e4b56f3acadd1d8d797b7b883cf2a2867b)) * Missing initialization for on-stack string ([5d85174](https://github.com/ashvardanian/stringzilla/commit/5d85174e8aef79d8390a137324e1da82c544be02)) * MSVC-compliant initialization ([ef2d66c](https://github.com/ashvardanian/stringzilla/commit/ef2d66c4fcbe5e56e29c5b16f3d2f420542c2185)) * Normalizing offsets in Py ([351567f](https://github.com/ashvardanian/stringzilla/commit/351567f44e0fb59f307710463acac1ed922dcb87)) * NPM build warnings ([da72015](https://github.com/ashvardanian/stringzilla/commit/da72015dbfcae4bae63176e616dda64d1db108c5)) * NPM build warnings ([b2e4b3e](https://github.com/ashvardanian/stringzilla/commit/b2e4b3e0bccbe1a413d6b6c73c8064ae5e3bd69b)) * Overflow bug in Arm NEON ([cdcc3b7](https://github.com/ashvardanian/stringzilla/commit/cdcc3b7e82f6b77cbdc344f12f1ee2c834048435)) * Overflow on consecutive matches ([f4ab1ea](https://github.com/ashvardanian/stringzilla/commit/f4ab1eab2cb8686c8a146414a5c1d6a5d7427100)) * Passing builds with strictest settings ([629a280](https://github.com/ashvardanian/stringzilla/commit/629a280c7ec1df9737ef85ba7a2785f453f00dda)) * Propagating definitions ([847763f](https://github.com/ashvardanian/stringzilla/commit/847763f7b47cb3de35ceac14db91021ecd8cb740)) * Python bindings passing tests ([e995121](https://github.com/ashvardanian/stringzilla/commit/e995121ca5c4d420cea2b8742338a79ef309eac0)) * python slices of splits used incorrect offsets. ([c7e54e4](https://github.com/ashvardanian/stringzilla/commit/c7e54e4bc123938575a105dbf38d427223c6cd03)) * Python sort ([a1d32d8](https://github.com/ashvardanian/stringzilla/commit/a1d32d8cfd7d40e19e2f6a4c8cb7a1b5c0f0750b)) * Python tests passing ([9cd14ab](https://github.com/ashvardanian/stringzilla/commit/9cd14abdeeb0b666618de58340a8e9667f601b1b)) * Random generator type resolution ([16da145](https://github.com/ashvardanian/stringzilla/commit/16da1451823815b3cbe1471ee055609917583e19)) * remove unnecessary include ([1f863e7](https://github.com/ashvardanian/stringzilla/commit/1f863e7b8c6736a4f976e13297aad5d070f4c8b2)) * reporting if step defined ([6af744c](https://github.com/ashvardanian/stringzilla/commit/6af744cbc3edef0a7cd06f95a64e4c01876a2a92)) * Returning `NULL` without setting the error ([cfffaeb](https://github.com/ashvardanian/stringzilla/commit/cfffaeb3734be9c9d914a58f1ed7f8e348f1046d)) * Reverse order ([250a97e](https://github.com/ashvardanian/stringzilla/commit/250a97ea1da53f8d2ca4f03dd28f67575971b01c)) * Sime constructors in C++11 can't be `constexpr` ([9fbbeb8](https://github.com/ashvardanian/stringzilla/commit/9fbbeb8e720cb2d85bdb341bd16a25e49ec0bd18)) * Skipping `misaligned` region twice ([2457915](https://github.com/ashvardanian/stringzilla/commit/2457915d8b2825b1be85b0a7bd5627d3a4f8c638)) * slice function logic ([a48609b](https://github.com/ashvardanian/stringzilla/commit/a48609bb926f3284bfd33fd52976b30561bb26f3)) * Slices ([8449dda](https://github.com/ashvardanian/stringzilla/commit/8449ddaf695d01aa033af6c81c04af80c894c17d)) * Sort in ascending order ([d049043](https://github.com/ashvardanian/stringzilla/commit/d049043ccb230a29f51e219058755a6927aaf3b3)) * Sort test ([7aa2c0b](https://github.com/ashvardanian/stringzilla/commit/7aa2c0b7315ccdfd9cee84be6d331714ba751691)) * speculative_neon_t count ([571e0a5](https://github.com/ashvardanian/stringzilla/commit/571e0a5269f15c339e176d43f1d7c6e439d8ff8c)) * strzl_sort ([612373b](https://github.com/ashvardanian/stringzilla/commit/612373ba85eec048a8b376d9247470574acc616c)) * SWAR search bug ([b62b9c6](https://github.com/ashvardanian/stringzilla/commit/b62b9c666c8970bb4219f1227b225ecb44a0d707)) * Swift build in Xcode ([3321c85](https://github.com/ashvardanian/stringzilla/commit/3321c8530406f816f2ee7f1f5077855f60a663aa)) * Switch to shared mappings to reduce RAM use ([07bc055](https://github.com/ashvardanian/stringzilla/commit/07bc05532f91dbb49c0b3dd350701fa70fe337a9)) * Throughput calculation for rfind ([1c48a42](https://github.com/ashvardanian/stringzilla/commit/1c48a42f44bd01a833712df893d9e5e3d2cb55d6)) * Use different functions depending on arch ([2ad5790](https://github.com/ashvardanian/stringzilla/commit/2ad5790c20cdf83afc7ab766f9267bd3b2c853f7)) * Use different functions depending on arch ([327a149](https://github.com/ashvardanian/stringzilla/commit/327a149037782df6c07d44974b31009dbfa63727)) * Using the right pragma for GCC ivdep ([ca3b62d](https://github.com/ashvardanian/stringzilla/commit/ca3b62defe47994cd2ce574ffd7bc310a02a5ae3)) * wrong intrinsic for non-AVX512 x86 ([550fb38](https://github.com/ashvardanian/stringzilla/commit/550fb38593c637cf6faf2cb743641d91a4394964)) ### Fixes * RNG instantiation UB, reducing avoiding compiler optimization for the callback. ([1ae31a0](https://github.com/ashvardanian/stringzilla/commit/1ae31a0c37447f55b48ed779e530452af4f14813)) ### Format * Compact code style ([4ddee17](https://github.com/ashvardanian/stringzilla/commit/4ddee17153d07e9381619f6a34c05e5e78d0292b)) ### Improve * `_sz_locate_needle_anomalies` for Arm ([a8df0f9](https://github.com/ashvardanian/stringzilla/commit/a8df0f991644d033250184619f8747fe051a437b)) * `_sz_locate_needle_anomalies` for AVX ([e453ab8](https://github.com/ashvardanian/stringzilla/commit/e453ab86745277ad9c8a3decc0065845e5fc3e80)) * `sz::` and `std::string` are mostly compatible ([41570d6](https://github.com/ashvardanian/stringzilla/commit/41570d6e57b9f62c849c452640383eefd6fcb561)) * `vtbl`-based charset search for NEON ([8ed148e](https://github.com/ashvardanian/stringzilla/commit/8ed148e7d126bae25240aa6637b607d66ae4d263)) * Apply Swift API to both strings and buffers ([d52bdb3](https://github.com/ashvardanian/stringzilla/commit/d52bdb389546e8f4ae459196670977013a321420)) * Avoid inner `for`-loop on Arm NEON ([eafe41c](https://github.com/ashvardanian/stringzilla/commit/eafe41cba0b227395f311be676413f39c15efb42)) * avoiding nested loop in AVX2 ([ac7012a](https://github.com/ashvardanian/stringzilla/commit/ac7012a2796e613af75fde91e205ef55fb84944b)) * AVX2 and AVX512 backends ([462a426](https://github.com/ashvardanian/stringzilla/commit/462a4264863fd9e9899276a124c704ede1add4d3)) * BitScan dispatch on Windows ([7e2ca96](https://github.com/ashvardanian/stringzilla/commit/7e2ca96b76db453fca2601a2b72c2d57153e18b1)) * Broader benchmarks ([4014af9](https://github.com/ashvardanian/stringzilla/commit/4014af9f74f0f7e1a0ca6daec7638fd93e7b742d)) * Bypass GIL on long tasks ([59f41f9](https://github.com/ashvardanian/stringzilla/commit/59f41f9a25f2ec364974cef2f72e9273787f3d61)) * C++ tests structure ([f6bec48](https://github.com/ashvardanian/stringzilla/commit/f6bec488380f489fd99872f817f6d39d9504bd94)) * Compatibility with STL strings ([deafa73](https://github.com/ashvardanian/stringzilla/commit/deafa732080d965ba1774ed3747c1693fdf79f06)) * Deduplicate charset-matching on NEON ([7c4e169](https://github.com/ashvardanian/stringzilla/commit/7c4e16928f722e8110804816b55a879fcc31c277)) * drop `ctype`, `stddef`, `stdint` headers ([245da6d](https://github.com/ashvardanian/stringzilla/commit/245da6df67df2a51cca453ff8fd5dd48f20f5994)) * Drop useless AVX-512 parts ([7c104ec](https://github.com/ashvardanian/stringzilla/commit/7c104ec02a943cd0029bc6aac04960e1975f69f4)) * Extend benchmarks ([3838a85](https://github.com/ashvardanian/stringzilla/commit/3838a857d5d8c2eeebc09d787672d57ddbc02662)) * Faster `Str` constructor ([4796afb](https://github.com/ashvardanian/stringzilla/commit/4796afb21b7dfdc3efa4b3f4adfc60bb69013dd4)) * Faster Horspool initialization ([156b814](https://github.com/ashvardanian/stringzilla/commit/156b814848fa5ead86d11889c6bc2e3c15870bdf)) * Identical bit-counting intrinsics ([c934fb5](https://github.com/ashvardanian/stringzilla/commit/c934fb5af3c260aef4c530cb62e7f47a2bb02e35)) * Intro-sort ([644630b](https://github.com/ashvardanian/stringzilla/commit/644630b852ad43be6ba092c3091b458446688c4c)) * Less overhead per benchmark cycle ([6f1bde6](https://github.com/ashvardanian/stringzilla/commit/6f1bde6273ee821d5eea457ece517908385f7a01)) * Loading large files into memory ([c041962](https://github.com/ashvardanian/stringzilla/commit/c041962df9cd9994a0217c9d1d69b40da82db3d8)) * Mimic hyper-scalar code ([21f143c](https://github.com/ashvardanian/stringzilla/commit/21f143c5cf5e337245bee2bb72a1104983570858)) * Missing CPUID checks ([139e4fd](https://github.com/ashvardanian/stringzilla/commit/139e4fd52c115224606b05e62ec675eb56cded61)) * move `skip_length` into the matcher ([8905a56](https://github.com/ashvardanian/stringzilla/commit/8905a5671035a22bfc8f11856de7840c2359afd0)) * NW AVX-512 alignment ([e49cacb](https://github.com/ashvardanian/stringzilla/commit/e49cacbdb4762d06b636d836bc12d825b17b3c13)) * parity between `std` and `sz` string views ([487edd3](https://github.com/ashvardanian/stringzilla/commit/487edd32a8e99dcc6bb077ba8dfc944ab92f189d)) * Passing basic tests ([ee0ab2d](https://github.com/ashvardanian/stringzilla/commit/ee0ab2d138a4c127f7af6a9d2716dc04040791ea)) * Poison ranges with ASAN ([4703fad](https://github.com/ashvardanian/stringzilla/commit/4703fad44d7f2bfcebec8603c6ccf1763ff0317e)) * Polish xxHash ([ca085df](https://github.com/ashvardanian/stringzilla/commit/ca085df4436a87ae3dfc5fd8ba0a7d0a8116a04e)) * Preserving failed tests to disks ([9cd5c21](https://github.com/ashvardanian/stringzilla/commit/9cd5c218a64c052fbd8ccef6306f5c1be1d5a54b)) * Raita-style midpoint check in AVX-512 ([df683d9](https://github.com/ashvardanian/stringzilla/commit/df683d905e3adcc8f16b8e358235f57ec8f78d14)) * random generation and token-level benchmarks ([be54519](https://github.com/ashvardanian/stringzilla/commit/be545196bcac13e7c1fd353b1fa85b3d0d52306b)) * Rearrange tests and benchmarks ([8564852](https://github.com/ashvardanian/stringzilla/commit/856485223075872743cbf6d521c6a09bb0dbe601)) * Reduce `vmaxvq_u8` usage ([982ca69](https://github.com/ashvardanian/stringzilla/commit/982ca6929f0ebce52e0749bb869a1f7d451aec14)) * Reduce `vmaxvq_u8` usage ([53cb5ce](https://github.com/ashvardanian/stringzilla/commit/53cb5ce8b65f7e28e73643ee84e39f8150ee7d0d)) * Reduce number of loads/stores in scoring ([0c860c8](https://github.com/ashvardanian/stringzilla/commit/0c860c834f5d0c528ecdc95f58b72402e2b7d765)) * Reducing swaps in Radix sort ([3eac160](https://github.com/ashvardanian/stringzilla/commit/3eac1601a1d8cb88db9f6e7863c90f53bdf98ca1)), closes [#45](https://github.com/ashvardanian/stringzilla/issues/45) * Refactoring AVX-512 control-flow for simplicity ([b42394c](https://github.com/ashvardanian/stringzilla/commit/b42394cce6e26b461134898442653bd15b94c71f)) * Remove deprecated code ([e3adaa4](https://github.com/ashvardanian/stringzilla/commit/e3adaa44f98df0127072f00724ae07500a1b46fb)) * Reorganizing for readability ([9dd1f8c](https://github.com/ashvardanian/stringzilla/commit/9dd1f8cdf3ef5c79caf4a0ff3309a9b53e2091ed)) * Reuse the C shared lib for Swift ([bd1686d](https://github.com/ashvardanian/stringzilla/commit/bd1686da68e0550567663d9b2e7db01bbb339ce4)) * Rust Bindings (#74) ([8200ca3](https://github.com/ashvardanian/stringzilla/commit/8200ca3894f575d772754c261b769d5852295877)), closes [#74](https://github.com/ashvardanian/stringzilla/issues/74) * Same functions as global and members ([4a22ea8](https://github.com/ashvardanian/stringzilla/commit/4a22ea8984173a3f71704e47a8b8dd31213f3808)) * serial move implementation ([9173ca0](https://github.com/ashvardanian/stringzilla/commit/9173ca0f55c61cb1221bc783138185f4a62c443d)) * shorter tests with `std::string_view` ([d9977b0](https://github.com/ashvardanian/stringzilla/commit/d9977b0d07d4a3a776fb39011a31e0f71976a005)) * Silence type-casting warnings ([dbe4db3](https://github.com/ashvardanian/stringzilla/commit/dbe4db30845df932e34b5518133916bd094a14b3)) * Similarity search benchmarks ([d2e8da2](https://github.com/ashvardanian/stringzilla/commit/d2e8da242b43846a34bf4ebd7518ded0a6c10549)) * SWAR search for normal order search ([6669b1e](https://github.com/ashvardanian/stringzilla/commit/6669b1e3f38b921aedaa4af01571fbddabb2fbc9)) * Test coverage ([c967582](https://github.com/ashvardanian/stringzilla/commit/c9675825d71592dec075f40633967bd833f99c72)) * Test reproducibility of the `shuffle` ([ce888cc](https://github.com/ashvardanian/stringzilla/commit/ce888ccaadd89b247d3f549d8590837c0b1fe52d)) * Testing suite ([50a2a2f](https://github.com/ashvardanian/stringzilla/commit/50a2a2fc159f36972423590cf4ba5865dc0a3775)) * Tests against Raita ([6a5b18b](https://github.com/ashvardanian/stringzilla/commit/6a5b18b7de77a518cba80d70a3c90e78e81a32c4)) * Use less temp. variables to count matches ([3245330](https://github.com/ashvardanian/stringzilla/commit/32453305cb9d7b84090a8a17979aafd8d82f9c08)) * Using Clang `modulemap`-s ([05d21c5](https://github.com/ashvardanian/stringzilla/commit/05d21c52661138201d7e3b519b75c7c0f9d16aa5)) * Vectorized function calls ([6cd5a69](https://github.com/ashvardanian/stringzilla/commit/6cd5a69096982d2b2c7761063f6e265260f5fac5)) * Window width as runtime argument ([3bd29ae](https://github.com/ashvardanian/stringzilla/commit/3bd29ae5dee4586ed174be8f4f4fda19a2e057d0)) ### Make * `AlwaysBreakBeforeMultilineStrings` ([1dabc3b](https://github.com/ashvardanian/stringzilla/commit/1dabc3ba77e62a1732b6d83d2aa286273118218c)) * `numpy` dependency ([2d825ba](https://github.com/ashvardanian/stringzilla/commit/2d825ba2cfca86ef3c906cfa25a612ba820d0068)) * Add GitHub CI ([ba333db](https://github.com/ashvardanian/stringzilla/commit/ba333dbcf5d432fa27e2c1f4f917eb28dd68977a)) * Add NumPy dependency ([2e928ba](https://github.com/ashvardanian/stringzilla/commit/2e928bab7421ded7b5f4bec7fbcb6679bdde7b6d)) * Adding `.npmignore` ([cf93dfd](https://github.com/ashvardanian/stringzilla/commit/cf93dfd60e0cdc69a93bff848794cb62bc53d184)) * Automate major releases ([987475e](https://github.com/ashvardanian/stringzilla/commit/987475e20edbcaa8c78afaac413a5d62ce453215)) * Build with different compilers at once ([0580219](https://github.com/ashvardanian/stringzilla/commit/05802192a563bcf752be13830de76ce3b2a6f049)) * Bump VERSION ([f221874](https://github.com/ashvardanian/stringzilla/commit/f2218744a370549fe14eaa888c2124db22359f96)) * Bump VERSION ([bebda9f](https://github.com/ashvardanian/stringzilla/commit/bebda9ff05848495d2ab3dad9de3a2d20ac1febd)) * C++17 default, build 11/14/17/20 ([156afae](https://github.com/ashvardanian/stringzilla/commit/156afae9a5a3f7a7302414782cd3493609989e12)) * Change CXX standard ([4f4e69b](https://github.com/ashvardanian/stringzilla/commit/4f4e69b5ed163c44de177c66030cf7f64e12475e)) * CI for Clang and MacOS ([3162760](https://github.com/ashvardanian/stringzilla/commit/31627607d3c39f745fa11d65eb57e0a50f2efbb5)) * Cleaning build caches on Windows ([01d209f](https://github.com/ashvardanian/stringzilla/commit/01d209f6f2ce87f429c22a7c8f2ccde86ebd199c)) * Colorful diagnostics ([0b8d9cd](https://github.com/ashvardanian/stringzilla/commit/0b8d9cdd6d424fa540c04ecb8441a856a1065363)) * Compile for different x86 generations ([ae7b119](https://github.com/ashvardanian/stringzilla/commit/ae7b11934c298e80072edb2b21f9001ceed1c0dc)) * Consistent compilation settings ([6f930ea](https://github.com/ashvardanian/stringzilla/commit/6f930ea703edddef9308e713a70b213631e91496)) * Deduplicate `.clang-format` settings ([3db6845](https://github.com/ashvardanian/stringzilla/commit/3db684571ffa93f8420d5bc62b7285bf10aa07f4)) * Define default build type ([4ce3d64](https://github.com/ashvardanian/stringzilla/commit/4ce3d641943c571a6434687ec46261eb33eaef0e)) * Dependencies for testing ([253a26d](https://github.com/ashvardanian/stringzilla/commit/253a26de2c1c70d69196833b62893eb58d5a8230)) * Deprecate old benchmarks ([b5b1f83](https://github.com/ashvardanian/stringzilla/commit/b5b1f833fd2dfe6e60db01217dcb025df9fdc98e)) * Don't build the library every time ([daaa93b](https://github.com/ashvardanian/stringzilla/commit/daaa93b8a1591f9fca2d3589383be24729c5f7eb)) * Enable DQ extensions for `sz_hashes_avx512` ([26e54c9](https://github.com/ashvardanian/stringzilla/commit/26e54c9cdd604c3fe8cd136e581163e034f8e182)) * Explicitly mark AVX sections ([53a4ef1](https://github.com/ashvardanian/stringzilla/commit/53a4ef1b69a65d36f0f82aef70fa84965938f279)) * Explicitly UTF-8 encoding on Windows ([6c323ea](https://github.com/ashvardanian/stringzilla/commit/6c323ea19ab813d93124ce1d0bfed0832693f7ff)) * Exporting lite builds without LibC ([a5ece39](https://github.com/ashvardanian/stringzilla/commit/a5ece39df940137a402ad282d631b0716d5d8876)) * Exporting lite builds without LibC ([dfba995](https://github.com/ashvardanian/stringzilla/commit/dfba99533f4ef7c9d4277352e82460d2dc546f1a)) * Fetch before rebase ([fda58df](https://github.com/ashvardanian/stringzilla/commit/fda58dfe268bec7f4279c9d607551cde1eb39a5c)) * Fix include paths ([d3c9025](https://github.com/ashvardanian/stringzilla/commit/d3c90255efc4948c17bcf7f84bd54b9fae77004f)) * Fix Windows PyPi releases ([0efaad1](https://github.com/ashvardanian/stringzilla/commit/0efaad194b1228dbc68eebc5eb2393ef701d1365)) * Formatting and docs ([416b885](https://github.com/ashvardanian/stringzilla/commit/416b885429d2eb97e6c677eaac0eba6de5ff9fc4)) * GitHub CI for tests with recent GCC ([48869d3](https://github.com/ashvardanian/stringzilla/commit/48869d3f62dc226a20aa690cbe7eae4787a8a9ae)) * Linking the standard libs in Swift ([6a25a8e](https://github.com/ashvardanian/stringzilla/commit/6a25a8e3c5a10716b7c0cb51a3f2a0bd5c03c5ee)) * Log ENV details if build fails ([8527f38](https://github.com/ashvardanian/stringzilla/commit/8527f386770eb8ee635395338adc6ecc47b35e51)) * Match directory structure of SimSIMD ([afac999](https://github.com/ashvardanian/stringzilla/commit/afac999380220b6d6c9ec0f191f339f29ed30cf0)) * Match directory structure of SimSIMD ([679f9e7](https://github.com/ashvardanian/stringzilla/commit/679f9e758ba181765a5473f7d5264d2c1372ec81)) * Matching only `version` at line start ([bb56b00](https://github.com/ashvardanian/stringzilla/commit/bb56b0079aceb491ee3a39330401b24519434a06)) * Move Python bindings ([e9ac4cb](https://github.com/ashvardanian/stringzilla/commit/e9ac4cb2e516c0b48f1f0e5f43c207b1359913b6)) * MSVC compatibility ([f776087](https://github.com/ashvardanian/stringzilla/commit/f776087ce005b4ecc2f21a5be4c9ce99976af77c)) * NumPy test dependencies ([53481a9](https://github.com/ashvardanian/stringzilla/commit/53481a9fa4b98b7ac7ac61dda5e2bfc719804f2e)) * Optimize `RelWithDebInfo` builds ([0ec4b0d](https://github.com/ashvardanian/stringzilla/commit/0ec4b0d8dce059528d4e4b5a47c7a0fdd1e81e72)) * Pass compilation flags depending on which architecture and compiler ([23846ef](https://github.com/ashvardanian/stringzilla/commit/23846ef733f6463fbb94a4d11296014e2e870662)) * passing empty C++ standard version ([6abf8b6](https://github.com/ashvardanian/stringzilla/commit/6abf8b61bf351aacde639b0a56ba68b9101bbd23)) * Position Independent Code ([2638c66](https://github.com/ashvardanian/stringzilla/commit/2638c66ae92cdd3076720b47be4b73930d7a54e5)) * PR head autoresolution ([b483e59](https://github.com/ashvardanian/stringzilla/commit/b483e595796cd61ff61d1726320f0c7abcc14d7a)) * Pre-set target hardware generation ([a9fe148](https://github.com/ashvardanian/stringzilla/commit/a9fe14806337d90b5e6c23a1183bd58a8f2d6f94)) * Publish Rust crates ([b954a55](https://github.com/ashvardanian/stringzilla/commit/b954a556b1d188003a63b70b5e6594a47e6d33ac)) * Publish StringZilla to NPM ([ff2e85b](https://github.com/ashvardanian/stringzilla/commit/ff2e85b94bc0943910254ba8a676fee22a563315)) * Remove `fuzz.py` ([50ab905](https://github.com/ashvardanian/stringzilla/commit/50ab905ae95ecdaeaeeea818879f72d1980d1a41)) * Remove PyBind11 dependency ([971890c](https://github.com/ashvardanian/stringzilla/commit/971890cd8c53f04ae56f823f8784bba04928a77e)) * sanitizers and silencing false warnings ([6f7d5c1](https://github.com/ashvardanian/stringzilla/commit/6f7d5c1e415055d1069472d262fc0f63e60427ff)) * Semantic Versioning ([4a21db7](https://github.com/ashvardanian/stringzilla/commit/4a21db78774fd391d798822b0162bb5583305dba)) * Separate source files ([9e75d04](https://github.com/ashvardanian/stringzilla/commit/9e75d04a585a56213adaf361d8296d4b6bbee5f7)) * Shift JavaScript CI ([534291f](https://github.com/ashvardanian/stringzilla/commit/534291f13021f6ebcbcca11ab6d2b820aa78dbe1)) * Swift CI and MacOS PyPa image ([9184a42](https://github.com/ashvardanian/stringzilla/commit/9184a42f01be208aca733d30f1bec02eacd432a9)) * Switch to pure C ([e8f7249](https://github.com/ashvardanian/stringzilla/commit/e8f724941136453586a88e862c3f0ab135b34f0f)) * Test cpp ([b4a89c5](https://github.com/ashvardanian/stringzilla/commit/b4a89c534776f86acb8b63c5b4c7c68ea487fc00)) * Update release tasks ([bc938c1](https://github.com/ashvardanian/stringzilla/commit/bc938c158b1bdce175bb28c08f36842018100675)) * Upload versioned files ([5e254b0](https://github.com/ashvardanian/stringzilla/commit/5e254b036fdceda7d777e627be5cdc03a8f4172c)) * Use Clang attribute pragmas ([33ba031](https://github.com/ashvardanian/stringzilla/commit/33ba031e7b470fdfba46826f919f2188cd3f536c)) * use newest SIMD for Python builds ([62c0012](https://github.com/ashvardanian/stringzilla/commit/62c0012e7e1e96ff773d0072592bd520a6fc61f8)) * VSCode launchers for any C++ benchmark ([6f0d799](https://github.com/ashvardanian/stringzilla/commit/6f0d79975ef0b46803cb4c7fc17392f943ca2361)) * Workaround for Swift CI ([bc1869a](https://github.com/ashvardanian/stringzilla/commit/bc1869a85293ff5aa6e5075475263002c43648eb)), closes [/github.com/swift-actions/setup-swift/issues/591#issuecomment-1685710678](https://github.com//github.com/swift-actions/setup-swift/issues/591/issues/issuecomment-1685710678) ### Refacot * Styling ([e4177b2](https://github.com/ashvardanian/stringzilla/commit/e4177b291db6fbbe7c69cec40e3d7b092ed7488a)) ### Refactor * `on_stack`/`on_heap` to `internal`/`external` ([69e8b70](https://github.com/ashvardanian/stringzilla/commit/69e8b70273a022f4249b45c5d526823f9944bdd4)) * `start` and `length` common member names ([cff3a38](https://github.com/ashvardanian/stringzilla/commit/cff3a38fd6f2b5e06e71567c2ccd30bcfccb00cc)) * args checking ([9395a6b](https://github.com/ashvardanian/stringzilla/commit/9395a6b390e43fa567c29ceb442d972df8f70dc3)) * C++17 -> C99 ([e4429ef](https://github.com/ashvardanian/stringzilla/commit/e4429ef976ab176e8700dddc8eb155680fcef547)) * comparsion operators ([5883633](https://github.com/ashvardanian/stringzilla/commit/5883633bdc6fa4a2bf18cfb97b76a4e1fd7fc537)) * Deprecating C++ version in favor of C99 ([042e59e](https://github.com/ashvardanian/stringzilla/commit/042e59e32d89313ffa56b74ea6984fd74e82dd86)) * Directory structure ([c36bd68](https://github.com/ashvardanian/stringzilla/commit/c36bd685a1b3dac3dc188f2e500fc39999e3a95f)) * Drop slow sorts ([15f1b30](https://github.com/ashvardanian/stringzilla/commit/15f1b30b28f44f4bd1ee6bb3b666db978366d67e)) * Larger arrays for modern CPUs ([96e7234](https://github.com/ashvardanian/stringzilla/commit/96e7234ae990d4d664e47adb4cecfa8340766b23)) * Layout and spelling ([08cc0c7](https://github.com/ashvardanian/stringzilla/commit/08cc0c79de61348650e81eb597d0d1a8d0a833e1)) * Moving constants to the top ([b3c2da2](https://github.com/ashvardanian/stringzilla/commit/b3c2da2ad53bf4426d9c522e20008b7473a6affa)) * New C API for JS ([05a409c](https://github.com/ashvardanian/stringzilla/commit/05a409ce7ab1f76582c7936d2a4d2d6c99e7b3ed)) * no need to cast to string ([ec1744a](https://github.com/ashvardanian/stringzilla/commit/ec1744a7ffaf00d67cb224409aa802c9160fce88)) * Ops order and style ([3a18292](https://github.com/ashvardanian/stringzilla/commit/3a182922c6aec90a3b836bca96471c8810642e7d)) * Regrouping folders ([d9fb16d](https://github.com/ashvardanian/stringzilla/commit/d9fb16d7bab046abbe7a990b52172f98f99b4b17)) * rename `Slices` to `Strs` ([ed8f360](https://github.com/ashvardanian/stringzilla/commit/ed8f3608735c00636aa58c4b811de30b08b5c423)) * Rename bindings file ([f54b791](https://github.com/ashvardanian/stringzilla/commit/f54b791d7f6899023c5b05338287470459dcfee5)) * Restarting CPython bindings ([9fef6d8](https://github.com/ashvardanian/stringzilla/commit/9fef6d8cb32ae4966f46944add18f0017c5288a6)) * Swift bindings ([1c4ffda](https://github.com/ashvardanian/stringzilla/commit/1c4ffda9dbf923ff4a888d8637f603ed171b2894)) * Sync up Py and JS bindings ([cffae4a](https://github.com/ashvardanian/stringzilla/commit/cffae4a684437eafe3ed75299d2fb8c82baa1019)) * Tests, docs ([50adb32](https://github.com/ashvardanian/stringzilla/commit/50adb32ef6b4127ac49db418ae15051267aea405)) * Using `strzl_array_t` structure ([a1249a7](https://github.com/ashvardanian/stringzilla/commit/a1249a710a107e4040dc826e40f70a03b3b29952)) ### Test * Printing failed cases ([10068f6](https://github.com/ashvardanian/stringzilla/commit/10068f617b26bc47e88600ac33573a5d417aa695))
- Loading branch information