Commit Graph

2062 Commits

Author SHA1 Message Date
dzaima
c3fe3c5b42 more Singeli utilities, more Scan fixing 2023-04-07 21:09:46 +03:00
dzaima
3a7bce3aab a bunch of Scan fixes & improvements 2023-04-07 20:41:34 +03:00
dzaima
b0d8bcb428 add argument passing to makeOptBranch 2023-04-06 22:41:20 +03:00
dzaima
897c46df76 aarch64 fold.singeli 2023-04-06 20:17:09 +03:00
dzaima
b3f3190028 SSE2 fold.singeli 2023-04-06 19:49:14 +03:00
dzaima
1d6b33d528 restrict fold_addw to integer input 2023-04-06 19:18:43 +03:00
dzaima
65f25f735d
Merge pull request #73 from mlochbaum/count
Count by vector compare+add
2023-04-06 19:19:25 +03:00
dzaima
d13060f725 move fold to vfold 2023-04-06 19:05:38 +03:00
Marshall Lochbaum
9d7d330a03 Use AVX2 counting for 1-byte counting sort 2023-04-06 11:32:34 -04:00
Marshall Lochbaum
0e5b98c491 Return max from AVX2 counting function 2023-04-06 11:32:34 -04:00
Marshall Lochbaum
4b18466ae2 Clean up and simplify count.singeli; allow longer final block 2023-04-06 11:32:06 -04:00
Marshall Lochbaum
06b4f06e64 Move fold{} from squeeze.singeli to vecfold.singeli 2023-04-06 11:32:06 -04:00
Marshall Lochbaum
2ddcc14852 Use minimum in addition to maximum for AVX2 counting 2023-04-06 11:32:06 -04:00
Marshall Lochbaum
e6a3e846d9 Sum counts in groups of 4 when possible 2023-04-06 11:32:06 -04:00
Marshall Lochbaum
b655dd4771 AVX2 counting function for small-range 1-byte /⁼ 2023-04-06 11:32:04 -04:00
dzaima
ecced53957 test usz=64
also fix MM=2 assertion
2023-04-06 18:17:59 +03:00
dzaima
a0cdcdc898 fix self-search radix-based cases with 64-bit usz 2023-04-06 17:51:58 +03:00
dzaima
cba6ef505a add usz option to build/build 2023-04-06 17:47:31 +03:00
dzaima
5492eae8c5 unrolling for single-element search 2023-04-06 15:42:10 +03:00
dzaima
876914d053 Singeli single-element search 2023-04-06 14:56:49 +03:00
dzaima
a7e2d9ea17 extract single-element search to its own function 2023-04-06 13:38:33 +03:00
dzaima
71f9278a95 use COPY_TO to copy in bqn_readObjArr if possible 2023-04-06 13:37:00 +03:00
dzaima
0aca470931 more explicit inline requiring 2023-04-06 13:12:11 +03:00
dzaima
8b05cd243f fix SSE2 unsigned comparisons 2023-04-05 13:47:16 +03:00
dzaima
7d1fcf2c3a move &~ to base.singeli 2023-04-02 16:33:24 +03:00
dzaima
d02a0e43d8 readme updates 2023-04-02 16:22:43 +03:00
dzaima
5a2b755191 move non-AVX2 x86-64 into SINGELI_SIMD 2023-04-02 15:55:49 +03:00
dzaima
d399e776b0 build.bqn: add ccflags to replxx compiling
now matches readme description & makefile behavior
2023-04-02 15:47:55 +03:00
dzaima
100a188545 fix aarch64 singeli 2023-04-02 15:39:42 +03:00
dzaima
c76adb8b35 default to •internal.EEqual comparing 0 and ¯0 as equal 2023-04-02 15:29:11 +03:00
dzaima
00a5ddcb89 SSE2 squeeze 2023-04-02 15:04:00 +03:00
dzaima
e0a265472c SSE2 extract{x,0} for [4]i32 and [2]i64 2023-04-02 12:10:18 +03:00
dzaima
9209ca5d6d SSE2 copy.singeli 2023-04-02 01:53:16 +03:00
dzaima
5018cf9b2e reduce unnecessary casts in C output 2023-04-01 23:04:55 +03:00
dzaima
9826201343 move neon.singeli type checks to w64/w128 2023-04-01 22:53:38 +03:00
dzaima
a62c21733e SSE2 equal.singeli 2023-04-01 22:08:47 +03:00
dzaima
b0a757eaba reorder & rename things in build.bqn Singeli source list 2023-04-01 21:19:59 +03:00
dzaima
1aa2e4ec6b add sse2 test to x86Cfgs.sh 2023-04-01 20:49:07 +03:00
dzaima
96ee73f644 enable Singeli monadic arith & comparisons on SSE2 2023-04-01 20:40:29 +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
8c76561883 move shared library builds to build.bqn, update readme 2023-03-31 22:17:07 +03:00
dzaima
13eebb1759 move all singeli builds to build.bqn, add has=
also:
include commit-based version by default for build/build
expand things included in --version
don't require Singeli for BMI2 usage in bitarr/bitarr
2023-03-31 19:15:23 +03:00
dzaima
dc2ac37e0a arch-independent Singeli builds 2023-03-31 16:45:29 +03:00
dzaima
0180a54207 quiet gcc warning 2023-03-31 16:34:08 +03:00
dzaima
5367845753
Merge pull request #71 from mlochbaum/transpose
Reorder Axes
2023-03-31 16:29:07 +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