dzaima
0467e1c894
use *arrv_ptr more
2024-08-15 17:36:43 +03:00
dzaima
5098781ffc
replace all bitarr_ptr usages with bitany_ptr
2024-08-15 17:36:43 +03:00
dzaima
2ca2c52c16
use direct bitwiden & bitnarrow in select-rows
2024-08-14 05:18:13 +03:00
dzaima
c445f24aae
COPY_TO_FROM
2024-08-14 05:18:13 +03:00
dzaima
6d7648c947
more things that could be select-rows'd
2024-08-14 05:18:13 +03:00
dzaima
5748833060
fast inds⊸⊏˘bits for ≤8-bit input & output cells
2024-08-14 05:18:13 +03:00
dzaima
bc81b26a03
use fast path for inds⊸⊏˘el_B and ⌽˘el_B
2024-07-29 01:51:59 +03:00
dzaima
6900ae4b68
fix ⌽˘ 0‿10⥊2 and (↕0)⊸⊏˘ 10‿10⥊2
2024-07-29 00:45:01 +03:00
dzaima
52f36c61c0
fix 0‿1⊸⊏˘3‿1⥊2; accept any non-empty array x in select_rows_typed→select_rows_direct
2024-07-29 00:25:09 +03:00
dzaima
3a722b552f
⌽⎉1 x via (⌽↕¯1⊑≢x)⊸⊏⎉1 x
2024-07-28 22:24:34 +03:00
dzaima
39f4a66ae0
cleanup
2024-07-28 03:55:22 +03:00
dzaima
d1d8e8be03
fix assertion on F⌾(⟨⟩⊸⊏) x
2024-07-26 23:25:26 +03:00
dzaima
93fca7c628
fix overflow in index widening
2024-07-26 22:17:49 +03:00
dzaima
a486e87451
select-cells comments
2024-07-26 22:17:49 +03:00
dzaima
69ca524251
widen inds outside select-cells loops
2024-07-26 22:17:49 +03:00
dzaima
fce7567349
widen bits in bits⊸⊏˘mat to i8
2024-07-26 22:16:23 +03:00
dzaima
478c389c4b
fast inds⊸⊏˘ mat
2024-07-26 22:16:23 +03:00
dzaima
0d7bf86182
baseline inds⊸⊏˘ mat
2024-07-26 22:16:23 +03:00
dzaima
f7dd900b3a
faster 𝕨⊏𝕩, incl. aarch64 support
2024-07-26 00:01:54 +03:00
dzaima
2ca488dd66
aarch64 bool128 select
2024-07-26 00:01:54 +03:00
dzaima
2b323817ca
make 𝕨⊏𝕩 error messages not differ across types
2024-07-26 00:01:54 +03:00
dzaima
52fb05fcd4
unify ⌾(a⊸⊏) typed array paths, fix csz==0
2024-05-20 01:03:57 +03:00
Andrea Piseri
60a28a40ca
Clean up collision checking, use vector copy functions
2024-05-19 16:59:55 +02:00
dzaima
9f6151d92d
expand ⌾(a⊸⊏) tests, stylistic changes/cleanup
2024-05-19 02:14:08 +03:00
Andrea Piseri
99a23a97d8
Fix typo in the error message
2024-05-19 00:10:28 +02:00
Andrea Piseri
3738d0d65d
Formatting
2024-05-18 23:58:11 +02:00
Andrea Piseri
93188a9f90
Use COPY_TO and EQFN in the typed array code path
2024-05-18 23:56:13 +02:00
Andrea Piseri
06808414da
Separate code path for cxsz=1, fix out of bounds read for RNK(x)==0
2024-05-18 21:45:18 +02:00
Andrea Piseri
7f28308e44
native path in select_ucw for high rank 𝕩
...
`𝔽⌾(a⊸⊏)𝕩` now does not need to go through the self-hosted runtime if
`1<=𝕩`. Instead the `select_replace` helper function is parametrized
over the length of `𝕩` (`xl`) and item amount of the cell of `𝕩` (`xcia`).
- The `EQ` macro is modified to not immediately mark the cell as
populated, so that multiple replacements can be done on the cell
on the first assignment to it.
- The `DONE_CW` macro is invoked to mark the current cell as populated
when every element in it has been assigned.
- A loop over the cell contents is introduced to copy the elements in
`𝕩`. This should be fine as it is an easily predictable jump,
but a performance regression is possible and a separate code path
could be introduced in the future.
The change introduces more extensive checking on the shape of `𝔽`'s
result, as for high rank `𝕩` the requirement should be `(≢𝔽a⊏𝕩)≡(≢a)∾1↓≢𝕩`.
The old behaviour of `select_replace` is recovered by passing `xl=xia`
and `xcia=1` in the implementation of `pick_ucw`.
2024-05-18 12:12:17 +02:00
dzaima
ac069134c3
fix ⟨1.5⟩ ⊏ "ab"‿"cd"
2024-03-25 16:18:01 +02:00
dzaima
a94903cb12
fix 𝕨⊏unit
2024-03-25 16:18:01 +02:00
dzaima
c078f62b1f
add GLOBAL, INIT_GLOBAL, or const to globals
2024-02-01 21:13:39 +02:00
dzaima
f0c1962596
more typed ⌾(list⊸⊏)
2023-12-19 17:41:17 +02:00
dzaima
8c7a3be036
remove unused includes
2023-11-13 21:48:01 +02:00
dzaima
5efd90cc91
rename elWidthLogBits to something less long & add byte variant
2023-09-12 19:58:56 +03:00
dzaima
78bef5fe32
consistent 𝕨⊏𝕩 error messages across argument types
2023-05-30 14:28:36 +03:00
dzaima
df348896fd
add a NOGC_E for conflicting⌾(list⊸⊏) generic
2023-05-19 22:51:02 +03:00
dzaima
c1488cbf72
faster arr⌾(is⊸⊏)list
2023-05-19 14:15:25 +03:00
dzaima
0572fcc5b2
native F⌾(list⊸⊑) & ⌾(listOfLists⊸⊑)
2023-05-18 01:54:01 +03:00
dzaima
0598ce8357
use getFillQ less
2023-05-09 00:14:14 +03:00
dzaima
bb7c37960e
a round of more incG/incByG
2023-04-29 17:39:13 +03:00
dzaima
3b580cbd0c
rename unit creation methods
2023-04-29 17:39:13 +03:00
dzaima
865257fdb6
more header file cleanup
2023-04-29 17:39:13 +03:00
dzaima
1c8916949e
fix ⊏ with odd shape 𝕩 & depth 2 𝕨
2023-04-14 00:14:57 +03:00
dzaima
9951f20751
clean up some error messages
2023-04-08 22:12:15 +03:00
dzaima
3a45eac1aa
separate SSE2, implement SSE2 dyarith & bitsel
...
also separate maskstore to homogeneous & top bit mask variants, and make blend require equal element widths
2023-04-01 20:40:23 +03:00
dzaima
1f70c08aa2
fillarr NOGC
2023-03-26 15:43:59 +03:00
dzaima
8194f51b30
MAKE_MUT_INIT, move mut_init to mut.c
2023-03-11 16:52:09 +02:00
dzaima
01c457b77b
make all cpy.*Arr function results Arr*
2023-03-11 16:51:13 +02:00
dzaima
deee2c7a18
use C1 & C2 more
2023-02-24 15:53:11 +02:00