forked from M-Labs/nac3
1
0
Fork 0
Commit Graph

10 Commits

Author SHA1 Message Date
lyken 7e22f09e6e
core/ndstrides: implement ndarray indexing
The functionality for `...` and `np.newaxis` is there in IRRT, but there
is no implementation of them for @kernel Python expressions because of
M-Labs/nac3#486.
2024-08-25 00:52:41 +08:00
lyken 494616f0d9
core/irrt: rename NDIndex to NDIndexInt
The name `NDIndex` is used in later commits.
2024-08-25 00:52:41 +08:00
lyken 2bbc619151
core/irrt: add Slice and Range
Needed for implementing general ndarray indexing.

Currently the IRRT slice and range have nothing to do with NAC3's slice
and range.
2024-08-25 00:52:41 +08:00
lyken 98b65cf3e2
core/ndstrides: implement ndarray iterator NDIter 2024-08-25 00:52:41 +08:00
lyken 4a26a0e222
core/ndstrides: introduce NDArray
NDArray with strides.
2024-08-25 00:52:41 +08:00
lyken d75c5d460f
core/irrt/exceptions: add debug utils with exceptions 2024-08-24 15:35:00 +08:00
lyken cd69fa07a5
core/irrt/exceptions: allow irrt to raise exceptions
Achieved through defining all the needed Exception ID constants at link
time.

Secondly, since `Exception` is `size_t` dependent, `__nac3_raise()`
takes an opaque pointer to `Exception`, unless IRRT is compiled into
32-bit and 64-bit separately with a defined `size_t` type.
2024-08-24 15:29:04 +08:00
lyken b743603a97
core/irrt: split irrt.cpp into headers 2024-08-24 15:29:04 +08:00
lyken 27a1fc7024
core/irrt: reformat 2024-08-24 15:29:04 +08:00
lyken 2c62b61363
core/irrt: comment build.rs & move irrt to its own dir
To prepare for future IRRT implementations, and to also make cargo
only have to watch a single directory.
2024-08-24 13:04:06 +08:00