Commit Graph

56 Commits

Author SHA1 Message Date
dzaima
215a3cad3b fix interleave_cells generic path 2024-09-13 19:39:08 +03:00
dzaima
8fd897690f move customizeShape into stuff.h 2024-09-12 06:47:06 +03:00
dzaima
27b7c0746c full interleave_cells
needed to make all rank-1 inputs work on non-Singeli builds, but beneficial in general anyway
2024-09-12 06:17:32 +03:00
dzaima
e9cf8ac330 fix try_interleave_cells on copying TO_BPTR 2024-09-12 05:40:11 +03:00
dzaima
c0e3a3711f fast scalar≍˘arr & arr≍˘scalar & different-type arr≍˘arr 2024-09-12 05:38:34 +03:00
dzaima
03fbb17246 fix broken arr_bptr path in transpose_noshape 2024-09-09 17:55:26 +03:00
dzaima
5ef4fe828b use customizeShape in transpose 2024-08-23 02:21:59 +03:00
dzaima
597fe07838 another incG 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
88de336516 introduce bitany_ptr
+ more general typed arr pointer getting functions
2024-08-15 17:36:43 +03:00
dzaima
a9460da19c more missing NEON comments 2024-08-14 05:18:13 +03:00
dzaima
f14583f995 faster ⍉ on large‿small⥊x 2024-05-22 20:07:48 +03:00
dzaima
875f9185bf use ux a tiny bit more, add a PLAINLOOP 2024-02-27 00:37:47 +02:00
dzaima
592a8312ac a bunch of PLAINLOOP 2024-02-01 21:26:08 +02:00
dzaima
c078f62b1f add GLOBAL, INIT_GLOBAL, or const to globals 2024-02-01 21:13:39 +02:00
dzaima
041be9a612 rearrange elses to get rid of clangd warning 2024-01-28 02:29:03 +02:00
Marshall Lochbaum
dbb6fbade1 Fast interleaving (≍˘) for pointer arrays 2023-12-31 16:28:59 -05:00
Marshall Lochbaum
3584ebd7a6 Non-BMI2 bit interleaving implementation 2023-12-30 21:45:24 -05:00
Marshall Lochbaum
eb34213f0f Fast ≍˘ for matching-type type-sized cells 2023-12-30 21:45:24 -05:00
dzaima
f037754880 more specific empty array types 2023-11-13 23:16:02 +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
81a291f860 round up some pointers 2023-08-25 03:47:05 +03:00
dzaima
0598ce8357 use getFillQ less 2023-05-09 00:14:14 +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
0aca470931 more explicit inline requiring 2023-04-06 13:12:11 +03:00
dzaima
0180a54207 quiet gcc warning 2023-03-31 16:34:08 +03:00
dzaima
c513724fd4 hide clangd warning
and remove whitespace which was previously used for alignment
2023-03-31 14:27:43 +03:00
dzaima
baa1281efe don't assume select returns refcount 1 array
that probably would be a safe assumption right now, but who knows about the future; cpyWithShape should return back its argument directly if it already has refcount 1 anyway
2023-03-31 14:14:13 +03:00
dzaima
413b49de30 don't assume sizeof(ur)==1 2023-03-31 13:44:32 +03:00
Marshall Lochbaum
69e2f6c690 Convert ⍉˘ with atom or no left argument to dyadic ⍉ 2023-03-30 21:25:21 -04:00
Marshall Lochbaum
9fe6a2e7b2 Under for invertible Reorder Axes 2023-03-30 19:07:09 -04:00
Marshall Lochbaum
d53f3dbd72 Native dyadic ⍉⁼ 2023-03-30 19:02:45 -04:00
Marshall Lochbaum
89016fc88d Update Reorder Axes implementation comments 2023-03-29 20:23:16 -04:00
Marshall Lochbaum
597e25af4d Full simplification pass for Reorder Axes 2023-03-29 20:08:36 -04:00
Marshall Lochbaum
d492cd0865 And strided height, so all orders are fast if axes are long 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
e923a71881 Use strided width in transpose-based Reorder Axes 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
814a677676 Make transpose movement functions strided 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
de18fb996b Save a shape object in Reorder Axes 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
7fea4ca2ad Combine transp_c2 temp allocations into one TALLOC 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
5b17ee44d6 SIMD kernel for Reorder Axes transposing last two axes 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
8413461074 Fast bottom-level loop for Reorder Axes loop structure 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
bbedbbc585 Transpose large cells with mut_copyG 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
b829076271 Put CPU-size transpose functions in a table 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
410d51501d Check for AVX2 in Singeli transpose so it can build on non-x86 architectures 2023-03-29 12:37:15 -04:00
Marshall Lochbaum
ebbddf9dcf Move height/width 2 transposes to Singeli 2023-03-28 16:11:46 -04:00
Marshall Lochbaum
37f481ea0d Separate out transpose data movement function and share with monadic ⍉⁼ 2023-03-28 16:11:46 -04:00
Marshall Lochbaum
3c32844fe0 Separate out transpose_move function and use for el_B 2023-03-28 16:11:46 -04:00
Marshall Lochbaum
968bfd2fc6 Separate transpose el_B case and fix dropped fill for shape 2‿n 2023-03-28 16:11:46 -04:00