Commit Graph

1099 Commits

Author SHA1 Message Date
983f080ea7 artiq: Implement handling for const generic variables 2023-12-08 18:02:14 +08:00
031e660f18 core: Initial implementation for const generics 2023-12-08 18:02:11 +08:00
b6dfcfcc38 core: Move some SymbolValue functions to symbol_resolver.rs 2023-12-08 18:00:51 +08:00
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
68b97347b1 core: Infer builtins name list using builtin declaration list 2023-12-08 17:29:34 +08:00
875d534de4 ast: Use {filename}:{row}:{col} for location output 2023-12-08 15:48:54 +08:00
adadf56e2b nac3standalone: generate PIC 2023-12-04 19:09:50 +08:00
9f610745b7 cargo: update dependencies 2023-12-04 18:51:06 +08:00
98199768e3 demo: fix 64-bit format strings 2023-12-04 18:51:06 +08:00
bfa9ceaae3 switch to new nixpkgs release 2023-12-03 10:31:05 +08:00
120f8da5c7 fix compilation warnings 2023-11-26 09:09:24 +08:00
cee62aa6c5 pin down LLVM used for IRRT 2023-11-25 20:15:29 +08:00
fcda360ad6 flake: update dependencies 2023-11-24 18:11:25 +08:00
87c20ada48 windows: switch to CLANG64 MSYS2
For compatibility with MSVC (Anaconda and others).
2023-11-24 18:10:00 +08:00
38e968cff6 gitignore: fix msys2 path 2023-11-24 17:18:17 +08:00
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
0af1e37e99 core: Prefix all NumPy/SciPy functions with np_/sp_spec 2023-11-23 13:35:23 +08:00
854e33ed48 meta: Update cargo dependencies 2023-11-23 13:31:24 +08:00
f020d61cbb update ARTIQ version used for PGO profiling 2023-11-11 11:10:58 +08:00
10538b5296 core: Update insta snapshots 2023-11-09 13:00:27 +08:00
d322c91697 core: Change bitshift operators to accept int32/uint32 for RHS operand 2023-11-09 12:16:20 +08:00
3231eb0d78 core: Add compile-time error and runtime assertion for negative shifts 2023-11-09 12:16:20 +08:00
1ca4de99b9 update ARTIQ version used for PGO profiling 2023-11-08 17:29:29 +08:00
bf4b1aae47 update dependencies 2023-11-08 17:23:49 +08:00
08a5050f9a core: Implement non-trivial builtin functions using IRRT 2023-11-06 12:57:23 +08:00
c2ab6b58ff artiq: Implement with legacy_parallel block 2023-11-04 13:42:44 +08:00
0a84f7ac31 Add CodeGenerator::gen_block and refactor to use it 2023-11-04 13:42:44 +08:00
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
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
2e055e8ab1 core: Replace rint implementation with LLVM intrinsic 2023-11-04 13:35:53 +08:00
9d737743c1 standalone: Add regression test for numeric primitive operations 2023-11-03 16:24:26 +08:00
c6b9aefe00 core: Fix int32-to-uint64 conversion
This conversion should be sign-extended.
2023-11-03 16:24:26 +08:00
8ad09748d0 core: Fix conversion from float to unsigned types
These conversions also need to wraparound.
2023-11-03 16:24:26 +08:00
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
447eb9c387 standalone: Fix output format string for output_uint* 2023-11-03 16:24:26 +08:00
92d6f0a5d3 core: Implement bitwise not for unsigned ints and fix implementation 2023-11-03 16:24:26 +08:00
7e4dab15ae standalone: Add math tests for non-number arguments 2023-11-01 18:03:29 +08:00
ff1fed112c core: Rework gamma/gammaln to match SciPy behavior
Matches behavior for infinities and NaNs.
2023-11-01 18:03:29 +08:00
36a6a7b8cd core: Replace TopLevelDef comments with documentation 2023-11-01 18:03:29 +08:00
2b635a0b97 core: Implement numpy and scipy functions 2023-11-01 18:03:29 +08:00
60ad100fbb core: Implement and expose {isinf,isnan} 2023-11-01 18:03:29 +08:00
316f0824d8 flake: Add scipy 2023-11-01 18:03:29 +08:00
7cf7634985 core: Add create_fn_by_* functions
Used for abstracting the creation of function from different sources.
2023-11-01 18:03:29 +08:00
068f0d9faf core: Do not cast floor/ceil result to int
NumPy explicitly states that the return type of the floor/ceil is float.
2023-11-01 18:03:29 +08:00
95810d4229 core: Remove {ceil64,floor64,round,round64}
These are not present in NumPy or Artiq.
2023-11-01 18:03:29 +08:00
630897b779 standalone: Do not output sign if float is NaN
Matches behavior in Python.
2023-11-01 18:03:29 +08:00
e546535df0 flake: update nixpkgs 2023-11-01 15:53:47 +08:00
352f70b885 artiq: Update host exception list to match possibly thrown types 2023-11-01 13:28:48 +08:00
e95586f61e core: Fix IR generation of for loop containing break/continue
Fix cases where the body BB would have two terminators because of a
preceding continue/break statement already emitting a terminator.
2023-11-01 13:21:27 +08:00
bb27e3d400 standalone: Fix indentation of demo.c 2023-11-01 13:20:26 +08:00