Zack Puhl
ad02fad167
Add Freestanding OS Types ( #2399 )
...
* Add Freestanding OS Types to `env::`
2025-08-16 19:47:03 +02:00
Zack Puhl
604661b12c
Increase Primitive Type Hash Speeds ( #2329 )
...
* simplify and add much faster hash functions in key locations
* add benchmark runtime @start and @end macros for better control
* update benchmark reporting and hashmap tests
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-04 11:50:17 +02:00
Zack Puhl
e707190539
Add @intlog2 for Floored CT log-base2 ( #2355 )
...
* Add `@intlog2` for Floored CT log-base2
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-02 22:53:36 +02:00
Christoffer Lerno
bdbe81fedd
Fix libm regression.
2025-08-02 13:22:48 +02:00
Christoffer Lerno
908d705669
Removing use of $assignable and deprecate it.
2025-07-20 20:07:06 +02:00
Christoffer Lerno
ee35001732
Suppress codegen of panic printing with when panic messages are set to "off".
...
Implicit linking of libc math when libc math functions are used.
2025-07-17 14:45:02 +02:00
Ero Mrinin
d5559ecafd
Tuple update ( #2235 )
...
* 'next_float' macro patch
More optimized implementation.
* tuple-type update
* U suffix in 'next_float'
* Do not add triplet, quadruplet, keep Tuple but deprecate. Add unpack
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 02:08:59 +02:00
Christoffer Lerno
c79c9dac8d
Inline r / complex for complex numbers fixed.
2025-07-03 23:04:16 +02:00
Christoffer Lerno
a0497e9274
math::overflow_* wrappers incorrectly don't allow distinct integers #2221 .
2025-06-21 13:28:45 +02:00
Christoffer Lerno
a55f56a88f
Linker errors when shadowing @local with public function #2198
2025-06-18 02:07:07 +02:00
Ero Mrinin
95137db64b
'next_float' macro patch ( #2213 )
...
More optimized implementation.
2025-06-17 09:54:27 +02:00
Christoffer Lerno
496d23e93f
Fix some @require comments.
2025-06-10 01:54:45 +02:00
Christoffer Lerno
45a0895c39
Fix fmod regression.
2025-06-04 15:25:18 +02:00
Christoffer Lerno
72cc8e430a
-0xFF will now be a signed integer.
...
- `-2147483648`, MIN literals work correctly.
2025-06-04 15:20:49 +02:00
Book-reader
61a4dcc807
add macro wrappers for $$overflow_add, $$overflow_sub, and $$overflow_mul builtins
2025-05-26 20:58:16 +02:00
Christoffer Lerno
6c822e5aa3
Add math::@ceil() compile time ceil function. #2134
2025-05-15 12:46:46 +02:00
Christoffer Lerno
abe4727c3a
Deprecate uXX and iXX bit suffixes.
...
Add experimental LL / ULL suffixes for int128 and uint128 literals.
2025-05-13 23:48:59 +02:00
Christoffer Lerno
0a9bb2e8e0
Fix to simple a += b overload fallback. Renaming and reordering in the stdlib.
2025-04-15 12:01:58 +02:00
Christoffer Lerno
b64dcde21d
Make aliases able to use @deprecated. Prefer math::I and math::I_F for math::IMAGINARY and math::IMAGINARYF the latter is deprecated. Combination of += and [] overloads now properly handled in most cases.
2025-04-14 20:51:01 +02:00
Christoffer Lerno
eade5fa57a
Fix Windows sincos.
2025-04-14 03:36:03 +02:00
Christoffer Lerno
f85198e3ee
Added += and related as overloads. Updated tests and docs. Slice2 extracted to its own file.
2025-04-14 00:55:46 +02:00
Christoffer Lerno
dca805bd8a
Added tests to sincos. Correctly detect multiple overloads of the same type. Fix regression quaternion overload. Remove "1." style.
2025-04-13 15:46:27 +02:00
Christoffer Lerno
3888fcb182
- Add @operator_r and @operator_s attributes.
2025-04-13 13:43:03 +02:00
Christoffer Lerno
0f2d425297
Operator overloading for + - * / % & | ^ << >> ~ == !=
2025-04-11 18:46:22 +02:00
Christoffer Lerno
3cb5df5639
0.7 fixes. Improving the yacc grammar.
2025-04-04 18:14:16 +02:00
Christoffer Lerno
e828d9a05a
Fix stdlib naming.
2025-04-03 01:47:52 +02:00
Christoffer Lerno
586d191585
Fix in stdlib and update readme.
2025-03-30 23:11:29 +02:00
Christoffer Lerno
7e100472e7
- AnyList now also defaults to the temp allocator.
...
- `os::getcwd` and `os::get_home_dir` requires an explicit allocator.
- `file::load_new` and `file::load_path_new` removed.
2025-03-18 18:34:52 +01:00
Christoffer Lerno
425676a98d
Bug due to missing cast when doing $i[$x] = $z.
...
Added `math::iota`.
2025-03-16 10:58:13 +01:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
8b49e6c14d
Rename def to alias.
2025-03-13 11:22:27 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
Christoffer Lerno
c0b80eccad
Change @return! syntax to require ":" after faults. Update all contracts to consistently use ":" before the description.
2025-03-05 17:11:45 +01:00
Christoffer Lerno
2439405e70
- $foreach "()" replaced by trailing ":" $foreach ($x, $y : $foo) -> $foreach $x, $y : $foo:
...
- `$for` "()" replaced by trailing ":" `$for (var $x = 0; $x < FOO; $x++)` -> `$for var $x = 0; $x < FOO; $x++:`
- `$switch` "()" replaced by trailing ":" `$switch ($Type)` -> `$switch $Type:`
- Empty `$switch` requires trailing ":" `$switch` -> `$switch:`
2025-03-04 16:13:47 +01:00
Christoffer Lerno
0a905d8458
Change all hash functions to have a common hash function.
2025-03-03 20:07:02 +01:00
Christoffer Lerno
261bfb97c6
Rename length_sq to sq_magnitude
2025-03-03 18:47:55 +01:00
Christoffer Lerno
cc94199131
Remove Vec2 and other aliases from std::math.
2025-03-03 18:13:39 +01:00
Christoffer Lerno
c40198b016
- new_* functions in general moved to version without new_ prefix.
...
- `string::new_from_*` changed to `string::from_*`.
- `String.to_utf16_copy` and related changed to `String.to_utf16`.
- `String.to_utf16_tcopy` and related changed to `String.to_temp_utf16`
- `mem::temp_new` changed to `mem::tnew`.
- `mem::temp_alloc` and related changed to `mem::talloc`.
- `mem::temp_new_array` changed to `mem::temp_array`.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
222bfb158b
Remove deprecated functions.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
33b05bcfeb
More deprecations in lib6, and updates to lib7
2025-02-27 11:10:41 +01:00
Jonas Quinten
ed62268997
std::math::bigint: Fixed init_with_array with empty array
2025-02-24 11:12:55 +01:00
Jonas Quinten
38110b0269
fix
2025-02-24 11:12:55 +01:00
Jonas Quinten
e34d56327a
std::math::bigint: Fixed init_with_u128 and init_with_array
2025-02-24 11:12:55 +01:00
Christoffer Lerno
855be92881
Regression with .gitkeep in project init. List.init incorrectly didn't have the first argument the allocator. Added .init to priority queue. Created mem thread allocator alias. Correctly handle ident aliases. Allow ident on builtin aliases.
2025-02-21 21:34:48 +01:00
Christoffer Lerno
e77d1fb646
- Increase precedence of (Foo) { 1, 2 }
...
- Add `--enable-new-generics` to enable `Foo{int}` generic syntax.
2025-02-18 00:26:22 +01:00
Christoffer Lerno
8c58b31bbd
Remove <[]> experimental generic syntax.
2025-02-13 12:53:46 +01:00
Christoffer Lerno
d3f2180330
bigint::from_int(0) throws assertion #1944 .
2025-02-08 19:15:14 +01:00
Christoffer Lerno
68b5c1e1f1
Fix bigint hex parsing #1945 .
2025-02-08 19:06:06 +01:00
Adversing
f3afec61bb
Added fmodf function #1875
2025-01-31 22:20:45 +01:00