Tomas Kallup
ca88afbf5b
Fix hashmap put all for create + test case
...
Closes : #1695
2024-12-19 16:15:18 +01:00
vssukharev
42c9c9894b
Slight updates in nix
2024-12-18 21:04:42 +01:00
Christoffer Lerno
b4de62cfc2
Added iter() value_iter() and key_iter() to HashMap.
2024-12-18 21:02:28 +01:00
Christoffer Lerno
226fbc191b
Update to Slice2d
2024-12-17 23:12:32 +01:00
Denis Palashevskii
4839d8861d
increase BitWriter.write_bits nbits limit, add tests ( #1692 )
...
* increase BitWriter.write_bits nbits limit, add tests
* update releasenotes.md
2024-12-17 21:21:58 +01:00
Brecht Sanders
789b47d565
Support detection of shared MinGW-w64 LLVM libraries
...
Support detection of shared MinGW-w64 LLVM libraries by also looking for liblld*.dll.a files.
2024-12-17 11:29:40 +01:00
Walther Chen
c13cdcdd36
in new_struct_to_str, fix uaf
2024-12-17 11:29:18 +01:00
Christoffer Lerno
4ae3d0150f
Fix case trying to initialize a char[*]* from a String.
2024-12-15 20:42:42 +01:00
Christoffer Lerno
7d153a162a
Prepare 0.6.6
2024-12-14 23:06:08 +01:00
Christoffer Lerno
7bc3e94ff3
Build 0.6.5 release. Fixed.
v0.6.5
2024-12-14 17:38:02 +01:00
Christoffer Lerno
9c1fb26660
Build 0.6.5 release.
2024-12-14 17:33:00 +01:00
Christoffer Lerno
3dd725a0f0
Crash when a constant null typeid is checked for properties. #1679
2024-12-14 15:13:43 +01:00
Christoffer Lerno
a8aad53038
It was possible to create 0 length arrays using byte literals. #1678
2024-12-14 02:49:45 +01:00
konimarti
68c60f58c0
math: fix adjoint of Matrix2 ( #1676 )
...
* math: fix adjoint of Matrix2
Fix the adjoint of the Matrix2x2 implementation in the math module. This
also fixes the calculation of the inverse which depends on the adjoint.
* update release notes
2024-12-13 11:16:47 +01:00
Radek Micek
c9c3f33acc
Fix weekday
2024-12-12 22:30:23 +01:00
Christoffer Lerno
5ffc5187eb
Update Win LLVM library.
2024-12-12 21:52:13 +01:00
Christoffer Lerno
5d31cdfa16
Incorrect no-libc definition of cos, making it unavailable for wasm.
2024-12-12 21:50:56 +01:00
Christoffer Lerno
e8ff4af5b9
Fix test for LLVM 20
2024-12-11 23:05:57 +01:00
Christoffer Lerno
723e1dd9a6
Fix issue with overloaded *= etc
2024-12-11 20:56:11 +01:00
Christoffer Lerno
369a4558a3
Remove mention of install_win_reqs.bat
2024-12-11 13:57:03 +01:00
Christoffer Lerno
5e6a3d9d8e
Fix tabs in readme.
2024-12-10 23:14:20 +01:00
Koni Marti
62dca4f1c5
math: add gcd and lcm
...
Add gcd and lcm functions to calculate the greatest common divisor (gcd)
and the least common multiple (lcm) to the math module. This will also
work for BigInts that implements its own gcd/lcm.
2024-12-10 15:44:52 +01:00
Christoffer Lerno
061c02306f
Cast removing arbitrary array indices and converting them to pointers should always be fine #1664
2024-12-08 18:58:43 +01:00
Christoffer Lerno
f006b05010
Fix issue with accessing arrays in access-overloaded types, e.g. list[1][2] #1665 .
2024-12-08 18:04:29 +01:00
Koni Marti
c5a727aa9b
math: update complex numbers
...
Add inverse, conjugate, and equals functions to the Complex numbers. Add
an IMAGINARY constant to represent the imaginary unit. Also, add unit
tests for different types.
2024-12-08 16:51:44 +01:00
konimarti
e67e9d3bbf
Fix fnv a hashes ( #1667 )
...
* fix fnv32a
* fix fnv64a
* Simplify code
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2024-12-07 15:39:45 +01:00
Christoffer Lerno
ea86c9d37a
Fix of issue where multiple methods were accepted for the same type. Fix of issue where a method was linked to a type alias instead of the underlying type. #1661
2024-12-06 13:09:47 +01:00
Christoffer Lerno
d1a2e6e5bd
Update Windows debug output.
2024-12-06 02:18:36 +01:00
konimarti
c96985f1db
sort: add is_sorted ( #1660 )
...
* sort: add is_sorted
Add is_sorted function to check whether a list is sorted or not. Sort
order (ascending or descending) will be detected by looking at the data.
Add tests.
* update the release notes
* refactor: use lambda
2024-12-05 22:37:13 +01:00
Christoffer Lerno
b7010c83e0
Fix windows emit loc.
2024-12-04 21:33:03 +01:00
Christoffer Lerno
20a3d19ac7
Update Windows build to use LLVM 19.1.4
2024-12-04 14:00:18 +01:00
Christoffer Lerno
0ded93ab9b
Do not produce expression locations for windows.
2024-12-04 12:21:12 +01:00
Christoffer Lerno
ec82ec0426
Fix CI.
2024-12-04 00:02:36 +01:00
Christoffer Lerno
6281f8ff89
Add -q option, make --run-once implicitly -q.
...
Add `-v`, `-vv` and `-vvv` options for increasing verbosity, replacing debug-log and debug-stats options. #1601
2024-12-03 23:37:31 +01:00
Koni Marti
2c9d2d4fd7
update the release notes
2024-12-03 21:21:38 +01:00
Christoffer Lerno
8569239bc1
Crash when using --no-obj without compile-only. #1653
2024-12-03 19:48:24 +01:00
konimarti
5463c398cb
Add quickselect ( #1654 )
...
* sort: extract partition from quicksort
Extract the partition logic from quicksort into a macro. This allows to
reuse the partition logic for, e.g., the quickselect algorithm.
* sort: implement quickselect
implement Hoare's selection algorithm (quickselect) on the basis of the
already implemented quicksort. Quickselect allows to find the kth
smallest element in a unordered list with an average time complexity of
O(N) (worst case: O(N^2)).
* add quicksort benchmark
Create a top-level benchmarks folder. Add the benchmark implementation
for the quicksort algorithm.
Benchmarks can then be run in the same way as unit tests from the
root folder with:
c3c compile-benchmarks benchmarks/stdlib/sort
2024-12-03 19:27:26 +01:00
Nexus
7381734913
fix: prevent infinite read-loop by updating left_to_read after write ( #1652 )
...
* fix not updated `left_to_read` after the buffer has been written
2024-12-02 14:34:57 +01:00
Christoffer Lerno
462322026f
Fix bug with missing target in test and crash in benchmark. Note that this doesn't resolve the issues with these yet.
2024-11-30 20:26:04 +01:00
Christoffer Lerno
b5e5c719ed
Enforce single module compilation for static libraries to make constructors run properly.
2024-11-30 15:34:54 +01:00
neokeld
a0f4976b07
Add char_at method in DString
2024-11-30 13:30:20 +01:00
Christoffer Lerno
44c2486a74
Update test for LLVM 20
2024-11-30 12:53:58 +01:00
Christoffer Lerno
5fc6672784
Crash compiling for arm64 when returning 16 byte and smaller structs by value not a power of 2 #1649 .
2024-11-30 11:47:49 +01:00
Christoffer Lerno
bcb1edba90
Update tests.
2024-11-28 23:32:34 +01:00
Christoffer Lerno
8099e7a75d
Update LLVM debug info.
2024-11-28 21:59:20 +01:00
Christoffer Lerno
cc9a501351
Fix bug preventing optionals from being used in ranges or as indices.
2024-11-28 00:48:58 +01:00
Christoffer Lerno
b536a23124
Updated release notes.
2024-11-27 13:46:39 +01:00
Christoffer Lerno
6ca5bcc6b8
Add simple memcpy, memcmp and memset functions for nolibc.
2024-11-27 13:45:41 +01:00
Christoffer Lerno
ac966f118a
Updated base32 / base64 API.
2024-11-27 11:58:28 +01:00
Christoffer Lerno
f13472a8c3
Contracts on generic modules would evaluate too late, sometimes not catching the error until it already occurred elsewhere. Add file::save.
2024-11-27 00:02:43 +01:00