Commit Graph

1170 Commits

Author SHA1 Message Date
dzaima
cf6a290e5c •file.RealPath 2023-07-16 01:42:30 +03:00
dzaima
9cfc3f3f25 various changes on filling arrays with the same element 2023-07-12 16:23:03 +03:00
vylsaz
e4542f70a6 Implement •term.CharN and •term.RawMode for Windows 2023-07-11 03:15:48 +00:00
dzaima
56a1fc3637 use float getting functions for getting floats 2023-07-10 23:48:07 +03:00
dzaima
9b0299d1a5 fix (<1)≠`5⥊1 2023-07-10 23:25:28 +03:00
dzaima
53266ffd88 fix (<1)⌈`↕10 2023-07-10 23:21:36 +03:00
dzaima
acbfcd7302 fix another weird case of 𝕨∾𝕩 2023-07-10 22:55:00 +03:00
dzaima
24fea51bdd fix unshare of fillslice 2023-07-10 22:55:00 +03:00
dzaima
cd7807fba0 NEON constrep 2023-07-10 17:11:15 +03:00
dzaima
1cea42cad3 use getter over 𝕨 for generic 𝕨⍋𝕩
doesn't change perf, but leads to fast amortized long⍋short
2023-07-10 16:50:02 +03:00
Marshall Lochbaum
492e97e2ca Right argument narrowing for numeric Bins 2023-07-10 07:14:44 -04:00
Marshall Lochbaum
9511598aa3 Fast Bins when either argument is boolean 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
1fa00c9c6f Update bins implementation comments 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
0346ff7c2d Use type of ≠𝕨 for Singeli Bins result and allocate outside Singeli 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
38671e3fe9 Fast handling for length-1 𝕨 in Bins 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
302d637129 Allocate binary search result in Singeli, using i8 for vectors 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
70249d8b64 In bins, promote to smallest common int type instead of i32 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
4f93b5849b Fix shape of char⍋num result (was deshaped) 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
ec9b875503 Separate is-sorted check from Bins implementation 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
5424c57b7e Use Singeli float binary search 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
464a53463d Generic Singeli version of 32-bit binary search 2023-07-10 07:13:21 -04:00
dzaima
6b5815dcc2 fix shape of k/n‿1⥊1 2023-07-10 02:40:36 +03:00
dzaima
8975be082b fix •ns.Get error message 2023-07-09 15:58:31 +03:00
dzaima
3ae9b14d64 separate arith inits, add comments on init order 2023-06-23 12:10:42 +03:00
dzaima
336f986986 change error messages in ◶ 2023-06-12 00:52:09 +03:00
dzaima
934a2b5ae3 rearrange things 2023-06-06 21:44:50 +03:00
dzaima
78bef5fe32 consistent 𝕨⊏𝕩 error messages across argument types 2023-05-30 14:28:36 +03:00
dzaima
5738712bbb improve environ declaration 2023-05-30 12:52:00 +03:00
dzaima
55e0409582 don't CTZ(0) in gcd 2023-05-24 15:13:25 +03:00
dzaima
3872f5a625 fix 𝕨∾𝕩 reuse logic 2023-05-22 11:40:37 +03:00
dzaima
b093ebbc66 finish PICK_IDX message 2023-05-22 00:18:59 +03:00
dzaima
fd72ea79c8 another gcc warning 2023-05-21 23:39:18 +03:00
dzaima
d6609df820 reserve •CurrentError with namespace 𝕩 2023-05-20 14:28:37 +03:00
dzaima
7f46de18fc add missed refcount decrements 2023-05-20 01:30:02 +03:00
dzaima
df348896fd add a NOGC_E for conflicting⌾(list⊸⊏) generic 2023-05-19 22:51:02 +03:00
dzaima
0156d13a5e proper arrow in error messages of ⌾(n⊸↓) vs ⌾(n⊸↑) 2023-05-19 17:32:46 +03:00
dzaima
a03fab044d •internal.Keep 2023-05-19 15:41:50 +03:00
dzaima
c1488cbf72 faster arr⌾(is⊸⊏)list 2023-05-19 14:15:25 +03:00
dzaima
f6703df0b2 range calculation functions 2023-05-19 14:01:32 +03:00
dzaima
1ec4415e49 clean up some under functions in sfns.c 2023-05-19 13:15:51 +03:00
dzaima
3977849bc5 fix "_m←¨⋄4 m´⟨⟩" and "4 10´⟨⟩" 2023-05-19 12:58:18 +03:00
Marshall Lochbaum
ed5fac7cc9 Constant and tack cases for Table 2023-05-18 15:11:20 -04:00
Marshall Lochbaum
b5de844736 Constants and tacks with rank, except some dyadic cases 2023-05-18 14:52:13 -04:00
Marshall Lochbaum
7440e2a6bc Constant and trivial cases for fold/insert 2023-05-18 12:11:49 -04:00
Marshall Lochbaum
9dfeb451f8 Handle empty cells in insert_base; fixes bugs in dyadic Insert 2023-05-18 11:53:53 -04:00
Marshall Lochbaum
a8cead1d3d Fast cases for tacks, constant operands, and short arguments in scans 2023-05-18 10:54:56 -04:00
Marshall Lochbaum
1ff8954dd3 Fix leak in dyadic •_timed 2023-05-18 10:54:56 -04:00
Marshall Lochbaum
6ac8944b06 Remove redundant isAtm check in constant case of each_c1 2023-05-18 10:54:56 -04:00
dzaima
b46477450d fix shape of argument passed to F in F⌾(is⊸⊑)
& skip computing the argument if not needed
2023-05-18 16:37:24 +03:00
dzaima
0572fcc5b2 native F⌾(list⊸⊑) & ⌾(listOfLists⊸⊑) 2023-05-18 01:54:01 +03:00
dzaima
d310669ae8 unify F⌾(n⊸⊑) and F⌾⊑ 2023-05-18 00:27:38 +03:00
dzaima
3047ff48b5 Add rank checks to •FChars & •FLines & •FBytes & •Out
& clean up terminology
2023-05-17 21:56:40 +03:00
dzaima
ec106c0b31 better heuristic for 𝕨∊𝕩 comparison-or path 2023-05-17 18:42:24 +03:00
dzaima
e4d222173d a bunch of fixes for generic architecture & wasm 2023-05-16 00:07:48 +03:00
dzaima
65868a51ba use the type of the correct argument in check 2023-05-13 02:19:10 +03:00
dzaima
f0a9714e8b copy result in tbl_c2 if needed 2023-05-13 00:33:22 +03:00
dzaima
a9478f802f tuning for arithmetic leading axis, F⌜, and reshape-based ⎉ 2023-05-13 00:33:22 +03:00
dzaima
6dc24bd99b free arguments of SIMD 𝕨∊𝕩 & ∊𝕩 2023-05-12 13:51:30 +03:00
Marshall Lochbaum
25883b410c Retune boundary for small-𝕩 linear Member Of 2023-05-11 21:11:43 -04:00
Marshall Lochbaum
464dd27a37 SIMD table intialization for Index-of 2023-05-11 21:05:24 -04:00
Marshall Lochbaum
844b537593 Singeli 1-byte table implementations for generic architecture 2023-05-11 21:05:23 -04:00
Marshall Lochbaum
6c81fb3149 Make AVX2 deduplicate branchless 2023-05-11 21:04:58 -04:00
Marshall Lochbaum
1700d84740 AVX2 1-byte Deduplicate implementation 2023-05-11 21:04:58 -04:00
Marshall Lochbaum
9c7c6aabc5 AVX2 Mark Firsts implementation 2023-05-11 21:04:56 -04:00
Marshall Lochbaum
017e2433fb Fast paths for all empty-argument search cases 2023-05-11 20:59:53 -04:00
Marshall Lochbaum
0232f91582 AVX2 bit table Member-of 2023-05-11 20:59:52 -04:00
dzaima
03a28e4e34 fix float normalization from a •bit._cast result mutating the original 2023-05-11 22:39:59 +03:00
dzaima
53bacf00c8 native F⟜k⁼𝕩 & k⊸F⁼𝕩 2023-05-11 15:28:40 +03:00
dzaima
08b6ff77c4 c1G & c2G 2023-05-11 15:28:40 +03:00
dzaima
fa4aebbe9c native dyadic inverses of F˜ 2023-05-11 15:28:40 +03:00
dzaima
bae49543be native F˜⁼ 𝕩 2023-05-11 15:28:40 +03:00
dzaima
d1a5ed3e00 err → fatal 2023-05-11 15:28:23 +03:00
dzaima
aa68ed0730 define single ICMP 2023-05-11 15:28:23 +03:00
dzaima
0f2ef4384c don't inline groups_lt 2023-05-09 00:14:14 +03:00
dzaima
300d217ee8 move SIMD constrep functions to a table 2023-05-09 00:14:14 +03:00
dzaima
0598ce8357 use getFillQ less 2023-05-09 00:14:14 +03:00
dzaima
d62c77af41 add threshold for reshape-based ⎉+n path 2023-05-06 16:57:38 +03:00
dzaima
3dcb32a54a fast Arith⎉+n where n is the rank of one argument 2023-05-06 16:28:41 +03:00
dzaima
8177b668f4 fix ∾𝕩 error checking 2023-05-05 19:54:43 +03:00
dzaima
cc94ec4cbc move out another s+↕n loop 2023-05-05 13:28:58 +03:00
dzaima
14ca835fa2 don't unroll comparatively extremely tiny loop 2023-05-05 13:23:47 +03:00
dzaima
65d0b829bd reuse range generation from ↕n for •rand.Deal 2023-05-05 12:41:36 +03:00
dzaima
1072d0bb9c merge emptyIVec() case with bitUD[0] 2023-05-05 12:18:31 +03:00
Marshall Lochbaum
78eeaae762 Remove MergeShuffle: only used above 2⋆28 with split and not a huge speedup 2023-05-04 18:11:55 -04:00
Marshall Lochbaum
2b9c193f24 Outer split pass for large •rand.Deal 2023-05-04 14:28:32 -04:00
Marshall Lochbaum
a4f9d23709 Simplify merge-shuffle index usage 2023-05-04 10:18:38 -04:00
Marshall Lochbaum
6cc9d40490 Fast cases for short •rand.Deal𝕩 2023-05-04 09:10:29 -04:00
Marshall Lochbaum
8191aa6da2 Only iterate over set bits in random merge 2023-05-04 09:10:29 -04:00
Marshall Lochbaum
bc7275a91b Basic MergeShuffle implementation (slow merge) 2023-05-04 09:10:29 -04:00
dzaima
1bd9467a2d cleanup 2023-05-04 12:27:13 +03:00
dzaima
352961a7eb another ubsan complaint 2023-05-02 10:47:13 +03:00
dzaima
65e246774e -mllvm --x86-cmov-converter=0 2023-04-30 20:03:09 +03:00
dzaima
0e79e9f868 fix ubsan notes 2023-04-30 19:50:24 +03:00
dzaima
cd40ec8117 fix ¯2e9‿2e9⍋0 2023-04-30 19:35:18 +03:00
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