dzaima
fe071b641f
handle more cases of ⍉⎉n & «⎉n & »⎉n
2023-04-22 18:44:21 +03:00
dzaima
1c041fd968
move emptiness checks to where needed
2023-04-22 18:34:29 +03:00
dzaima
e4d38f571d
move k==0 case out of for_cells_c1
2023-04-22 18:34:25 +03:00
dzaima
edf1f2df7e
merge_fill_result changes
...
incl. fixing when rr==k
2023-04-22 18:34:18 +03:00
dzaima
78764ec47c
move SLICE source refcount incrementing outside of loop
2023-04-22 18:33:39 +03:00
dzaima
b10a87fe00
merge ˘ & ⎉
2023-04-22 18:31:29 +03:00
dzaima
1ffc141919
move toCells & toKCells to cells.c
2023-04-22 18:31:24 +03:00
dzaima
1de59d6ee8
reorder functions
2023-04-22 17:20:05 +03:00
dzaima
663fe29a89
move monadic ⎉ to slice macros
2023-04-22 17:20:05 +03:00
dzaima
078ee7af97
use c2fn in insert_base
2023-04-22 17:20:05 +03:00
dzaima
d2ac5db1c8
move ⎉ & ˘ to their own file
2023-04-22 17:20:05 +03:00
dzaima
3e9f1ce1b0
arr_shErase
2023-04-22 16:33:55 +03:00
dzaima
6c988c3804
ptr_incBy
2023-04-22 13:06:13 +03:00
dzaima
e0479adee4
fix rank overflow check in 𝕨⥊𝕩
2023-04-22 11:53:54 +03:00
dzaima
20b3867581
change %c in format strings to u32 unicode codepoint
2023-04-22 10:58:25 +03:00
dzaima
2f59dec8b7
fix fallback profiler_start signature
2023-04-22 01:27:46 +03:00
Marshall Lochbaum
b6590b0eab
Move Insert implementation to fold.c, except the generic case
2023-04-21 22:00:08 +03:00
dzaima
e276779eca
fix heapverify
2023-04-21 21:53:11 +03:00
dzaima
6d7b679234
fast path for comparing equal-pointer typed arrays
2023-04-21 17:57:58 +03:00
dzaima
58ac287ef6
handle array-atom comparison separately from array-array
2023-04-21 17:55:38 +03:00
dzaima
a7ceda6b28
fix float NaN comparison
2023-04-21 17:55:38 +03:00
dzaima
c3347d6815
move f32 to h.h, add reinterpreting helper methods
2023-04-21 16:32:35 +03:00
dzaima
9bb7fa406b
add assertion for arr_shReplace rank expectation
2023-04-21 15:50:42 +03:00
dzaima
01b17ea0d9
remove now-unnecessary workaround for float constant
2023-04-21 15:46:54 +03:00
dzaima
d127059de8
more gcc complaints
2023-04-21 13:48:24 +03:00
dzaima
01d64e4112
gcc complains about this now for whatever reason
2023-04-19 22:48:24 +03:00
dzaima
e45bd78f25
fix comparison of empty high-rank arrays
2023-04-19 22:42:28 +03:00
dzaima
d13f3fad94
fix ∧𝕩 & ∨𝕩 on high-rank zero-cell input
2023-04-19 21:52:38 +03:00
dzaima
53fe627e6e
allow hashing operation type wrappers
2023-04-19 21:40:29 +03:00
dzaima
1bc439c214
ARMO needs source mapping
2023-04-17 13:19:38 +03:00
dzaima
c57e0ba135
more fixes for overflow checking
2023-04-17 13:07:50 +03:00
dzaima
c2754e0fff
don't OOM in 𝕨↑𝕩 with 0≡×´𝕨 if product of prefix overflows
2023-04-17 12:53:02 +03:00
dzaima
a622a6761b
use vtestz/vptestz instead of movemask for mask-any checks
2023-04-15 15:10:58 +03:00
dzaima
712707d27b
integer avx2 bitwise operation definitions
...
mainly for reduced casts in C output
2023-04-15 15:00:57 +03:00
dzaima
722107e470
move makeOptBranch to base.singeli, use in search
2023-04-15 12:32:14 +03:00
dzaima
147d4530c1
slightly better overflow check for i8×i8→i8
2023-04-15 01:53:04 +03:00
dzaima
bbb9e7f0ed
don't overflow-check widening array-scalar cases when not needed
2023-04-15 01:19:09 +03:00
dzaima
04ccf9fd49
add compare.c to single.c
2023-04-14 21:24:51 +03:00
dzaima
a2d27c69be
make √, ⋆, •math.Atan2 behave as if ¯0 was 0
2023-04-14 21:22:18 +03:00
dzaima
51e34c55d3
make division not care about sign of 𝕩
2023-04-14 20:24:36 +03:00
dzaima
08885fabad
remove extraneous v+0 in normalizeFloat
2023-04-14 20:06:54 +03:00
dzaima
55da9e99d6
reorganize equality checks more
2023-04-14 20:06:36 +03:00
dzaima
f001841d17
move comparison functions to separate file
2023-04-14 18:11:49 +03:00
dzaima
3623fbd5ba
equality check cleanup
2023-04-14 18:09:38 +03:00
dzaima
2413236d51
format ¯0 as 0
2023-04-14 16:28:27 +03:00
dzaima
ee47921b43
normalize ¯0
2023-04-14 16:28:27 +03:00
dzaima
2fd390ebf8
better fix for character 𝕨∊𝕩 & 𝕨⊐𝕩
2023-04-14 15:42:58 +03:00
dzaima
94bcc4bcc1
make debugger helpers print to stderr
2023-04-14 14:58:11 +03:00
dzaima
1c8916949e
fix ⊏ with odd shape 𝕩 & depth 2 𝕨
2023-04-14 00:14:57 +03:00
dzaima
68c3ba3aa0
fix leak in dyadic Insert with an empty argument
2023-04-14 00:05:39 +03:00
dzaima
4d3db9ca0b
fix ∊ & ⊐ being broken on one c8 & one c16 argument
2023-04-14 00:05:23 +03:00
dzaima
44ce033e73
fix leak in dyadic scan with an empty argument
2023-04-14 00:05:23 +03:00
dzaima
102a696164
fix ⟨2⟩↕a
2023-04-13 22:22:50 +03:00
dzaima
4f382476ff
src/README.md GC notes & other cleanup
2023-04-13 22:03:17 +03:00
dzaima
6239e2f2dd
add binary mode flag to fopen calls
2023-04-13 15:54:34 +03:00
dzaima
1db746ea77
Singeli compile-time cdiv & low-stack @collect
2023-04-09 15:03:44 +03:00
dzaima
b66f628cff
tiny improvements to plus-scan
2023-04-09 12:09:52 +03:00
dzaima
9951f20751
clean up some error messages
2023-04-08 22:12:15 +03:00
dzaima
52dc05f228
SIMD +`
2023-04-08 20:04:23 +03:00
dzaima
6a0385b44b
better Singeli abs & absu definitions
2023-04-08 19:23:55 +03:00
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
5a2b755191
move non-AVX2 x86-64 into SINGELI_SIMD
2023-04-02 15:55:49 +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
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
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
c513724fd4
hide clangd warning
...
and remove whitespace which was previously used for alignment
2023-03-31 14:27:43 +03:00