496171a4a5
WIP: stuck on #460
2024-07-16 12:28:08 +08:00
d90604b713
WIP
2024-07-16 00:27:50 +08:00
0946bd86ea
core: irrt proper ndarray subscript & more
...
Details:
- improve irrt model
- len() on ndarrays
2024-07-15 21:05:01 +08:00
29734ce3af
core: irrt fix minor formatting
2024-07-15 12:05:47 +08:00
b940b0a3a1
core: irrt refactor print & add print_ndarray
2024-07-15 12:05:17 +08:00
b12d7fcb2d
core: irrt improve test_ndarray_subscript
...
- rewrote some comments
- add test_ndsubscript_index_subscript_out_of_bounds
2024-07-15 11:54:32 +08:00
628965e519
core: irrt reformat & more progress
...
progress details:
- organize test suite sources with namespaces
- organize ndarray implementations with namespaces
- remove extraneous code/comment
- add more tests
- some renaming
- fix pre-existing bugs
- ndarray::subscript now throw errors
2024-07-15 11:50:45 +08:00
61dd9762d8
core: irrt add unchecked ndarray broadcasting
2024-07-15 00:49:07 +08:00
cc8103152f
core: irrt add unchecked ndarray slicing
2024-07-15 00:48:14 +08:00
b8c0d5836f
core: replace NDArray type in get_llvm_type()
2024-07-15 00:01:02 +08:00
0cc7e41c6f
core: fix new irrt ndarray issues
2024-07-15 00:00:41 +08:00
d92cccb85e
core: irrt split ndarray.hpp
2024-07-14 23:35:50 +08:00
3344a2bcd3
core: new np_{zeros,ones,fill} + some irrt model additions
2024-07-14 23:16:28 +08:00
51a099b602
core: irrt error context mechanism
2024-07-14 22:34:23 +08:00
1f2bb80812
core: lift SizeVariant to /util.rs
2024-07-14 22:34:23 +08:00
709844b855
core: inkwell model abstraction
2024-07-14 22:34:21 +08:00
73937730e0
core: -I irrt/ & #include absolute paths
2024-07-14 17:09:48 +08:00
5faac4b9d4
core: build.rs to capture IR global constants
2024-07-13 23:37:26 +08:00
c4d54b198b
core: add llvm.lifetime.{start.end}
2024-07-13 23:37:26 +08:00
9ad7a78dbe
core: build.rs rewrite regex to capture = type
2024-07-13 23:37:26 +08:00
1721ebac66
core: introduce irrt_test
2024-07-13 23:37:24 +08:00
f033639415
core: split irrt.cpp into headers
2024-07-12 21:53:15 +08:00
3116f11814
core: comment build.rs & move irrt to its own dir
2024-07-12 21:52:55 +08:00
5047379ac0
core: irrt build with -W=return-type
2024-07-12 21:19:38 +08:00
6c10e3d056
core: cargo clippy
2024-07-12 21:18:53 +08:00
2dbc1ec659
cargo fmt
2024-07-12 21:16:38 +08:00
c80378063a
add np_argmin/argmax to interpret_demo environment
2024-07-12 13:27:52 +02:00
513d30152b
core: support raise exception short form
2024-07-12 18:58:34 +08:00
45e9360c4d
standalone: Add np_argmax and np_argmin tests
2024-07-12 18:19:56 +08:00
2e01b77fc8
core: refactor np_max/np_min functions
2024-07-12 18:18:54 +08:00
cea7cade51
core: add np_argmax/np_argmin functions
2024-07-12 18:18:28 +08:00
d658d9b00e
update dependencies, Python 3.12 on Linux
2024-07-09 23:56:12 +08:00
eeb474f9e6
core: reduce code duplication in codegen/extern_fns ( #453 )
...
Used macros to reduce code duplication in `codegen/extern_fns`
Reviewed-on: #453
Co-authored-by: abdul124 <ar@m-labs.hk>
Co-committed-by: abdul124 <ar@m-labs.hk>
2024-07-09 16:31:08 +08:00
88b72af2d1
core/llvm_intrinsic: improve macro name and comments
2024-07-09 16:30:32 +08:00
b73f6c4d68
core: reduce code duplication in codegen/llvm_intrinsic
2024-07-09 16:30:32 +08:00
f47cdec650
standalone: Fix output format of output_range
2024-07-09 13:55:48 +08:00
d656880e44
standalone: Fix missing implementation for output_range
2024-07-09 13:53:50 +08:00
a91602915a
core: Fix missing fields in range type
2024-07-09 13:53:50 +08:00
1c56005a01
core: Reformat and modernize irrt.cpp
...
- Use anon namespace instead of static
- Use using declaration instead of typedef
- Align pointers to the type instead of the identifier
2024-07-09 13:53:50 +08:00
bc40a32524
core: Add report_type_error to enable more code reuse
2024-07-09 13:44:47 +08:00
c820daf5f8
core: Apply cargo format
2024-07-09 13:32:10 +08:00
25d2de67f7
standalone: Add output_range and tests
2024-07-09 04:44:40 +08:00
2cfb7a7e10
core: Refactor range function into constructor
2024-07-09 04:44:40 +08:00
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
76defac462
meta: use clang -x c++ instead of clang++
2024-07-07 20:03:34 +08:00
650f354b74
core: use C++ for irrt source
2024-07-07 14:36:10 +08:00
f062ef5f59
core/llvm_intrinsic: replace roundeven with rint
2024-07-07 14:24:18 +08:00
f52086b706
core: improve binop and cmpop error messages
2024-07-05 16:27:24 +08:00
0a732691c9
core: refactor typecheck/magic_methods.rs operators & add op symbol name
2024-07-05 16:27:20 +08:00
cbff356d50
core: workaround inkwell on llvm.stackrestore
2024-07-05 13:56:12 +08:00