Christoffer Lerno
eb87eb1987
Allow an expression list be an lvalue if the last value is an lvalue. Fix indexing from back for [] overloads.
2022-12-05 15:42:24 +01:00
Christoffer Lerno
c15fb7460c
Add functions for splitting strings.
2022-12-04 23:01:53 +01:00
Christoffer Lerno
927ad2001f
Incorrect check for sqrt.
2022-12-04 01:13:47 +01:00
Christoffer Lerno
10b0b5f9c7
Fix map.c3
2022-12-03 22:07:04 +01:00
Christoffer Lerno
299ec1814b
Add native string -> int conversions. Fix to getline and add tgetline.
2022-12-01 16:13:52 +01:00
Christoffer Lerno
07700ed2c5
Add str::trim and String::tcopy_str. Version bump.
2022-12-01 13:19:08 +01:00
Christoffer Lerno
285299dcd5
Some simple stdlib tests.
2022-11-20 18:16:21 +01:00
Christoffer Lerno
da1a45f718
Remove iptrdiff and uptrdiff. Bump version to 0.3.100
2022-11-17 23:44:54 +01:00
Dmitry Atamanov
5ff726d8d1
Added $$get_rounding_mode and $$set_rounding_mode builtins. ( #655 )
2022-11-14 13:07:32 +01:00
Christoffer Lerno
49eacb8824
More support for test. Panic function update.
2022-11-14 11:48:12 +01:00
Christoffer Lerno
73619817ba
Update panic function and early work on tests. Optimize ABI lowering.
2022-11-03 19:38:34 +01:00
Christoffer Lerno
70f6ad1b27
Added "values" module.
2022-10-31 14:40:58 +01:00
Dmitry Atamanov
e070bf22ee
Added pow macros to math module.
2022-10-31 14:09:38 +01:00
Dmitry Atamanov
66d87b25a3
Added more math macros: cosec, cosech, cosh, cotan, cotanh, hypot, sec, sech, sinh, sqr, sqrt, tan, tanh.
2022-10-30 20:31:32 +01:00
Christoffer Lerno
e15dbd4907
Improve conversion functions.
2022-10-20 20:32:33 +02:00
Christoffer Lerno
ae7aa65f35
Add conversion functions for i128
2022-10-20 19:35:29 +02:00
Christoffer Lerno
d13b7ac96a
Enable support for int128 across all platforms.
2022-10-20 18:03:02 +02:00
Christoffer Lerno
f86ef8a743
Remove tscoped. Replace str_index_of with "starts_with". Updated copy_zstring/copy. Fixed utf conversion functions. Initial work on "Path". Lexer fix on \\. ABI fix using distinct types. (bool)"" now works correctly. Bug in $if with switches/loops as the first statement fixed. Version bump.
2022-10-20 10:55:14 +02:00
Christoffer Lerno
76ee384a4c
Fix of ternary / elvis where legs are bool or optional.
2022-10-18 14:02:20 +02:00
Dmitry Atamanov
dfe3128b16
Add --benchmarking and --testing switches. ( #591 )
...
Added `--benchmarking` and `--testing` switches. Update env.c3
2022-10-13 14:25:45 +02:00
Christoffer Lerno
5d9a7ab0a6
Extend "var" to allow type inference on variables.
2022-10-13 09:37:52 +02:00
Christoffer Lerno
5e184f04e7
List now has correct alignment and takes memory allocator initializer. Bugfix of aligned allocations.
2022-10-12 22:35:36 +02:00
Christoffer Lerno
b2b1a3489a
Add hashmap function.
2022-10-12 15:21:40 +02:00
Christoffer Lerno
fc41179636
Minor indention change.
2022-10-12 11:53:49 +02:00
Dmitry Atamanov
959c418e8b
Add a lot of math functions and macros. ( #626 )
2022-10-12 11:52:19 +02:00
Christoffer Lerno
ab78663f3c
Add usz and isz.
2022-10-10 15:44:03 +02:00
Christoffer Lerno
348495b4c8
Added an initial nolibc
2022-10-10 15:44:03 +02:00
Dmitry Atamanov
7fa129932d
Added $$memmove built-in.
2022-10-08 21:41:11 +02:00
Christoffer Lerno
fa064276bc
Disallow $offsetof / $alignof on types. Version bump.
2022-10-08 12:41:40 +02:00
Christoffer Lerno
bb20a38cdb
Updated membersof. "Type.kind" renamed "Type.kindof"
2022-10-07 14:41:10 +02:00
Dmitry Atamanov
1d39fc475f
Added max and min macros to builtin_comparison module.
2022-10-05 23:13:38 +02:00
Dmitry Atamanov
f5a1894876
Add std::ascii module. ( #611 )
...
Added `std::ascii` module.
2022-10-05 23:11:41 +02:00
Christoffer Lerno
db06f99445
"[]=" now works as overload. Improved eval resolution. Added $$FUNCPTR
2022-10-05 22:58:28 +02:00
Christoffer Lerno
3d844b8722
Fix of printf registration.
2022-10-03 16:01:27 +02:00
Christoffer Lerno
6bd72c2ec4
Improve printf.
2022-10-03 15:42:55 +02:00
Christoffer Lerno
4783946476
Version bump. Updated printf using "Formatter". Fix to initializers.
2022-10-03 13:06:57 +02:00
Christoffer Lerno
f05ffc84d8
Minor fixes.
2022-10-01 22:14:07 +02:00
Christoffer Lerno
cbb731b42b
Fix alignment on temp allocators.
2022-09-29 22:18:12 +02:00
Christoffer Lerno
258a6ba97a
Bug fixes, addition of hash map implementation. ( #605 )
...
* Simple hash map. Fix of bug preventing cast of typeid. Allow declarations in global "$checks". Fix to non-constant default args. Correctly duplicate macro contracts. Allow typeid to add methods. Fix printing of subarrays. Fix bug when printing a function with a module. Fix bug with initializer and creating local variables. Add the compile-only option to the help.
2022-09-29 20:19:31 +02:00
Christoffer Lerno
ad18d9ba48
Add .hash to integer types. Fixup of make and tmake. Updated map.c3 to become a working example. Fix bug in subarray -> pointer conversion. Search extension methods in std::core. Fix slice <-> slice copy.
2022-09-21 17:26:36 +02:00
Christoffer Lerno
4d5821408d
Add @castable and @convertible builtin macros, removes the need $castable and $convertible
2022-09-20 22:18:00 +02:00
Christoffer Lerno
48ee567f81
Add types::is_indexable.
2022-09-20 18:45:43 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +02:00
Christoffer Lerno
9b14340a57
Added prefetch builtin.
2022-09-18 23:27:42 +02:00
Christoffer Lerno
35549c21bc
A brainf**k example.
2022-09-18 01:20:17 +02:00
Christoffer Lerno
6220bda4a3
Use @operator([]), @operator(&[]) and @operator([]=) instead of names.
2022-09-17 23:33:27 +02:00
Christoffer Lerno
81a2474f75
Add methods to basic types. Remove "intvec" and "floatvec" overloads. Update bits and math to use the new functionality. Introduces [<*>] and [<>] types. Bump version to 0.3.47
2022-09-17 22:00:28 +02:00
Dmitry Atamanov
fd9d300b06
Added Int128BE, UInt128BE, Int128LE and UInt128LE.
2022-09-17 01:53:21 +02:00
Christoffer Lerno
1af41ee394
Fix min/max. Also fix of printf
2022-09-14 12:22:57 +02:00
Christoffer Lerno
3a09f71830
Added initial intvec/floatvec operator
2022-09-11 22:52:01 +02:00