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
Dmitry Atamanov
97de44b424
Added is_vector macro.
2022-09-05 15:12:23 +02:00
Dmitry Atamanov
5d15ec23bb
Rename $$fabs to $$abs
2022-08-29 12:51:02 +02:00
Christoffer Lerno
b863ae2ec5
Fix of binary literals. Bump version to 0.3.32. Renamed rotate_right and rotate_left to rotl and rotr which are the commonly used names.
2022-08-28 22:40:40 +02:00
Dmitry Atamanov
27a0e12979
Add rotate_left and rotate_right macros
2022-08-28 21:20:54 +02:00
Christoffer Lerno
4a296032ab
Add fshl fshr + new optimizer.
2022-08-28 16:22:10 +02:00
Christoffer Lerno
1858600449
Fixes issue where functions could not be found if local and imported names clashed.
2022-08-18 20:03:59 +02:00
Christoffer Lerno
656faa55bf
Add a concat/tconcat function.
2022-08-18 16:57:22 +02:00
Christoffer Lerno
afe466d7b3
Added sinf/cosf. Minor refactoring to matrix lib. Added complex type.
2022-08-17 01:07:17 +02:00
Christoffer Lerno
ae51214c47
Added clz, ctz, popcount, bswap, bitreverse.
2022-08-16 21:18:14 +02:00
Christoffer Lerno
63d9853bd3
Fixes to bitstruct.
2022-08-14 18:25:47 +02:00
Christoffer Lerno
af9b99bd5a
Fix macro calls to make CT parameters modifiable.
2022-08-11 11:04:44 +02:00
Christoffer Lerno
ebd7611164
Allow compile time pointer manipulation. Ternary bug fixes.
2022-08-09 12:05:49 +02:00
Christoffer Lerno
878bbed929
Fix bug using $switch. Added mem::equals. Fix to dynamic arena allocator.
2022-08-05 19:00:32 +02:00
Christoffer Lerno
398e19d727
Corrected default alignment on temp alloc. Added str_index_of. Added simple getline. Added a simple calculator. Allow [1..] to create a zero length slice. Added some initial macro contracts. Fix accessing enum functions. Support for @checked. Bump to 0.3.4
2022-08-05 00:42:52 +02:00
Christoffer Lerno
046469843c
@pool on temp usage in File.open(). Add LLVM 15.
2022-08-04 12:56:47 +02:00
Christoffer Lerno
3461f08a53
Consume a byte to make the temp allocator correctly reset large allocs.
2022-08-04 02:46:15 +02:00
Christoffer Lerno
db5816edd6
Fix to temp allocator reset.
2022-08-04 02:34:51 +02:00
Christoffer Lerno
6d2ab0c985
Fix ordering of @builtin. malloc <-> alloc, malloc, calloc, realloc, free builtins.
2022-08-04 01:49:36 +02:00
Christoffer Lerno
cc8884d3d1
Allocators separated into aligned and non aligned operations.
2022-08-03 20:53:37 +02:00
Christoffer Lerno
550bca79e9
Updated memory allocator. Fix in printf printing pointers. Added aligned_alloc to libc module. Renamed MemoryArena -> ArenaAllocator. New temp allocator. @pool(), @scoped, @tscoped macros. Bump to 0.3.2.
2022-08-02 14:42:46 +02:00
Christoffer Lerno
9886d381c0
Update allocator and resolution.
2022-07-30 02:55:32 +02:00
Christoffer Lerno
12c17b62cf
Allow any expression as default expression.
2022-07-30 02:55:32 +02:00
Christoffer Lerno
6f5f5feb97
Fixing distinct, typedef and bitstruct copying. Fix where global constants did not need to be constant. Bump to 0.2.26
2022-07-27 18:12:27 +02:00
Christoffer Lerno
64d883cb99
Fix bug on runtime "nameof" with optional values. Fixed issues with integer to enum casts. 0.2.25. Added enum_by_name.
2022-07-27 00:46:02 +02:00
Christoffer Lerno
1adc8b8264
Moved bitcast to builtin module.
2022-07-26 23:42:03 +02:00
Christoffer Lerno
e36e4b60e4
Fprintf changes.
2022-07-26 16:12:22 +02:00
Christoffer Lerno
1d808be4b9
Fix stdout defaults.
2022-07-26 15:07:37 +02:00
Christoffer Lerno
7065c28a08
Some fixes to string. Added fprintf and String.printf. Updated boolerr example.
2022-07-26 13:44:08 +02:00
Christoffer Lerno
4471ccff13
String works with printf. Example cleanup.
2022-07-26 01:15:36 +02:00
Christoffer Lerno
cdff5c3e26
Dev ( #500 )
...
Single code path for kind/inner/len/sizeof on type and typeid. Fix of #493 . Bump to 0.2.24. Remove ´func´ deprecated keyword. Unify builtin access. Enum and fault name reflection.
2022-07-26 00:56:59 +02:00
Christoffer Lerno
812bd8b3d0
Added $converable / $castable. Simplify and corrected if try/catch parsing. Fix bug with { [A] = 1 }
2022-07-24 15:10:04 +02:00
Christoffer Lerno
7e0a29ef40
Fix constant typeid comparisons. Allow methods to use & and * and constants. Improved error messages. Updated String type with generic append.
2022-07-24 15:10:04 +02:00
Christoffer Lerno
c1de3f059e
Updated error messages.
2022-07-23 21:08:17 +02:00
Christoffer Lerno
b313bec69d
Fix to "typeid.kind". Conversion unsigned int -> enum fixed. @autoimport -> @builtin. Comparison macros. Bump to 0.2.21
2022-07-22 17:09:49 +02:00
Christoffer Lerno
56a6e0b112
Fix bug preventing implicit & on optionals. Updated priority queue to return optionals. Changed the list API to have snake case on methods. Bump to 0.2.20
2022-07-21 22:21:50 +02:00
Christoffer Lerno
1d572f3e7c
Allow distinct printthrough in printf. Added tests.
2022-07-21 18:13:11 +02:00
David Kopec
6576725ed8
Add Binary-Heap Based Priority Queue to Standard Library ( #481 )
...
Priorityqueue
2022-07-20 12:22:43 +02:00