Commit Graph

1398 Commits

Author SHA1 Message Date
dzaima
e9b7d027ca cleanup & fix various build types 2023-11-26 16:56:26 +02:00
dzaima
01a60dceff separate path & name, store path+name+args in state 2023-11-26 16:32:37 +02:00
dzaima
789064140b use isStr more, include builtin name in bad path messages 2023-11-26 15:37:41 +02:00
dzaima
3f62a51305 system value inheriting 2023-11-26 01:21:11 +02:00
dzaima
a93ea4dbaf base •ReBQN and •BQN onto outer re 2023-11-25 23:39:58 +02:00
dzaima
5e455372f0 more renaming & shuffling of things 2023-11-25 23:21:32 +02:00
dzaima
7c28c64178 change •BQN and •ReBQN to dynamically-computed functions 2023-11-25 23:21:32 +02:00
dzaima
7214017bb2 move •BQN and •ReBQN to computed sysvals 2023-11-25 23:21:32 +02:00
dzaima
7e0204083e name re parts 2023-11-25 23:21:32 +02:00
dzaima
7fb8ecfa86 rename things 2023-11-25 23:21:32 +02:00
dzaima
7357820f19 start of compiler state refactoring 2023-11-25 23:21:32 +02:00
dzaima
2b56a300bc probably make ⊔ able to handle output subarray lengths over 2^32
still no support for (≠𝕨)≥2⋆32 though
2023-11-17 00:40:26 +02:00
dzaima
59208af520 remove old group path
effectively only got used for f64arr 𝕨; could transform to doing just that, but its inefficient type of the group arrays make it bad for that too
2023-11-13 23:16:02 +02: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
Marshall Lochbaum
c94d51dcaf Fixes for 64-bit usz 2023-11-13 08:24:51 -05:00
dzaima
5910c93fcb silence some warnings & errors in various build types 2023-11-13 12:54:49 +02:00
Marshall Lochbaum
3a50cda5d3 Specialize Index-of tables on result type 2023-11-10 17:12:37 -05:00
Marshall Lochbaum
7b79dfc94e Update search implementation comments 2023-11-09 15:20:50 -05:00
Marshall Lochbaum
2c625127d5 Reverse hashed Index-of 2023-11-09 10:39:07 -05:00
Marshall Lochbaum
c75fdbc277 Reverse Member-of hash lookup 2023-11-07 22:07:17 -05:00
Marshall Lochbaum
8a2190b092 64-bit hashes with float normalization 2023-11-07 14:54:16 -05:00
Marshall Lochbaum
c042fe6ca3 Vector binary search for integer Index-of 2023-11-06 15:43:26 -05:00
Marshall Lochbaum
52bca6a55c Multiple IndexOfOne to search for a few values in a large array 2023-11-06 12:16:59 -05:00
Marshall Lochbaum
d154ece51a Vector binary search for 16-bit Member-of in addition to 32 (8 is too slow) 2023-11-06 09:37:58 -05:00
Marshall Lochbaum
11245d385e Vector binary search Member-of 2023-11-05 22:10:39 -05:00
Marshall Lochbaum
8aa6c07199 And hashed 32-bit Progressive Index-of 2023-11-02 20:29:54 -04:00
Marshall Lochbaum
d54621b5dd Extend hash table to 32-bit Index-of 2023-11-02 12:00:32 -04:00
Marshall Lochbaum
ed03720441 Robin Hood hash table for 32-bit membership 2023-11-01 15:46:45 -04:00
Marshall Lochbaum
ee856a4880 Move hash resizing to a generator, and other refactoring 2023-10-31 22:09:11 -04:00
Marshall Lochbaum
0391cf4ca3 Fast number-character (no matches) searches 2023-10-31 22:09:11 -04:00
Marshall Lochbaum
0fb845d336 Move self-search hash table code to Singeli 2023-10-31 22:09:11 -04:00
dzaima
ad574d2269 refactor & document #define-s, always-available ')gc log' and ')mem log' 2023-10-31 03:16:48 +02:00
dzaima
08c4627686 fix dense case of •rand.Subset not updating seed 2023-10-30 17:03:38 +02:00
dzaima
7ffd744375 reorganize file writing
fixes some unclosed file descriptors & files being made on an invalid argument
2023-10-28 19:27:00 +03:00
dzaima
b6594008cd fix non-Singeli builds 2023-10-26 17:32:12 +03:00
dzaima
577442449d inverses for •math.Atan2, •math error tests 2023-10-22 14:33:51 +03:00
dzaima
4322303031 Fix 2‿2↕3‿3‿3⥊↕27 2023-10-12 12:43:08 +03:00
dzaima
e7b87f669f fix arr÷negativeZero, set proper float expected values 2023-09-21 19:03:30 +03:00
dzaima
f6a9c30889 •internal.HeapStats 2023-09-18 23:38:06 +03:00
dzaima
df0ccdf2d7 add error message on missing posix_spawn support in make for-build 2023-09-17 13:39:22 +03:00
dzaima
299168fb16 fast numarr÷scalarPowOf2 2023-09-12 23:57:50 +03:00
dzaima
5efd90cc91 rename elWidthLogBits to something less long & add byte variant 2023-09-12 19:58:56 +03:00
Marshall Lochbaum
d16ba6c3b1 Move xor-scan to scan.singeli; remove neq.singeli 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
e261e80168 SSE min/max and pluswrap scans 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
00c454d37a Add generic-architecture versions of Singeli scans 2023-08-26 07:26:33 -04:00
dzaima
ec14d45c50 round up pointers in self-search allocs 2023-08-25 04:03:25 +03:00
dzaima
81a291f860 round up some pointers 2023-08-25 03:47:05 +03:00
dzaima
f0d6a65240 move unaligned load/store helpers to stuff.h
also replace a NULL with "" to make iBuf+0 not be UB
2023-08-25 03:24:42 +03:00
dzaima
8975f6af00 fast 1|x 2023-08-24 21:32:35 +03:00
dzaima
3e6e158696 native 𝕨⍷𝕩 when 1≥=𝕨 and 2≥=𝕩 2023-08-24 19:46:57 +03:00
dzaima
6eaa9238bc separate BSDs 2023-08-20 19:33:11 +03:00
dzaima
1bb686a9ff fix UB in grade.h 2023-08-19 21:48:11 +03:00
dzaima
2732becf50 global STR0/STR1 definitions 2023-08-19 20:12:53 +03:00
dzaima
25c2629842 •platform
incl. adding support for REPL completion of •a.b.c (i.e. >1 '.')
2023-08-19 18:25:52 +03:00
dzaima
df56f6b2fc fix 𝕨•FLines𝕩 with invalid elements in 𝕩 2023-08-13 03:51:06 +03:00
Marshall Lochbaum
2dd3a0fdfa Boolean compress implementation comments 2023-08-07 15:33:37 -04:00
Marshall Lochbaum
4e9745688b Use generic boolean Compress as the sparse case with Singeli 2023-08-07 13:47:58 -04:00
Marshall Lochbaum
a7908a10b0 Faster, sparse, non-Singeli boolean Compress 2023-08-07 12:26:40 -04:00
Marshall Lochbaum
056b18edd2 Move pext-based compress loop from C to Singeli 2023-08-05 20:38:54 -04:00
Marshall Lochbaum
7767cf933f Remove boolean Compress overallocation: not needed with w masked off 2023-08-05 20:38:54 -04:00
dzaima
682d5986d8 slightly more accurate trailing newline removal for •GetLine 2023-08-04 21:09:45 +03:00
dzaima
a1e4f9bd6f remove multiple trailing newline characters from •GetLine
Windows adds \r\n, and without this the \r stays
2023-08-04 20:52:07 +03:00
dzaima
1454ca3a1a expand & test FFI error checking 2023-07-28 13:59:25 +03:00
dzaima
6e96600878 move unaligned load & store to base.singeli 2023-07-20 00:21:09 +03:00
dzaima
6930bc34b6 further update slash.c implementation comments 2023-07-19 16:51:24 +03:00
Marshall Lochbaum
301a23fb1f Update where/compress implementation comments 2023-07-19 09:35:40 -04:00
Marshall Lochbaum
64d65ae837 Never use generic dense compress methods if use_table: where is faster 2023-07-18 21:35:12 -04:00
Marshall Lochbaum
68978f7e10 Table-based 1- and 2-byte Where 2023-07-17 16:05:06 -04:00
Marshall Lochbaum
8b297ae2dc Dedicated 32-bit Singeli where, taking index offset 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
3bd8d1de68 Extend all Singeli Compress methods to do Where 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
4415869496 Generic Singeli where implementation 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f5121f6806 Thresholds for compress methods (versus sparse) defined in Singeli 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f852d12a5c Generic Singeli compress implementation 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
d956ba921b Non-overwriting 1-byte and 2-byte compress/where 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
8f4b1966cb Non-overwriting AVX2 4-byte and 8-byte compress, using a buffer 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
0921fc2c62 AVX2 compress implementations using permutevar and lookup tables 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f315a6d3ea Emulate pext instruction in Singeli 2023-07-16 21:56:33 -04:00
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
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
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
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
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
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
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
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
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
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
e0479adee4 fix rank overflow check in 𝕨⥊𝕩 2023-04-22 11:53:54 +03:00
Marshall Lochbaum
b6590b0eab Move Insert implementation to fold.c, except the generic case 2023-04-21 22:00:08 +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
c3347d6815 move f32 to h.h, add reinterpreting helper methods 2023-04-21 16:32:35 +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
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
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
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
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
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
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
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
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
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