David Mak
db88c3a78e
core: Refactor to return errors by HashSet
2023-12-12 13:51:33 +08:00
David Mak
e2d6dda26d
ast: Add Ord implementation to Location
2023-12-12 13:28:37 +08:00
David Mak
3780a4ad2f
meta: Update cargo dependencies
2023-12-12 13:28:36 +08:00
David Mak
bd3d67f3d6
artiq: Apply clippy pedantic changes
2023-12-11 15:16:23 +08:00
David Mak
ddfb532b80
standalone: Apply clippy pedantic changes
2023-12-11 15:16:23 +08:00
David Mak
02933753ca
core: Apply clippy pedantic changes
2023-12-11 15:16:23 +08:00
David Mak
a1f244834f
meta: Bringup some documentation
2023-12-11 15:16:23 +08:00
David Mak
d304afd333
meta: Apply clippy suggested changes
2023-12-11 15:16:23 +08:00
David Mak
ef04696b02
meta: Lift return out of conditional statement
2023-12-11 15:16:23 +08:00
David Mak
4dc5dbb856
meta: Replace equality assertion with assert_eq
...
Emits a more useful assertion message.
2023-12-11 15:16:23 +08:00
David Mak
fd9f66b8d9
meta: Remove redundant casts and brackets
2023-12-11 15:16:23 +08:00
David Mak
5182453bd9
meta: Remove redundant path prefixes
2023-12-11 15:16:23 +08:00
Sebastien Bourdeauducq
68556da5fd
update ARTIQ version used for PGO profiling
2023-12-11 09:37:03 +08:00
David Mak
983f080ea7
artiq: Implement handling for const generic variables
2023-12-08 18:02:14 +08:00
David Mak
031e660f18
core: Initial implementation for const generics
2023-12-08 18:02:11 +08:00
David Mak
b6dfcfcc38
core: Move some SymbolValue functions to symbol_resolver.rs
2023-12-08 18:00:51 +08:00
David Mak
c93ad152d7
core: Codegen for ellipsis expression as NotImplemented
...
A lot of refactoring was performed, specifically with relaxing
expression codegen to return Option in case where ellipsis are used
within a subexpression.
2023-12-08 18:00:51 +08:00
David Mak
68b97347b1
core: Infer builtins name list using builtin declaration list
2023-12-08 17:29:34 +08:00
David Mak
875d534de4
ast: Use `{filename}:{row}:{col}` for location output
2023-12-08 15:48:54 +08:00
Sebastien Bourdeauducq
adadf56e2b
nac3standalone: generate PIC
2023-12-04 19:09:50 +08:00
Sebastien Bourdeauducq
9f610745b7
cargo: update dependencies
2023-12-04 18:51:06 +08:00
Sebastien Bourdeauducq
98199768e3
demo: fix 64-bit format strings
2023-12-04 18:51:06 +08:00
Sebastien Bourdeauducq
bfa9ceaae3
switch to new nixpkgs release
2023-12-03 10:31:05 +08:00
Sebastien Bourdeauducq
120f8da5c7
fix compilation warnings
2023-11-26 09:09:24 +08:00
Sebastien Bourdeauducq
cee62aa6c5
pin down LLVM used for IRRT
2023-11-25 20:15:29 +08:00
Sebastien Bourdeauducq
fcda360ad6
flake: update dependencies
2023-11-24 18:11:25 +08:00
Sebastien Bourdeauducq
87c20ada48
windows: switch to CLANG64 MSYS2
...
For compatibility with MSVC (Anaconda and others).
2023-11-24 18:10:00 +08:00
Sebastien Bourdeauducq
38e968cff6
gitignore: fix msys2 path
2023-11-24 17:18:17 +08:00
David Mak
5c5620692f
core: Add np_{round,floor,ceil}
...
These functions are NumPy variants of round/floor/ceil, which returns
floats instead of ints.
2023-11-23 13:45:07 +08:00
David Mak
0af1e37e99
core: Prefix all NumPy/SciPy functions with np_/sp_spec
2023-11-23 13:35:23 +08:00
David Mak
854e33ed48
meta: Update cargo dependencies
2023-11-23 13:31:24 +08:00
Sebastien Bourdeauducq
f020d61cbb
update ARTIQ version used for PGO profiling
2023-11-11 11:10:58 +08:00
David Mak
10538b5296
core: Update insta snapshots
2023-11-09 13:00:27 +08:00
David Mak
d322c91697
core: Change bitshift operators to accept int32/uint32 for RHS operand
2023-11-09 12:16:20 +08:00
David Mak
3231eb0d78
core: Add compile-time error and runtime assertion for negative shifts
2023-11-09 12:16:20 +08:00
Sebastien Bourdeauducq
1ca4de99b9
update ARTIQ version used for PGO profiling
2023-11-08 17:29:29 +08:00
Sebastien Bourdeauducq
bf4b1aae47
update dependencies
2023-11-08 17:23:49 +08:00
David Mak
08a5050f9a
core: Implement non-trivial builtin functions using IRRT
2023-11-06 12:57:23 +08:00
David Mak
c2ab6b58ff
artiq: Implement `with legacy_parallel` block
2023-11-04 13:42:44 +08:00
David Mak
0a84f7ac31
Add CodeGenerator::gen_block and refactor to use it
2023-11-04 13:42:44 +08:00
David Mak
fd787ca3f5
core: Remove trunc
...
The behavior of trunc is already implemented by casts and is therefore
redundant.
2023-11-04 13:35:53 +08:00
David Mak
4dbe07a0c0
core: Revert breaking changes to round-family functions
...
These functions should return ints as the math.* functions do instead of
following the convention of numpy.* functions.
2023-11-04 13:35:53 +08:00
David Mak
2e055e8ab1
core: Replace rint implementation with LLVM intrinsic
2023-11-04 13:35:53 +08:00
David Mak
9d737743c1
standalone: Add regression test for numeric primitive operations
2023-11-03 16:24:26 +08:00
David Mak
c6b9aefe00
core: Fix int32-to-uint64 conversion
...
This conversion should be sign-extended.
2023-11-03 16:24:26 +08:00
David Mak
8ad09748d0
core: Fix conversion from float to unsigned types
...
These conversions also need to wraparound.
2023-11-03 16:24:26 +08:00
David Mak
7a5a2db842
core: Fix handling of float-to-int32 casts
...
Out-of-bound conversions should be wrapped around.
2023-11-03 16:24:26 +08:00
David Mak
447eb9c387
standalone: Fix output format string for output_uint*
2023-11-03 16:24:26 +08:00
David Mak
92d6f0a5d3
core: Implement bitwise not for unsigned ints and fix implementation
2023-11-03 16:24:26 +08:00
David Mak
7e4dab15ae
standalone: Add math tests for non-number arguments
2023-11-01 18:03:29 +08:00