aboutsummaryrefslogtreecommitdiff
path: root/core/bytes/bytes.odin
Commit message (Collapse)AuthorAgeFilesLines
* wasm: support more vendor librariesLaytan Laats2024-09-091-2/+2
| | | | | | | | Adds support for: - box2d - cgltf - stb image - stb rect pack
* bytes: fix last_index_byte off-by-onelaytan2024-09-051-5/+3
|
* fix simd var typoRory OConnell2024-08-191-1/+1
|
* core/bytes: Tweak `index_byte` and `last_index_byte`Yawning Angel2024-08-191-89/+223
| | | | | | | - Assume unaligned loads are cheap - Explicilty use 256-bit or 128-bit SIMD to avoid AVX512 - Limit "vectorized" scanning to 128-bits if SIMD is emulated via SWAR - Add a few more benchmark cases
* Minor style changegingerBill2024-08-131-6/+6
|
* Set `SIMD_SCAN_WIDTH` based on `size_of(uintptr)`Feoramund2024-08-101-8/+24
|
* Merge `core:simd/util` into `core:bytes`Feoramund2024-08-101-21/+130
|
* Use `for x in y` construct for `bytes` iterationFeoramund2024-08-091-4/+4
| | | | | This cannot be applied to the `strings` version, as that would cause a rune-by-rune iteration, not a byte-by-byte one.
* Make `simd_util` index procs `contextless` where applicableFeoramund2024-08-091-2/+2
|
* Simplify and make `simd_util` cross-platformFeoramund2024-08-091-14/+4
| | | | | | | | This new algorithm uses a Scalar->Vector->Scalar iteration loop which requires no masking off of any incomplete data chunks. Also, the width was reduced to 32 bytes instead of 64, as I found this to be about as fast as the previous 64-byte x86 version.
* Use vectorized `index_*` procs in `core`Feoramund2024-08-061-8/+39
|
* core/bytes: Add `alias` and `alias_inexactly`Yawning Angel2024-07-161-0/+25
|
* Fix typo in bytes.scrubFourteenBrush2024-01-171-1/+1
|
* Use `uint` instead of `int` to improve code generation for bounds checkinggingerBill2022-09-271-1/+1
|
* Convert all uses of `*_from_slice` to `*_from_bytes` where appropriategingerBill2022-05-161-1/+2
|
* Add _safe versionsgingerBill2022-05-121-0/+43
|
* Correct bytes._split_iteratorgingerBill2022-02-141-5/+5
|
* Correct _split_iteratorgingerBill2022-02-141-32/+8
|
* Remove the hidden NUL byte past the end from `bytes.clone`gingerBill2022-01-011-2/+1
|
* Fix `fields_proc` in `strings` and `bytes`gingerBill2021-12-111-1/+1
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-311-419/+419
|
* Core library clean up: Make range expressions more consistent and replace ↵gingerBill2021-06-141-1/+1
| | | | uses of `..` with `..=`
* Add `bytes.remove`, `bytes.remove_all`, `strings.remove`, `strings.remove_all`gingerBill2021-05-231-0/+8
|
* Add truncate_to_byte and truncate_to_rune for packages strings and bytesgingerBill2021-04-221-0/+15
|
* `split*_iterator` procedures for package bytes and stringsgingerBill2021-03-181-0/+110
|
* Replace usage of `inline proc` with `#force_inline proc` in the core librarygingerBill2021-02-231-4/+4
|
* Make bytes.odin consistent with strings.odin in functionalitygingerBill2020-12-171-54/+39
|
* Rename bytes/strings.odin to bytes/bytes.odingingerBill2020-12-171-0/+1032