lyken
b940b0a3a1
core: irrt refactor print & add print_ndarray
2024-07-15 12:05:17 +08:00
lyken
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
lyken
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
lyken
61dd9762d8
core: irrt add unchecked ndarray broadcasting
2024-07-15 00:49:07 +08:00
lyken
cc8103152f
core: irrt add unchecked ndarray slicing
2024-07-15 00:48:14 +08:00
lyken
b8c0d5836f
core: replace NDArray type in get_llvm_type()
2024-07-15 00:01:02 +08:00
lyken
0cc7e41c6f
core: fix new irrt ndarray issues
2024-07-15 00:00:41 +08:00
lyken
d92cccb85e
core: irrt split ndarray.hpp
2024-07-14 23:35:50 +08:00
lyken
3344a2bcd3
core: new np_{zeros,ones,fill} + some irrt model additions
2024-07-14 23:16:28 +08:00
lyken
51a099b602
core: irrt error context mechanism
2024-07-14 22:34:23 +08:00
lyken
1f2bb80812
core: lift SizeVariant to /util.rs
2024-07-14 22:34:23 +08:00
lyken
709844b855
core: inkwell model abstraction
2024-07-14 22:34:21 +08:00
lyken
73937730e0
core: -I irrt/ & #include absolute paths
2024-07-14 17:09:48 +08:00
lyken
5faac4b9d4
core: build.rs to capture IR global constants
2024-07-13 23:37:26 +08:00
lyken
c4d54b198b
core: add llvm.lifetime.{start.end}
2024-07-13 23:37:26 +08:00
lyken
9ad7a78dbe
core: build.rs rewrite regex to capture `= type`
2024-07-13 23:37:26 +08:00
lyken
1721ebac66
core: introduce irrt_test
2024-07-13 23:37:24 +08:00
lyken
f033639415
core: split irrt.cpp into headers
2024-07-12 21:53:15 +08:00
lyken
3116f11814
core: comment build.rs & move irrt to its own dir
2024-07-12 21:52:55 +08:00
lyken
5047379ac0
core: irrt build with -W=return-type
2024-07-12 21:19:38 +08:00
lyken
6c10e3d056
core: cargo clippy
2024-07-12 21:18:53 +08:00
lyken
2dbc1ec659
cargo fmt
2024-07-12 21:16:38 +08:00
abdul124
513d30152b
core: support raise exception short form
2024-07-12 18:58:34 +08:00
abdul124
2e01b77fc8
core: refactor np_max/np_min functions
2024-07-12 18:18:54 +08:00
abdul124
cea7cade51
core: add np_argmax/np_argmin functions
2024-07-12 18:18:28 +08:00
abdul124
eeb474f9e6
core: reduce code duplication in codegen/extern_fns ( #453 )
...
Used macros to reduce code duplication in `codegen/extern_fns`
Reviewed-on: M-Labs/nac3#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
abdul124
88b72af2d1
core/llvm_intrinsic: improve macro name and comments
2024-07-09 16:30:32 +08:00
abdul124
b73f6c4d68
core: reduce code duplication in codegen/llvm_intrinsic
2024-07-09 16:30:32 +08:00
David Mak
a91602915a
core: Fix missing fields in range type
2024-07-09 13:53:50 +08:00
David Mak
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
David Mak
bc40a32524
core: Add report_type_error to enable more code reuse
2024-07-09 13:44:47 +08:00
David Mak
c820daf5f8
core: Apply cargo format
2024-07-09 13:32:10 +08:00
David Mak
2cfb7a7e10
core: Refactor range function into constructor
2024-07-09 04:44:40 +08:00
lyken
76defac462
meta: use clang -x c++ instead of clang++
2024-07-07 20:03:34 +08:00
lyken
650f354b74
core: use C++ for irrt source
2024-07-07 14:36:10 +08:00
abdul124
f062ef5f59
core/llvm_intrinsic: replace roundeven with rint
2024-07-07 14:24:18 +08:00
lyken
f52086b706
core: improve binop and cmpop error messages
2024-07-05 16:27:24 +08:00
lyken
0a732691c9
core: refactor typecheck/magic_methods.rs operators & add op symbol name
2024-07-05 16:27:20 +08:00
lyken
cbff356d50
core: workaround inkwell on `llvm.stackrestore`
2024-07-05 13:56:12 +08:00
lyken
24ac3820b2
core: check int32 obj_id directly in fold_numpy_function_call_shape_argument
2024-07-05 10:36:47 +08:00
David Mak
c4052b6342
core: Implement multi-operand __eq__ and __ne__ for lists
2024-07-04 16:01:15 +08:00
David Mak
66c205275f
core: Implement list::__add__
2024-07-04 16:01:11 +08:00
David Mak
c85e412206
core: Implement list::__mul__
2024-07-04 15:53:50 +08:00
David Mak
075536d7bd
core: Add BreakContinueHooks for gen_for_callback
2024-07-04 15:32:18 +08:00
David Mak
13beeaa2bf
core: Implement handling for zero-length lists
2024-07-04 15:32:18 +08:00
David Mak
2194dbddd5
core/type_annotation: Refactor List type to TObj
...
In preparation for operators on lists.
2024-07-04 15:32:18 +08:00
lyken
d6565feed3
core: ndarray_from_ndlist_impl cast size_of to usize
2024-07-04 12:24:52 +08:00
abdul124
83154ef8e1
core/llvm_intrinsics: remove llvm.roundeven call from call_float_roundeven
2024-07-03 14:17:47 +08:00
lyken
0744b938b8
core: fix __nac3_ndarray_calc_size crash due to incorrect typing
2024-07-03 13:03:14 +08:00
lyken
56fa2b6803
core: fix crash on iterating over non-iterables
...
a
2024-06-28 15:45:53 +08:00