David Mak
|
075ea32412
|
core: Infer builtins name list using builtin declaration list
|
2023-12-08 15:51:36 +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 |
David Mak
|
ff1fed112c
|
core: Rework gamma/gammaln to match SciPy behavior
Matches behavior for infinities and NaNs.
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
36a6a7b8cd
|
core: Replace TopLevelDef comments with documentation
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
2b635a0b97
|
core: Implement numpy and scipy functions
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
60ad100fbb
|
core: Implement and expose {isinf,isnan}
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
316f0824d8
|
flake: Add scipy
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
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 |
David Mak
|
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 |
David Mak
|
95810d4229
|
core: Remove {ceil64,floor64,round,round64}
These are not present in NumPy or Artiq.
|
2023-11-01 18:03:29 +08:00 |
David Mak
|
630897b779
|
standalone: Do not output sign if float is NaN
Matches behavior in Python.
|
2023-11-01 18:03:29 +08:00 |
Sebastien Bourdeauducq
|
e546535df0
|
flake: update nixpkgs
|
2023-11-01 15:53:47 +08:00 |
David Mak
|
352f70b885
|
artiq: Update host exception list to match possibly thrown types
|
2023-11-01 13:28:48 +08:00 |
David Mak
|
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 |
David Mak
|
bb27e3d400
|
standalone: Fix indentation of demo.c
|
2023-11-01 13:20:26 +08:00 |
David Mak
|
bb5147521f
|
standalone: Fix indentation of test files
|
2023-11-01 13:20:26 +08:00 |
David Mak
|
9518d3fe14
|
artiq: Fix timeline not resetting upon exiting sequential block
|
2023-10-30 14:04:53 +08:00 |
David Mak
|
cbd333ab10
|
artiq: Extract `parallel` block timeline utilities
|
2023-10-30 14:04:53 +08:00 |
David Mak
|
65d6104d00
|
artiq: Improve IR value naming and add documentation
|
2023-10-30 14:04:53 +08:00 |
David Mak
|
8373a6cb0f
|
artiq: Use gen_block when generating "with sequential"
|
2023-10-30 14:04:53 +08:00 |