Pierre Curto
092296984a
std/math/random: add missing SimpleRandom.init() method
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-28 10:03:30 +02:00
Dmitry Atamanov
b8c92c69b0
Implement builtin benchmarks.
2023-08-28 08:13:21 +02:00
Christoffer Lerno
6ebb3caa20
Fix issue where type wasn't canonical. Addresses #957
2023-08-27 19:04:34 +02:00
Christoffer Lerno
190e1b19f1
Fix of next_short
2023-08-26 16:17:30 +02:00
Pierre Curto
c09b6154f4
std/lib/collections: add Object.get_len(); add some tests for encoding/json
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-26 13:24:23 +02:00
Pierre Curto
120d5a672c
std/collections: Object.get* return an error if requested type if invalid
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-26 13:24:23 +02:00
Pierre Curto
307212a19c
std/encoding: use char.is_digit() where applicable
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-26 13:24:23 +02:00
Pierre Curto
eedb2c3c52
std/collections: add RingBuffer.popc()
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-26 13:24:23 +02:00
Christoffer Lerno
b1f52cf8a9
Updated random interface further.
2023-08-26 13:22:02 +02:00
Christoffer Lerno
bea9ac010c
Updated random interface.
2023-08-26 12:58:57 +02:00
Pierre Curto
c0b109fbc1
#934 followup
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-24 18:10:18 +02:00
Dmitry Atamanov
b77f254ab1
Tune @expect, @likely, @unlikely and @prefetch macros.
2023-08-24 16:09:56 +02:00
Dmitry Atamanov
f5fea69ef9
Move get_var, set_var and clear_var to os::env module.
2023-08-24 13:31:48 +02:00
Pierre Curto
c63b3d4209
Small updates to std::lib ( #949 )
...
* lib/std/io: add Stream.supports_{read,Write}_byte and Stream.write_all
* std/io/: use char.digit()
2023-08-24 11:59:00 +02:00
Christoffer Lerno
0120498ec8
Fix seeder, update with dynamic interface for random. Insert unreachable after panic in asserts. Macro ensure static check.
2023-08-23 13:52:27 +02:00
Dmitry Atamanov
fcb4bc0781
Reimplement QuickSort (non-recursive modification).
2023-08-22 14:48:12 +02:00
Christoffer Lerno
6c60b0d2a6
Update errno listings. Update ai flags in std::net. Fix incorrect socket error results on Win32. Change behaviour Socket set_option. TcpSocket/TcpServerSocket/UdpSocket. Rename "TimeDuration" to "Duration". Allow @if on enum values.
2023-08-19 22:41:54 +02:00
Christoffer Lerno
ed70f39da8
Update the json API
2023-08-19 00:53:28 +02:00
Christoffer Lerno
d5aebb434c
Eliding length for ":"-ranges is no longer allowed.
2023-08-18 22:25:51 +02:00
Pierre Curto
7a39933c97
add NanoDuration.to_format() ( #935 )
...
* lib/std/time: avoid switch in DateTime.compare_to()
* lib/std/time: add NanoDuration.to_format()
* std/lib: fix #934
2023-08-17 10:30:20 +02:00
Christoffer Lerno
9b0da89a03
Added compare_to as a standard macro.
2023-08-17 10:13:00 +02:00
Christoffer Lerno
b05ba8d110
Updated the test runner code slightly.
2023-08-16 17:31:16 +02:00
Christoffer Lerno
e694d60f23
Updates and fixes to Mutex ( #933 )
...
Updating Mutex to have specific types: TimedMutex, RecursiveMutex, TimedRecursiveMutex. Fixes to the win32 implementation.
2023-08-16 15:45:49 +02:00
Pierre Curto
5bd21c10b6
improve tests ( #932 )
...
* test: fix warnings generated by Python's interpreter
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/core/runtime: sort tests to run; improve tests output
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-16 12:28:07 +02:00
Pierre Curto
6c3d6a4b05
std/lib: fix module path for RingBuffer
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-15 15:58:28 +02:00
Pierre Curto
f4ad9fcee0
move num_cpu() to std::os ( #928 )
...
* lib/std: move num_cpu() to std::os
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* add ThreadPool (#926 )
* lib/std/collections: fix tab indentation
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/threads: add ThreadPool
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* ats/lib/threads: add num_cpu()
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/os: move macos constants to std::os::macos
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-14 17:04:06 +02:00
Pierre Curto
65bea1cb2d
add ThreadPool ( #926 )
...
* lib/std/collections: fix tab indentation
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/threads: add ThreadPool
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* ats/lib/threads: add num_cpu()
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-14 15:33:51 +02:00
Pierre Curto
c060569599
add tests for Mutex ( #925 )
...
* std/lib: add tests for Mutex
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/collections: add missing import
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* std/collections: add RingBuffer
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-13 17:39:09 +02:00
Christoffer Lerno
d83f591184
Check for mutex initialization. Fix missing check on optional for certain macro situations.
2023-08-12 11:55:49 +02:00
Christoffer Lerno
b6f302d1c6
Fix issues with thread, add some simple test.
2023-08-12 02:16:46 +02:00
Pierre Curto
a846ab9cc0
std/lib/threads: fix typo
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-11 21:08:17 +02:00
Christoffer Lerno
3e765a3f3e
Hash maps now copy keys if keys are copyable.
2023-08-10 21:14:24 +02:00
Christoffer Lerno
5b5bc7fdbb
Fix void[] -> char[] cast.
2023-08-07 20:58:20 +02:00
Christoffer Lerno
68aadc958f
Added read_any/write_any.
2023-08-07 19:55:10 +02:00
Pierre Curto
e4febe62ef
lib/std/io: make PathWalker return an optional
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-02 23:05:28 +02:00
Pierre Curto
9b1c75d061
std/lib: simplify String.{,r}index_of and improve speed for the index… ( #907 )
...
* std/lib: simplify String.{,r}index_of and improve speed for the index_of one
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/collections: add EnumMap.get_ref
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-02 11:43:58 +02:00
Pierre Curto
701d6a0746
std/lib/io: add Scanner ( #904 )
...
* std/lib/io: add Scanner
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/core: use existing methods in String.convert_ascii_to_{lower, upper}
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-08-01 10:47:21 +02:00
Christoffer Lerno
8a335fc64c
Updated stack trace. This addresses #898 .
2023-07-31 10:57:56 +02:00
Christoffer Lerno
b759abc954
Fix to DString reserve.
2023-07-29 22:42:55 +02:00
Pierre Curto
6808a38c9f
add std::io::stream::ByteBuffer; fix std::io::Path::walk ( #895 )
...
* lib/std/io/stream: add some inlines
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/io/stream add ByteBuffer
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/io/path: fix free of paths in walk
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/bits: remove unnecessary receiver type
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-29 21:21:45 +02:00
Christoffer Lerno
108b2244d8
Fix bug in aligned_realloc, fixes issue when a type is not resolved before the cast. #897
2023-07-28 22:21:23 +02:00
Christoffer Lerno
ada3ea08fc
Some initial parse output. Enforce handling of optionals. Fix issue where constants were folded despite the fact that they shouldn't be. Fix bug related to return foo() where foo() returns void!. ( #893 )
2023-07-27 22:58:41 +02:00
Pierre Curto
d0fa473d61
lib/std/io: assert in Formatter.out_str on "Invalid enum" if an enum value is out of range ( #892 )
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-27 21:18:31 +02:00
Christoffer Lerno
499c82b089
Updated indentation to C3 standard.
2023-07-26 14:01:24 +02:00
Pierre Curto
a376d8e2bf
add ERRNO for macOS, improve net error messages ( #885 )
...
* lib/std/libc: add ERRNO values for macOS
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/net: improve error messages
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-26 13:41:35 +02:00
Pierre Curto
59b077223b
use IoError.UNSUPPORTED_OPERATION instead of asserts; improve Path.walk
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-26 13:05:12 +02:00
Christoffer Lerno
3929e2057d
Change unreachable code to error. Remove unreachable where the compiler now can detect reachability.
2023-07-25 23:31:05 +02:00
Pierre Curto
242006d05d
add is_absolute and absolute methods to path::Path ( #882 )
...
* lib/std/io/os: remove unnecessary dup in native_ls
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/core: add String.index_of_char and String.rindex_of_char
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/io: add Path.is_absolute
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/io: add Path.absolute
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std: fix Path.normalize on files starting with `.`; add Path.walk
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-25 23:23:56 +02:00
Christoffer Lerno
b74b62e242
Fixes to broken docs parsing. Fixes #880 .
2023-07-25 17:55:46 +02:00
Pierre Curto
3e78a70552
lib/std/io: replace IoError.FILE_EOF with IoError.EOF
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-25 11:32:47 +02:00