Commit Graph

570 Commits

Author SHA1 Message Date
dzaima
a637adadd9 rearrange arithd.c in preparation for separating its cases 2022-09-02 13:10:04 +03:00
dzaima
1b8bd0707e make dyarith array-array dispatch its own function 2022-09-01 22:22:13 +03:00
dzaima
90dd740bfc use cpyHArr instead of a getter loop 2022-09-01 19:25:20 +03:00
dzaima
dad47cf391 move arith_recd to a noinline function 2022-09-01 18:51:02 +03:00
dzaima
f758a3f1f6 proper argument name 2022-09-01 18:40:48 +03:00
dzaima
1c43ad6431 squeeze •rand.Subset result 2022-09-01 18:25:10 +03:00
dzaima
e72c7dc937 faster ÷ ⋆ √ | ⋆⁼ on i8 & i16 arrays 2022-09-01 16:06:52 +03:00
dzaima
5cfa89ad5a separate functions for comparison scalar & array cases 2022-09-01 15:06:34 +03:00
dzaima
72f25dad54 bitarr ↕1 and ↕2 2022-09-01 13:29:03 +03:00
dzaima
7d716d5ce0 elInt 2022-09-01 11:17:49 +03:00
dzaima
203916b44f error on non-numbers in +𝕩 2022-09-01 11:16:42 +03:00
Marshall Lochbaum
76c93d85e1 Dyadic 32-bit / based on 8-bit monadic / 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
1e0cf78fd0 Implement 4-byte where with blocks of 2-byte where 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
6f02705d9f Make small-range Grade code style more like radix code 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
758c174cae Optimistic special case to quickly invert permutations with ⍋ 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
a42335af4f Use or-equals for dyadic ∊ when 𝕩 is small and arguments are flat 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
15b444540e Extend self-search typed code to characters by treating as numbers 2022-08-31 16:11:52 -04:00
Marshall Lochbaum
9028ebfe8b Native Windows (↕) 2022-08-31 16:11:52 -04:00
dzaima
9775339e2c squeeze result of ⌊ and ⌈ 2022-08-30 00:18:25 +03:00
dzaima
b37f620889 disable manual array F character loops when not running singeli 2022-08-29 19:46:41 +03:00
dzaima
777c5cc1a5 rename things 2022-08-29 19:05:34 +03:00
dzaima
ce5ece34e1 new arith 2022-08-28 23:28:06 +03:00
dzaima
3c1ef1c9a2 use elNum 2022-08-28 16:44:21 +03:00
Marshall Lochbaum
f80d3ce263 Branchless integer binary search 2022-08-28 09:16:25 -04:00
Marshall Lochbaum
139faee0a1 Unify integer and character Bins 2022-08-28 09:16:09 -04:00
Marshall Lochbaum
9376e02ecb Boolean sorting 2022-08-27 15:44:25 -04:00
Marshall Lochbaum
e027aca0cf Radix grades 2022-08-27 15:16:20 -04:00
Marshall Lochbaum
36e54d1a39 1-byte radix with length ==256 doesn't work because of SWAR overflow when descending 2022-08-27 11:10:17 -04:00
Marshall Lochbaum
4ec83e51a6 Merge sort.h into grade.h 2022-08-27 10:59:00 -04:00
Marshall Lochbaum
9d59dff522 4-byte sorting: insertion and radix 2022-08-26 22:04:32 -04:00
Marshall Lochbaum
f946a3de41 2-byte sorting: insertion, radix, counting 2022-08-26 22:04:32 -04:00
Marshall Lochbaum
5034e55c79 Move Sort to template file sort.h (for up/down) like Grade 2022-08-26 22:04:32 -04:00
Marshall Lochbaum
a0a4ecadc7 1-byte sorting: insertion, bucket, counting 2022-08-26 22:04:32 -04:00
dzaima
81e09956d3 •file.Size, make •file.List decode UTF-8
invalid UTF-8 is a problem for the future
2022-08-26 13:37:51 +03:00
dzaima
b16378bef6 add thing that was previously non-existent 2022-08-26 10:16:16 +03:00
dzaima
1927cb5756 implement ⍷𝕩 with (∊𝕩)/𝕩 2022-08-25 23:17:00 +03:00
dzaima
398a66ed94 fix c0 offset 2022-08-25 22:44:31 +03:00
dzaima
20a15097b4 remove non-existent thing 2022-08-25 22:33:38 +03:00
dzaima
d12a53fd08 •file.Created, •file.Accessed, •file.Modified 2022-08-25 22:29:03 +03:00
dzaima
905a9f78d4 {raw⇐1} •SH 𝕩 2022-08-25 22:27:35 +03:00
Marshall Lochbaum
e8e12e2d8f Another allocation improvement 2022-08-25 14:09:10 -04:00
Marshall Lochbaum
34950339c2 Improve radix+table allocation layout 2022-08-25 14:00:28 -04:00
dzaima
600bb59c77 more diagram 2022-08-25 20:27:30 +03:00
Marshall Lochbaum
c590d73030 Missed TFREE 2022-08-25 11:25:59 -04:00
Marshall Lochbaum
b2992a11b8 1- and 2-byte methods for monadic ⊐ 2022-08-25 11:10:11 -04:00
Marshall Lochbaum
98cd80c13d Port all the integer monadic ∊ methods to ⊒ 2022-08-25 10:39:38 -04:00
Marshall Lochbaum
f54942f175 Make first initialization in radix 4-byte lookup sparse too 2022-08-24 21:05:39 -04:00
Marshall Lochbaum
ad8570be11 Wait, sparse initialization with a pass through the argument is faster than radix stuff 2022-08-24 20:26:02 -04:00
Marshall Lochbaum
5cd2cab26e Small-number integer ∊ with all-pairs comparison and 2-byte radix+table 2022-08-24 18:44:00 -04:00
Marshall Lochbaum
7ffa0dac4a Switch from using IA to *SH for length 2022-08-24 11:08:27 -04:00
Marshall Lochbaum
efe2e86271 Unify search function preambles, so all have empty and rank>1 cases 2022-08-24 11:03:05 -04:00
Marshall Lochbaum
9d402c1bdd Move self-search functions to selfsearch.c 2022-08-24 10:47:04 -04:00
Marshall Lochbaum
eff9df5a26 Table lookups for self-search functions 2022-08-24 10:28:19 -04:00
Marshall Lochbaum
633e790099 Radix-assisted lookup implementation for ∊ 2022-08-24 10:27:55 -04:00
dzaima
eb9550aa29 •file.Parent 2022-08-22 15:30:37 +03:00
dzaima
aa95b6add4 actually use TY(x) / PTY(x) more 2022-08-21 16:11:40 +03:00
dzaima
7393c4b663 fully native ⊑ 2022-08-21 07:58:41 +03:00
dzaima
4ed814e395 cleanup of new field reading macros 2022-08-20 09:04:22 +03:00
dzaima
1694bfb7d2 s?p?rnk(x) → S?P?RNK(x) 2022-08-20 08:36:59 +03:00
dzaima
e10f13d6ea x->type → TY(x) / PTY(x) 2022-08-20 08:30:12 +03:00
dzaima
d2a4efe4b5 x->sh → SH(x) / PSH(x) 2022-08-20 08:30:07 +03:00
dzaima
e6b4f85662 x->ia → IA(x) / PIA(x) 2022-08-20 08:30:03 +03:00
dzaima
558c14cccd fix fill of empty 𝕨⊏𝕩 2022-08-20 08:23:58 +03:00
dzaima
719d37cd63 reorder eachm_fn and eachd_fn args 2022-08-18 11:18:34 +03:00
dzaima
b1300e6e76 yet another string function rename 2022-08-18 09:07:32 +03:00
dzaima
e49fcd3449 typed n •rand.Range 2⋆31 2022-08-17 19:41:32 +03:00
dzaima
81bdec4737 128-bit multiplication & unrolling doesn't go well in clang 2022-08-17 19:10:01 +03:00
dzaima
c5b65b9246 typed •rand.Range 2022-08-17 18:53:41 +03:00
Marshall Lochbaum
56a1d9ec4c Singeli integer ⌊ and ⌈ 2022-08-15 16:01:17 -04:00
dzaima
7e4096e572 nicer fold loops 2022-08-14 02:34:26 +03:00
Marshall Lochbaum
b579440f5e Change × and ∧ integer reductions to reverse order 2022-08-13 19:02:22 -04:00
Marshall Lochbaum
82d2eb5b1a Fix monadic ⌊` initial element 2022-08-13 19:00:59 -04:00
Marshall Lochbaum
195336b6df Implement F˝x as <F´x for rank-1 x and arithmetic F 2022-08-13 16:04:20 -04:00
Marshall Lochbaum
22925eee4b Fast ⌊, matching ⌈ 2022-08-13 15:03:23 -04:00
Marshall Lochbaum
27943b85f4 Fast boolean =´ and ≠´ 2022-08-13 14:39:53 -04:00
Marshall Lochbaum
37312f7a03 Lift out bitarr_ptr calls 2022-08-13 14:28:16 -04:00
Marshall Lochbaum
f406b05303 Fill boolean scan gaps: ∨ and dyadic int≠bool 2022-08-13 14:05:48 -04:00
Marshall Lochbaum
6a00b6d7d4 Fast boolean -´ 2022-08-13 13:45:56 -04:00
Marshall Lochbaum
4950506c72 Separate boolean fold and scan code from other special cases to handle aliases better 2022-08-13 13:34:01 -04:00
dzaima
a9b3b3de97 use TALLOC instead of m_shArr 2022-08-07 01:19:09 +03:00
Marshall Lochbaum
78f14be79d Finish multidimensional join 2022-08-06 17:30:30 -04:00
Marshall Lochbaum
1d891388b5 High-rank join shape checking 2022-08-05 22:01:42 -04:00
Marshall Lochbaum
c1d5ca5c29 Switch from min and max to max and difference in Join shape checking 2022-08-05 21:50:39 -04:00
Marshall Lochbaum
bf6a8c5699 Handle any rank empty, and rank 0, in Join 2022-08-01 21:21:10 -04:00
Marshall Lochbaum
d9d421db04 Handle atoms in Join of list 2022-08-01 17:31:07 -04:00
Marshall Lochbaum
b8e6996e7e Shape logic for Join of any list 2022-08-01 17:27:22 -04:00
dzaima
a6deb4b691 native unit∊vector 2022-07-26 04:30:33 +03:00
dzaima
9480ee9da2 native ⌾(F G), ⌾(F∘G), ⌾<, <⁼ 2022-07-26 03:38:30 +03:00
dzaima
9acb9e6bf4 fix ⎉ low-rank fill computation 2022-07-26 00:04:13 +03:00
dzaima
32d8c09e2b limit row-wise F⌜ to 7<≠⥊𝕩 2022-07-23 02:18:42 +03:00
dzaima
599c56051d convert ⊐ result to smaller type based on ≠𝕨 2022-07-22 05:50:34 +03:00
dzaima
bd5ab29387 native vec⊐highRankArr 2022-07-22 05:39:26 +03:00
dzaima
0b155e4416 simpler vg_pext_u64 tail handling
that makes it not get SIMD-mangled when optimizations are enabled, thus allowing valgrind to preserve vbits
2022-07-10 04:02:49 +03:00
dzaima
eb5b32319f make ∨`𝕩 run under valgrind 2022-07-10 02:01:59 +03:00
dzaima
041a87ff98 make valgrind accept /𝕩 and 𝕨/𝕩 impls 2022-07-10 01:51:15 +03:00
dzaima
0684fe5fcb some fixes for ubsan 2022-07-10 01:43:21 +03:00
dzaima
3c2a7dbefa high-rank in-place w∾x 2022-07-09 02:00:22 +03:00
dzaima
1c645e11d8 fix •FromUTF8 name 2022-07-08 19:34:30 +03:00
dzaima
837372295d small simplification 2022-07-02 03:52:34 +03:00
dzaima
f27ba6d569 even more microoptimization 2022-06-30 16:25:29 +03:00