dzaima
|
c567dff565
|
fix leading-axis operations on empty inputs
|
2023-04-30 19:15:46 +03:00 |
|
dzaima
|
93dd25e0e1
|
fast leading-axis for <>≤≥=≠
|
2023-04-30 19:00:56 +03:00 |
|
dzaima
|
c889a07d75
|
replicate-using leading axis arithmetic case
|
2023-04-30 18:46:41 +03:00 |
|
dzaima
|
1e11cf93c1
|
faster leading axis arithmetic
|
2023-04-30 17:27:07 +03:00 |
|
dzaima
|
048352f587
|
fix 0˝˘ 2‿2⥊0
|
2023-04-29 21:15:46 +03:00 |
|
dzaima
|
0a30c7b4e6
|
more generic n⊸↑⎉k & n⊸↓⎉k & n⊸⍉⎉k
|
2023-04-29 21:10:44 +03:00 |
|
dzaima
|
aae8651e8b
|
fix Arith⌜ with empty 𝕨
|
2023-04-29 20:11:24 +03:00 |
|
dzaima
|
518635d0b9
|
generic 𝕨 ≡⎉¯k 𝕩
|
2023-04-29 20:01:48 +03:00 |
|
dzaima
|
df613ad674
|
w⊸F⎉g x → w F⎉∞‿g x & F⟜x⎉g w → w F⎉g‿∞ x
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
e40d056ee4
|
use err() for unexpected state
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
5e29ec72ce
|
sanity test of mmap address top 16 bits being 0
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
35786d4f5b
|
m_hVec\d → m_hvec\d
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
e200bbc5f9
|
move ↕list to its own function
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
bb7c37960e
|
a round of more incG/incByG
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
a855d03b93
|
use %c in v_merge
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
a0d384060a
|
unify implementations of m_vec1 and m_unit
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
3b580cbd0c
|
rename unit creation methods
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
88c19cedec
|
attempt at cleaning up mut.c a bit
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
56e4863f66
|
typedef c8/c16/c32
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
865257fdb6
|
more header file cleanup
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
aa5ed7cc7a
|
BB2B & BBB2B → FC1 & FC2
|
2023-04-29 15:31:31 +03:00 |
|
dzaima
|
ca13fb567a
|
header file cleanup
|
2023-04-29 13:54:32 +03:00 |
|
dzaima
|
229a32237a
|
slice checking macro refactor
|
2023-04-29 13:24:20 +03:00 |
|
dzaima
|
ba1b853936
|
don't use the cell appender for Arith⌜
|
2023-04-29 13:13:58 +03:00 |
|
dzaima
|
62e2ea96ce
|
zsh needs to be kept alive even for zk==1
|
2023-04-28 21:04:30 +03:00 |
|
dzaima
|
7f0390be3f
|
more error messages
|
2023-04-28 20:49:34 +03:00 |
|
dzaima
|
7dd677a4e2
|
various fill improvements
|
2023-04-28 20:31:44 +03:00 |
|
dzaima
|
7a501ffbdf
|
use APD for ∾list
|
2023-04-28 20:17:44 +03:00 |
|
dzaima
|
5aa896ab38
|
use APD for Arith⌜
|
2023-04-28 19:30:54 +03:00 |
|
dzaima
|
b17d2010c2
|
better error messages
|
2023-04-28 19:25:42 +03:00 |
|
dzaima
|
38b2028374
|
use APD for ˘/⎉
|
2023-04-28 19:25:42 +03:00 |
|
dzaima
|
3761eafd0a
|
fix fills
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
5c64c32aa9
|
allow GC between APD calls, delay shape errors
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
7b877d368f
|
move fill handling to APD
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
2f46b80b82
|
yet another mutable temporary array thing
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
880efa38b4
|
better fill equality checking utilities
|
2023-04-28 18:51:41 +03:00 |
|
dzaima
|
d0e76ec436
|
better selfElType
|
2023-04-28 16:22:13 +03:00 |
|
dzaima
|
34a4d48d95
|
make singeli assertions checked in debug mode
|
2023-04-28 15:10:08 +03:00 |
|
dzaima
|
187eea1197
|
use memcpy for non-tiny equal-size copying
|
2023-04-26 20:19:05 +03:00 |
|
dzaima
|
d43ffd6b62
|
remove no longer needed E_SLICES
|
2023-04-25 22:13:41 +03:00 |
|
dzaima
|
037d36ddab
|
rework for_cells_AA
|
2023-04-25 22:13:13 +03:00 |
|
dzaima
|
586aeaea2d
|
HARR_FP
|
2023-04-25 21:44:55 +03:00 |
|
dzaima
|
23737cc458
|
proper error messages for ⎉ vs ˘
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
77154be2a8
|
testing setup for ˘ & ⎉
incl. toggleable fill testing for !CATCH_ERRORS
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
6d33018788
|
merge dyadic ˘ & ⎉
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
e11d5dd31d
|
•internal.HasFill
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
0b2ed69fba
|
add a NOGC_E in mut_pfree
fixes >⟨"ab"‿1,"a"⟩ in debug builds unnecessarily breaking
|
2023-04-24 01:01:35 +03:00 |
|
dzaima
|
b4a207a924
|
better fix for in-place 𝔽¨𝕩 on fillslice 𝕩
|
2023-04-23 22:49:19 +03:00 |
|
dzaima
|
927814d182
|
fix ⊢¨ {a←𝕩 ⋄ ⥊𝕩} 2‿3⥊<"a"
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
2259e7b6a9
|
fix ↕1‿0‿1e9‿1e9‿1e9 incorrectly erroring
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
9d9c3fe8ac
|
return signal code+128 in exit code on signaling •SH invocation
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
c50674d63a
|
always overallocate by 4 bytes in 32-bit output case for /bitarr
|
2023-04-23 15:11:58 +03:00 |
|
dzaima
|
10edc75f09
|
use c1fn for monadic ˘/⎉
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
6d5cee1cdc
|
extract one-call case to noinline function
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
1ff31f1df3
|
don't hard-code VERIFY_TAIL size
+ improve error message
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
5395d1eb08
|
cleanup
|
2023-04-22 19:10:58 +03:00 |
|
dzaima
|
36b99d3505
|
handle more cases of ⊏⎉n & ⊑⎉n
|
2023-04-22 18:44:21 +03:00 |
|
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 |
|