lyken
6fe17c71e3
core/ndstrides: implement np_transpose() (no axes argument)
2024-08-20 23:31:29 +08:00
lyken
578b53d8ce
core: categorize np_{transpose,reshape} as 'view functions'
2024-08-20 23:31:26 +08:00
lyken
b216c82875
core/ndstrides: implement np_size()
2024-08-20 23:31:23 +08:00
lyken
dae0eff771
core/ndstrides: implement np_shape() and np_strides()
...
These functions are not important, but they are handy for debugging +
implementing them takes little effort.
NOTE: `np.strides()` is not an actual NumPy function. You can only(?)
access them thru `ndarray.strides`.
2024-08-20 23:31:04 +08:00
David Mak
b3891b9a0d
standalone: Fix several issues post script refactoring
...
- Add helptext for check_demos.sh
- Add back support for using debug NAC3 for running tests
- Output error message when argument is not recognized
- Fixed last non-demo script argument being ignored
- Add back SSE2 requirement to NAC3 (required for mandelbrot)
2024-08-13 15:19:03 +08:00
David Mak
d0da688aa7
standalone: Add tuple len test
2024-08-13 15:02:59 +08:00
David Mak
ac0d83ef98
standalone: Add vararg.py
2024-08-06 11:48:42 +08:00
lyken
fb9fe8edf2
core: reimplement assignment type inference and codegen
...
- distinguish between setitem and getitem
- allow starred assignment targets, but the assigned value would be a tuple
- allow both [...] and (...) to be target lists
2024-08-05 19:30:48 +08:00
Sébastien Bourdeauducq
669c6aca6b
clean up and fix 32-bit demos
2024-08-05 19:04:25 +08:00
abdul124
63d2b49b09
core: remove np_linalg_matmul
2024-08-05 11:44:55 +08:00
abdul124
bf709889c4
standalone/demo: separate linalg functions from main workspace
2024-08-05 11:44:54 +08:00
abdul124
1c72698d02
core: add np_linalg_det and np_linalg_matrix_power functions
2024-07-31 18:02:54 +08:00
abdul124
54f883f0a5
core: implement np_dot using LLVM_IR
2024-07-31 15:53:51 +08:00
abdul124
4a6845dac6
standalone: add np.transpose and np.reshape functions
2024-07-31 13:23:07 +08:00
abdul124
17171065b1
standalone: link linalg at runtime
2024-07-31 13:23:07 +08:00
abdul124
540b35ec84
standalone: move linalg functions to demo
2024-07-31 13:23:05 +08:00
abdul124
d6a4d0a634
standalone: add linalg methods and tests
2024-07-29 16:48:06 +08:00
David Mak
318a675ea6
standalone: Rename -m32 to -i386
2024-07-29 14:58:58 +08:00
David Mak
32e52ce198
standalone: Revert using uint32_t as slice length
...
Turns out list and str have always been size_t.
2024-07-29 14:58:29 +08:00
David Mak
8c5ba37d09
standalone: Add 32-bit execution tests to check_demo.sh
2024-07-26 13:35:40 +08:00
David Mak
3d3c258756
standalone: Remove support for --lli
2024-07-26 13:32:38 +08:00
David Mak
ed1182cb24
standalone: Update format specifiers for exceptions
...
Use platform-agnostic identifiers instead.
2024-07-26 13:32:37 +08:00
David Mak
fd025c1137
standalone: Use uint32_t for cslice length
...
Matching the expected type of string and list slices.
2024-07-26 13:32:21 +08:00
lyken
44487b76ae
standalone: interpret_demo.py remove duplicated section
2024-07-22 17:23:35 +08:00
lyken
1332f113e8
standalone: fix interpret_demo.py comments
2024-07-22 17:06:14 +08:00
lyken
1a31a50b8a
standalone: fix __nac3_raise def in demo.c
2024-07-17 21:22:08 +08:00
Sebastien Bourdeauducq
c80378063a
add np_argmin/argmax to interpret_demo environment
2024-07-12 13:27:52 +02:00
abdul124
45e9360c4d
standalone: Add np_argmax and np_argmin tests
2024-07-12 18:19:56 +08:00
David Mak
f47cdec650
standalone: Fix output format of output_range
2024-07-09 13:55:48 +08:00
David Mak
d656880e44
standalone: Fix missing implementation for output_range
2024-07-09 13:53:50 +08:00
David Mak
25d2de67f7
standalone: Add output_range and tests
2024-07-09 04:44:40 +08:00
David Mak
9238a5e86e
standalone: Rename output_str to output_strln and add output_str
...
output_str is for outputting strings without newline, and the newly
introduced output_strln now has the old behavior of ending with a
newline.
2024-07-09 04:44:40 +08:00
David Mak
ba32fab374
standalone: Add demos for list arithmetic operators
2024-07-04 16:01:15 +08:00
abdul124
83154ef8e1
core/llvm_intrinsics: remove llvm.roundeven call from call_float_roundeven
2024-07-03 14:17:47 +08:00
lyken
5b11a1dbdd
core: support tuple and int32 input for np_empty, np_ones, and more
2024-06-27 14:30:17 +08:00
David Mak
5bade81ddb
standalone: Add test for multidim array index with one index
2024-06-20 12:50:30 +08:00
David Mak
07adfb2a18
standalone: Add *.ll to Gitignore list
2024-06-19 18:56:15 +08:00
Sébastien Bourdeauducq
f00e458f60
add test for class without __init__
2024-06-19 18:16:54 +08:00
lyken
95de0800b4
core/demo: fix typo in .gitignore
2024-06-13 16:05:33 +08:00
lyken
3d71c6a850
core/demo: gitignore to ignore *.bc & *.o
2024-06-13 16:00:23 +08:00
David Mak
53d44b9595
standalone: Add np_array tests
2024-06-11 16:44:36 +08:00
David Mak
23b2fee4e7
standalone: Add test case for ndarray slicing
2024-06-03 16:40:05 +08:00
David Mak
520e1adc56
core/builtins: Add np_minimum/np_maximum
2024-05-09 15:01:20 +08:00
David Mak
73e81259f3
core/builtins: Add np_min/np_max
2024-05-09 15:01:20 +08:00
David Mak
30c6cffbad
core/builtins: Refactored numpy builtins to accept scalar and ndarrays
2024-05-06 15:38:29 +08:00
David Mak
9566047241
standalone: Fix cbrt never tested
2024-05-06 13:21:54 +08:00
David Mak
c4dc36ae99
standalone: Add explicit `--` for delimiting run args vs NAC3 args
2024-05-06 13:21:54 +08:00
David Mak
847615fc2f
core: Implement numpy.matmul for 2D-2D ndarrays
2024-04-23 10:27:37 +08:00
David Mak
e0f440040c
core/expr: Implement negative indices for ndarray
2024-04-15 12:49:42 +08:00
David Mak
52c731c312
core: Implement Not/UAdd/USub for booleans
...
Not sure if this is deliberate or an oversight, but we implement it
anyway for consistency with other Python implementations.
2024-04-12 18:29:58 +08:00