| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Update the comment on core:bytes.compare() to match the proc signature | Shane Shrybman | 24 hours | 1 | -2/+2 |
| | | |||||
| * | Fix #6267 | Jeroen van Rijn | 2 days | 1 | -4/+6 |
| | | |||||
| * | remove core:mem dependency from core:bytes | jakubtomsu | 5 days | 1 | -6/+12 |
| | | |||||
| * | `Empty` -> `Unsupported`bill/io-error-changes | gingerBill | 2025-11-14 | 2 | -2/+2 |
| | | |||||
| * | Further overhaul of package line comments. | Jeroen van Rijn | 2025-10-09 | 1 | -1/+1 |
| | | |||||
| * | More package lines | Jeroen van Rijn | 2025-10-09 | 1 | -1/+1 |
| | | |||||
| * | Add more doc lines | gingerBill | 2025-10-09 | 1 | -0/+1 |
| | | |||||
| * | Add some more docs | gingerBill | 2025-10-07 | 1 | -2/+7 |
| | | |||||
| * | Rename `SIMD_IS_EMULATED` to capability-affirmative `HAS_HARDWARE_SIMD` | Feoramund | 2025-05-29 | 1 | -2/+2 |
| | | |||||
| * | wasm: support more vendor libraries | Laytan Laats | 2024-09-09 | 1 | -2/+2 |
| | | | | | | | | | Adds support for: - box2d - cgltf - stb image - stb rect pack | ||||
| * | bytes: fix last_index_byte off-by-one | laytan | 2024-09-05 | 1 | -5/+3 |
| | | |||||
| * | Return `0, nil` in all `io` cases where an empty slice is provided | Feoramund | 2024-08-28 | 2 | -0/+12 |
| | | |||||
| * | Check `int(abs)` instead to avoid overflows | Feoramund | 2024-08-28 | 1 | -2/+3 |
| | | |||||
| * | Measure `bytes.Buffer` size by `length` instead of `capacity` | Feoramund | 2024-08-28 | 1 | -1/+1 |
| | | |||||
| * | Add `Seek` behavior to `bytes.Buffer` | Feoramund | 2024-08-28 | 1 | -1/+24 |
| | | |||||
| * | Don't invalidate `prev_rune` if `Reader` seek failed | Feoramund | 2024-08-28 | 1 | -1/+1 |
| | | |||||
| * | Return `.EOF` in `bytes.buffer_read_at` instead | Feoramund | 2024-08-28 | 1 | -1/+1 |
| | | | | | This is consistent with the other stream `read` procs | ||||
| * | Make `bytes.reader_init` return an `io.Stream` | Feoramund | 2024-08-28 | 1 | -1/+2 |
| | | | | | Makes the API like the other stream `init` procs. | ||||
| * | Add missing `io.Stream_Mode` responses | Feoramund | 2024-08-28 | 1 | -1/+1 |
| | | |||||
| * | fix simd var typo | Rory OConnell | 2024-08-19 | 1 | -1/+1 |
| | | |||||
| * | core/bytes: Tweak `index_byte` and `last_index_byte` | Yawning Angel | 2024-08-19 | 1 | -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 change | gingerBill | 2024-08-13 | 1 | -6/+6 |
| | | |||||
| * | Set `SIMD_SCAN_WIDTH` based on `size_of(uintptr)` | Feoramund | 2024-08-10 | 1 | -8/+24 |
| | | |||||
| * | Merge `core:simd/util` into `core:bytes` | Feoramund | 2024-08-10 | 1 | -21/+130 |
| | | |||||
| * | Use `for x in y` construct for `bytes` iteration | Feoramund | 2024-08-09 | 1 | -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 applicable | Feoramund | 2024-08-09 | 1 | -2/+2 |
| | | |||||
| * | Simplify and make `simd_util` cross-platform | Feoramund | 2024-08-09 | 1 | -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` | Feoramund | 2024-08-06 | 1 | -8/+39 |
| | | |||||
| * | core/bytes: Add `alias` and `alias_inexactly` | Yawning Angel | 2024-07-16 | 1 | -0/+25 |
| | | |||||
| * | Update `tests\core\encoding\cbor` to use new test runner. | Jeroen van Rijn | 2024-06-02 | 1 | -35/+35 |
| | | | | | | | It was leaky and required a substantial number of `loc := #caller_location` additions to parts of the core library to make it easier to track down how and where it leaked. The tests now run fine multi-threaded. | ||||
| * | improve some Negative_Read/Negative_Write logic | Laytan Laats | 2024-04-25 | 1 | -1/+1 |
| | | | | | | | | | Returns the actual error if one is set, instead of swallowing it for the less descriptive negative error. Also fixes a out-of-bounds slice error in `bufio.writer_write` because it wasn't checking the returned `m`. | ||||
| * | Fix typo in bytes.scrub | FourteenBrush | 2024-01-17 | 1 | -1/+1 |
| | | |||||
| * | _buffer_grow: Preserve allocator if already set via init_buffer_allocator | Jeroen van Rijn | 2023-08-18 | 1 | -1/+4 |
| | | | | | Fixes #2756 | ||||
| * | Update to new io interface | gingerBill | 2023-06-08 | 2 | -99/+42 |
| | | |||||
| * | fix bytes.buffer_init_allocator not using given allocator if len/cap is 0 | Laytan Laats | 2023-05-09 | 1 | -0/+5 |
| | | |||||
| * | Use `uint` instead of `int` to improve code generation for bounds checking | gingerBill | 2022-09-27 | 2 | -6/+3 |
| | | |||||
| * | Clean up of the core library to make the stream vtables not be pointers ↵ | gingerBill | 2022-09-15 | 2 | -4/+4 |
| | | | | | directly. | ||||
| * | Add `buffer_read_ptr` and `buffer_write_ptr` | gingerBill | 2022-07-14 | 1 | -0/+8 |
| | | |||||
| * | Convert all uses of `*_from_slice` to `*_from_bytes` where appropriate | gingerBill | 2022-05-16 | 1 | -1/+2 |
| | | |||||
| * | Add _safe versions | gingerBill | 2022-05-12 | 1 | -0/+43 |
| | | |||||
| * | Correct bytes._split_iterator | gingerBill | 2022-02-14 | 1 | -5/+5 |
| | | |||||
| * | Correct _split_iterator | gingerBill | 2022-02-14 | 1 | -32/+8 |
| | | |||||
| * | Remove the hidden NUL byte past the end from `bytes.clone` | gingerBill | 2022-01-01 | 1 | -2/+1 |
| | | |||||
| * | Fix `fields_proc` in `strings` and `bytes` | gingerBill | 2021-12-11 | 1 | -1/+1 |
| | | |||||
| * | Remove unneeded semicolons from the core library | gingerBill | 2021-08-31 | 3 | -685/+685 |
| | | |||||
| * | Move `bytes` utils back to EXR code for the time being. | Jeroen van Rijn | 2021-06-22 | 1 | -187/+0 |
| | | | | | Also, allow PNG example to be run directly from `core:image/png` directory. | ||||
| * | ZLIB: Start optimization. | Jeroen van Rijn | 2021-06-21 | 1 | -4/+10 |
| | | |||||
| * | Fix comment. | Jeroen van Rijn | 2021-06-18 | 1 | -2/+2 |
| | | |||||
| * | Add `bytes.buffer_create_of_type` and `bytes.buffer_convert_to_type`. | Jeroen van Rijn | 2021-06-18 | 1 | -0/+181 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convenience functions to reinterpret or cast one buffer to another type, or create a buffer of a specific type. Example: ```odin fmt.println("Convert []f16le (x2) to []f32 (x2)."); b := []u8{0, 60, 0, 60}; // == []f16{1.0, 1.0} res, backing, had_to_allocate, err := bytes.buffer_convert_to_type(2, f32, f16le, b); fmt.printf("res : %v\n", res); // [1.000, 1.000] fmt.printf("backing : %v\n", backing); // &Buffer{buf = [0, 0, 128, 63, 0, 0, 128, 63], off = 0, last_read = Invalid} fmt.printf("allocated: %v\n", had_to_allocate); // true fmt.printf("err : %v\n", err); // false if had_to_allocate { defer bytes.buffer_destroy(backing); } fmt.println("\nConvert []f16le (x2) to []u16 (x2)."); res2: []u16; res2, backing, had_to_allocate, err = bytes.buffer_convert_to_type(2, u16, f16le, b); fmt.printf("res : %v\n", res2); // [15360, 15360] fmt.printf("backing : %v\n", backing); // Buffer.buf points to `b` because it could be converted in-place. fmt.printf("allocated: %v\n", had_to_allocate); // false fmt.printf("err : %v\n", err); // false if had_to_allocate { defer bytes.buffer_destroy(backing); } fmt.println("\nConvert []f16le (x2) to []u16 (x2), force_convert=true."); res2, backing, had_to_allocate, err = bytes.buffer_convert_to_type(2, u16, f16le, b, true); fmt.printf("res : %v\n", res2); // [1, 1] fmt.printf("backing : %v\n", backing); // Buffer.buf points to `b` because it could be converted in-place. fmt.printf("allocated: %v\n", had_to_allocate); // false fmt.printf("err : %v\n", err); // false if had_to_allocate { defer bytes.buffer_destroy(backing); } ``` | ||||
| * | Core library clean up: Make range expressions more consistent and replace ↵ | gingerBill | 2021-06-14 | 1 | -1/+1 |
| | | | | | uses of `..` with `..=` | ||||