Commit Graph

4323 Commits

Author SHA1 Message Date
gingerBill
0a5c85f8e3 Merge pull request #3207 from Tetralux/printfln
Add `fmt.*printfln`
2024-02-29 14:04:38 +00:00
gingerBill
9c20df5b1b Merge pull request #3201 from Yawning/feature/avl
core/container/avl: Add an AVL tree implementation
2024-02-29 14:02:45 +00:00
gingerBill
7df7fec6f7 Keep -vet happy 2024-02-28 18:27:49 +00:00
gingerBill
dce176fa39 Remove unnecessary use of transmute 2024-02-28 18:24:59 +00:00
Yawning Angel
874d6ccb60 core/container/avl: Initial import 2024-02-24 14:05:15 +09:00
gingerBill
5c5b78cbbe Improve bit_field printing 2024-02-22 19:48:44 +00:00
gingerBill
54515af8cc Add field tags to bit_field 2024-02-22 19:41:48 +00:00
gingerBill
afcc2889ec Support compound literals for bit_field 2024-02-22 18:41:15 +00:00
gingerBill
c9e37a08be Add backing type of a bit_field to the doc-format 2024-02-22 17:41:22 +00:00
gingerBill
dcbcf75269 Add doc-format support for bit_field 2024-02-22 17:37:42 +00:00
gingerBill
007bd993a6 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-02-22 17:24:48 +00:00
gingerBill
5a84a08225 Add general support for bit_fields 2024-02-22 17:24:42 +00:00
gingerBill
a4b8c1ea17 Begin work adding bit_field 2024-02-22 15:55:54 +00:00
Jeroen van Rijn
20e75cd463 Merge pull request #3221 from Tetralux/net/reservedports
[net] Better error code for binding a privileged port without root access
2024-02-22 16:23:15 +01:00
Tetralux
d74ddb2d91 fixup 2024-02-22 15:01:55 +00:00
Tetralux
ec0831da70 [net] Better error code for binding a privileged port without root access on Darwin
This condition results in os.EACCESS, which we were translating to Broadcast_Disabled.
This was the case because binding to the broadcast address on a UDP port, without setting the BROADCAST flag, also results in this error.

Given the fact that reserved ports also produce this error, we now check for this condition in net.bind() and translate it to a custom, clearer error:
Privileged_Port_Without_Root.
2024-02-22 14:55:27 +00:00
gingerBill
213b2fd0f8 Add bit_field as a keyword 2024-02-22 14:01:23 +00:00
gingerBill
656de10ba4 Minor changes to sync/chan (HIGHLY EXPERIMENTAL) 2024-02-22 13:59:22 +00:00
gingerBill
41549b502b Basic concept of core:sync/chan 2024-02-21 15:24:24 +00:00
gingerBill
f989f4df3e Add sync.One_Shot_Event 2024-02-21 13:08:12 +00:00
gingerBill
8472338bfa Add reflect.enum_name_from_value and reflect.enum_name_from_value_any 2024-02-21 12:43:09 +00:00
Tetralux
b1e608bfba [fmt] Add *printfln()
Adds the following procedures, which just call through to the `printf` versions, with `newline = true`; a new parameter
also added in this commit.
In all cases, `wprintf` is the one that ultimately writes the newline, if requested.

- printfln
- fprintfln
- eprintfln
- aprintfln
- tprintfln
- bprintfln
- caprintfln
- ctprintfln
- sbprintfln
- wprintfln
2024-02-18 16:14:59 +00:00
flysand7
cc185d98b4 [sys/linux]: Fix numeric values for socket fd flags 2024-02-18 23:04:41 +11:00
gingerBill
43a199b57b Merge branch 'master' of https://github.com/odin-lang/Odin 2024-02-17 13:42:02 +00:00
gingerBill
fa1875a8f1 Minor changes to os2 2024-02-17 13:41:54 +00:00
gingerBill
bed81c8829 Merge pull request #3197 from laytan/update-miniaudio
Update miniaudio to 0.11.21
2024-02-16 18:08:29 +00:00
Laytan Laats
7fe86ed565 miniaudio: fix wrong sizes for ma_device 2024-02-14 21:00:26 +01:00
Lucas Perlind
6df07a2c0a Remove bounds checking on a lot of linalg 2024-02-13 10:23:29 +11:00
Lucas Perlind
c0d407a2b4 Revert "Change minor/adjoint to be row, col from c, r to be consistent with [row, col] syntax; Add #no_bounds_check were appropriate"
This reverts commit 5dd2e38aff.
2024-02-13 10:13:34 +11:00
gingerBill
900fe95ba0 Split out linalg.identity between matrices and array-based matrix 2024-02-12 12:08:43 +00:00
gingerBill
5dd2e38aff Change minor/adjoint to be row, col from c, r to be consistent with [row, col] syntax; Add #no_bounds_check were appropriate 2024-02-12 11:54:24 +00:00
gingerBill
5ad8ebba9f Merge pull request #3188 from Tetralux/fixchdir
[os] Fix os.change_directory(), os.set_current_directory()
2024-02-12 11:24:45 +00:00
Kay
5f49b8997a remove return statement from case Type_Info_Enumerated_Array, as it causes early exit in JSON unmarshalling. 2024-02-12 01:45:11 -06:00
Tetralux
d6734c85b8 [os] Fix os.change_directory(), os.set_current_directory()
- set_current_directory() was leaking the wstring path string because it wasn't using the temp allocator.
- change_directory() wasn't calling SetCurrentDirectoryW() under the lock!
2024-02-12 06:03:51 +00:00
gingerBill
e201a2fabb Add rand.choice_enum 2024-02-10 15:13:09 +00:00
Lucas Perlind
8777fa1c04 Add more window procedures 2024-02-09 14:04:16 +11:00
gingerBill
7128bc4b34 Add core:relative
This will eventually replace the #relative types
2024-02-08 15:15:16 +00:00
gingerBill
9db04fe446 Merge pull request #3156 from laytan/spall-instrumentation
Make spall able to be used in instrumentation procedures
2024-02-07 12:16:20 +00:00
gingerBill
4035a226da Fix filepath.rel allocation behaviour 2024-02-06 23:39:20 +00:00
gingerBill
df5ee2dd06 Merge pull request #3178 from laytan/fix-virtual-static-reset-logic
mem/virtual: fix arena_static_reset_to inverted logic
2024-02-06 23:31:07 +00:00
Laytan
9b4cd0743c mem/virtual: fix arena_static_reset_to inverted logic 2024-02-06 20:24:38 +01:00
laytan
3f090ed523 fix for instrumenting on Windows 2024-02-06 19:55:09 +01:00
gingerBill
79173ef119 Merge pull request #3136 from Yawning/feature/crypto-hash
core:crypto/hash - Add and refactor
2024-02-06 17:40:45 +00:00
Yawning Angel
44758f2a60 core/crypto: Stop using context.temp_allocator
The max digest size for the foreseeable future will be 512 bits, and the
max block size is currently 1152 bits (SHA3-224).  If people add more
exotic hash algorithms without bumping the constants when required,
tests will fail.

The stream buffer will currently be 576 bytes, which is "fine" to just
stick on the stack, and is a sensible multiple of the more common block
size of 64 bytes.
2024-02-07 02:33:53 +09:00
gingerBill
1f0b24b735 Remove unneeded casts 2024-02-06 17:22:13 +00:00
gingerBill
a6878fcd91 Clean up code for initialize_symbols 2024-02-06 17:20:07 +00:00
Yawning Angel
56516ee8b2 core/crypto/poly1305: Relax the tag length check on the verify helper 2024-02-07 00:42:01 +09:00
Yawning Angel
1cc639bc93 core/crypto/hmac: Initial import 2024-02-07 00:42:01 +09:00
Yawning Angel
2357293e05 core/crypto/hash: Make the low level interface allocator-less
Just (ab)using reflect to victory is probably fine.
2024-02-07 00:37:18 +09:00
Yawning Angel
7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm
While I just went and made this private, this information is required
for keying HMAC.
2024-02-07 00:37:18 +09:00