Commit Graph

224 Commits

Author SHA1 Message Date
Marshall Lochbaum
d525acb51e Merge branch 'master' into cellwidth 2022-09-18 15:26:34 -04:00
dzaima
dd56cfab20 allow using picked element of ⌾(n⊸⊑) in-place 2022-09-18 21:00:51 +03:00
dzaima
770f7b2f0c check type directly in pick_ucw 2022-09-18 20:17:48 +03:00
Marshall Lochbaum
21033fa355 Move Group to its own file 2022-09-16 22:01:56 -04:00
Marshall Lochbaum
0b1ded14e0 Type-independent Reverse 2022-09-16 22:01:56 -04:00
dzaima
889c520251 move slash_im setting 2022-09-12 18:32:56 +03:00
dzaima
a46ec7343e not slow ⍉bitarr, fix ⊢⌾⍉ 2‿3‿4⥊↕24 2022-09-12 18:27:18 +03:00
dzaima
32d533b6e2 don't print left argument of ⊑ if it's large 2022-09-12 18:21:04 +03:00
Marshall Lochbaum
017fcaea2a Move slash functions to a separate file 2022-09-10 09:58:42 -04:00
Marshall Lochbaum
bb3ecdca6a Sparse Where 2022-09-10 09:12:16 -04:00
Marshall Lochbaum
ae9817fd0d Fast path for / with empty result, and faster non-Singeli Where 2022-09-10 09:02:17 -04:00
Marshall Lochbaum
d8abc4ef7e Separate handling for ⊔ when 𝕨 changes value rarely 2022-09-09 18:11:12 -04:00
Marshall Lochbaum
ef2dee9a4d Special case data movement for ⊔ on sorted 𝕨 2022-09-09 13:21:08 -04:00
Marshall Lochbaum
569dcacac1 Do Group's range check and ¯1 counting on 1- or 2-byte ints
Doesn't vectorize, but at least it speeds up filtering later
2022-09-09 08:58:23 -04:00
Marshall Lochbaum
1e143644b6 Filter out ¯1s in Group with / if there are enough of them 2022-09-08 21:00:15 -04:00
dzaima
3ccef1fe86 ⊔𝕩 → ⊔⟜(↕≠)𝕩 2022-09-08 14:52:19 +03:00
dzaima
59e947cc20 more consistent type checking & conversion functions 2022-09-07 23:56:03 +03:00
dzaima
629076d001 new ⟨⟩↕0 behavior & fix /⁼large_i8arr 2022-09-05 22:40:40 +03:00
Marshall Lochbaum
7792c60180 Fix unnecessary errors with computed shape 0, such as 1e8‿⌊‿1e8⥊↕5 2022-09-03 14:41:28 -04:00
Marshall Lochbaum
44c0baee05 No need to initialize the negative half of the counts table 2022-09-03 14:41:28 -04:00
Marshall Lochbaum
37af32d95c Faster /⁼ for boolean and long 1-byte and 2-byte 𝕩 2022-09-02 14:31:07 -04:00
dzaima
7d716d5ce0 elInt 2022-09-01 11:17:49 +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
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
1694bfb7d2 s?p?rnk(x) → S?P?RNK(x) 2022-08-20 08:36:59 +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
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
9480ee9da2 native ⌾(F G), ⌾(F∘G), ⌾<, <⁼ 2022-07-26 03:38:30 +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
685c3ecbc6 fix fill leak on @⌾(0⊸⊑) 2⥊<"foo" 2022-06-30 03:37:52 +03:00
dzaima
fadde40f78 more incG 2022-06-26 23:48:30 +03:00
dzaima
efb4a06a25 x⥊0 & x⥊1 → bitarr 2022-06-25 16:17:34 +03:00
dzaima
e137d8536d native ↑𝕩 & ↓𝕩 2022-06-10 00:14:42 +03:00
dzaima
025043b84e make arr_shVec return its argument 2022-06-10 00:08:13 +03:00
dzaima
a298bc3018 more function name cleanup 2022-06-09 18:12:15 +03:00
dzaima
cc8d1cb4d7 fix m_vec1 under OOM 2022-06-04 02:13:01 +03:00
dzaima
9248d1e876 fix ⊔ leaving item shape uninitialized 2022-06-03 23:40:55 +03:00
dzaima
cb1338951c more shcpy 2022-05-30 17:53:54 +03:00
dzaima
79bd6fc689 use shProd more 2022-05-30 02:07:25 +03:00
dzaima
54645df2a9 use shcpy for copying shapes 2022-05-29 14:08:30 +03:00
dzaima
3dd1bffe2f don't unroll arr_csz 2022-05-29 13:57:03 +03:00
dzaima
bf618b9b64 native 𝔽⌾(n⊸↑) & 𝔽⌾(n⊸↓) 2022-05-29 13:38:04 +03:00
dzaima
894c56205f native ⌾⍉ 2022-05-02 20:35:16 +03:00
dzaima
3496a939b6 more switch cleanup 2022-05-01 04:47:21 +03:00
dzaima
88f4fdaa7e 16-bit & 64-bit ⊔ cases 2022-05-01 03:14:23 +03:00
dzaima
5d687b1ac3 lazy impl of i8/i16 arrays in 𝕨 of ⊔ 2022-05-01 03:00:36 +03:00
dzaima
886feb4ed0 fix fill handling of ⌽ 2022-05-01 02:10:31 +03:00
dzaima
7ece6b2179 unified int & char cases for ⊔ 2022-05-01 01:35:16 +03:00
dzaima
7f9773f971 unified int & char cases for ⍉ & ⌽ 2022-05-01 01:35:11 +03:00
dzaima
1babdf247f unified int & char cases for bitarr/x 2022-04-30 21:49:47 +03:00
dzaima
3f92c32399 no-op ⥊vec 2022-04-25 18:10:37 +03:00
dzaima
f079aa5f76 move select to its own file 2022-04-12 16:23:43 +03:00
dzaima
9b8f8f3725 decG round 1 2022-04-07 13:56:11 +03:00
dzaima
1ce5712a97 f64 case in ⊑ 2022-04-04 11:30:35 +03:00
dzaima
980f20df9a 𝕨/𝕩: move tail skipping to BMI-less build 2022-04-02 17:54:21 +03:00
dzaima
40dc184063 use singeli for c16lut generation 2022-04-02 17:19:20 +03:00
dzaima
b6dc3cc239 /bitarr → i8arr & i16arr 2022-04-01 23:30:57 +03:00
dzaima
37bf551e54 BMI2 bitarr/i8arr & bitarr/i16arr 2022-04-01 22:41:32 +03:00
dzaima
ccd2b70747 more mut_fillG 2022-03-12 03:53:27 +02:00
dzaima
d78a45a457 smarter virtual function reading deduplication 2022-03-12 03:44:46 +02:00
dzaima
9d3067fa4b new mut interface 2022-03-12 03:08:25 +02:00
dzaima
94e22ecf8f fix error message 2022-03-06 23:47:40 +02:00
dzaima
5e865589b6 optimized f⌾(bitarr⊸/) 2022-02-06 19:06:03 +02:00
dzaima
c4136d4a53 fix /⁼ with 64-bit usz 2022-01-11 18:54:40 +02:00
dzaima
81a47f1386 fix genRuntimeSrc 2021-12-28 00:07:08 +02:00
dzaima
04a530a532 fix ⍉f64arr 2021-12-20 18:29:20 +02:00
dzaima
44dc602425 native rank>2 ⍉ 2021-12-20 00:52:53 +02:00
dzaima
7cc88fae9c native rank 2 ⍉ 2021-12-19 16:43:37 +02:00
dzaima
9054cf0b54 make vec_join be mostly not inlined 2021-12-19 01:45:05 +02:00
dzaima
0c5b98772c m_harrs → M_HARR 2021-12-17 18:04:19 +02:00
dzaima
4af4b45ab7 fix / with negative numbers in indexes 2021-12-16 12:20:42 +02:00
dzaima
c68858ba90 various fixes for ⊑ 2021-12-16 09:14:13 +02:00
dzaima
8a1ccc7198 native ⊑; f⌾(v⊸⊏) f64arr 2021-12-15 14:03:02 +02:00
dzaima
9044cd0ef0 allow high-rank 'a' in native F⌾(a⊸⊏) 2021-12-12 23:33:02 +02:00
dzaima
1b1fe2ba57 BMI2 bitarr/bitarr 2021-12-12 23:11:07 +02:00
dzaima
56d148832e support unsorted argument for /⁼ 2021-12-12 17:25:14 +02:00
dzaima
b9232a1f68 fix handling of first element in /⁼ 2021-12-06 11:01:52 +02:00
dzaima
b000576572 native /⁼ 2021-11-22 00:24:59 +02:00
dzaima
c79e260e34 m_v[1234] → m_hVec[1234] 2021-11-20 01:05:14 +02:00
dzaima
5484c109ea return value from ptr_inc 2021-11-20 00:58:18 +02:00
dzaima
3ba3558c93 fills for monadic ⋈ 2021-11-13 23:00:36 +02:00
dzaima
cd866e1e45 lazy fallback to runtime on ∾ errors 2021-11-06 17:30:01 +02:00
dzaima
049188d8a6 complete native ⋈ 2021-11-03 20:44:43 +02:00
dzaima
8cfbaf8b30 enum of primitive numbering 2021-11-03 20:28:00 +02:00
dzaima
dd3965cb3c 2021-11-03 20:16:04 +02:00
dzaima
d42dd3dcf9 merged typed types 2021-10-22 17:11:54 +03:00
dzaima
f50b8ab503 fix fill of n↑fillarr 2021-10-20 18:29:28 +03:00