Commit Graph

589 Commits

Author SHA1 Message Date
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
dzaima
c794fb0ef9 more microoptimization 2022-06-30 15:40:54 +03:00
dzaima
74eaa3853f optimize squeeze result choosing 2022-06-30 03:51:00 +03:00
dzaima
685c3ecbc6 fix fill leak on @⌾(0⊸⊑) 2⥊<"foo" 2022-06-30 03:37:52 +03:00
dzaima
0313b0a0a0 fix •internal.Variation 2022-06-30 03:05:30 +03:00
dzaima
859be5efb2 singeli chr_squeeze 2022-06-30 01:47:57 +03:00
dzaima
75bfa5d905 singeli num_squeeze 2022-06-30 01:47:50 +03:00
dzaima
e31c574fd8 separate squeeze to its own file 2022-06-29 18:36:05 +03:00
dzaima
86cf6f5c2d faster value⊸F & F⟜value 2022-06-28 15:58:13 +03:00
dzaima
fadde40f78 more incG 2022-06-26 23:48:30 +03:00
dzaima
a6081600ae namespace reading functions for FFI 2022-06-25 17:32:41 +03:00
dzaima
efb4a06a25 x⥊0 & x⥊1 → bitarr 2022-06-25 16:17:34 +03:00
dzaima
1fd88c1749 clean up ascii/utf8 functions 2022-06-15 15:31:57 +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
021fd5d8c3 native empty ˘ & ⎉ cleanup 2022-06-09 04:00:04 +03:00
Marshall Lochbaum
b862d7c075 Native empty-frame Rank modifier (⎉) 2022-06-08 20:16:30 -04:00
Marshall Lochbaum
5c59da7376 Handle fills in monadic ⎉ by passing to the runtime 2022-06-08 18:02:29 -04:00
Marshall Lochbaum
f686298664 Native empty dyadic Cells (˘) 2022-06-08 18:01:27 -04:00
dzaima
14b7942556 )clearImportCache 2022-06-05 17:17:20 +03:00
dzaima
3f7261c812 fix error when UTF-8 •SH output is split between reads 2022-06-04 17:26:00 +03:00
dzaima
cc8d1cb4d7 fix m_vec1 under OOM 2022-06-04 02:13:01 +03:00
dzaima
4a2d460998 fix tbl_c2 under OOM 2022-06-04 02:12:50 +03:00
dzaima
8ad7b6149f OOM fuzz testing base 2022-06-04 01:19:17 +03:00
dzaima
9248d1e876 fix ⊔ leaving item shape uninitialized 2022-06-03 23:40:55 +03:00
dzaima
d3555b4af6 fix •Import when execution errors 2022-06-03 20:35:38 +03:00
dzaima
f9a8eb0ce3 static noinline apparently results in argument slots being optimized out
but that means that the arguments between the two won't align, resulting in unnecessary 'mov's
2022-06-03 02:51:09 +03:00
dzaima
2697e749e1 better ⌾ fallback 2022-06-02 03:30:39 +03:00
dzaima
cb1338951c more shcpy 2022-05-30 17:53:54 +03:00
dzaima
3455bed3ee remove pointless check in ≠𝕩 2022-05-30 15:12:48 +03:00
dzaima
3c314e266a correct format string 2022-05-30 02:13:50 +03:00
dzaima
79bd6fc689 use shProd more 2022-05-30 02:07:25 +03:00
dzaima
cc44b3e57b shProd 2022-05-30 01:54:47 +03:00
Marshall Lochbaum
68914c1a39 Native dyadic Rank modifier implementation, except empty frames 2022-05-29 18:14:04 -04:00
Marshall Lochbaum
3947463c34 Native dyadic Rank modifier implementation when one or both arguments are full rank 2022-05-29 18:14:04 -04:00
Marshall Lochbaum
2c0de9ee02 Check rank vector completely before starting computations in ⎉ 2022-05-29 18:14:04 -04:00
dzaima
e2fda60745 profiler 2022-05-29 22:02:50 +03:00
dzaima
a108ef2ce7 use eqShPart in arithd.c 2022-05-29 14:44:44 +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
093958f92a
Merge pull request #21 from dzaima/ffi
FFI
2022-05-28 01:29:21 +03:00
dzaima
af194b55ae make •FFI read relative to file 2022-05-22 04:42:59 +03:00
Paul A. Patience
e684c64847 Add •file.Remove 2022-05-13 21:18:47 -04:00
Paul A. Patience
fdeae8fbfe Add •file.Rename 2022-05-12 18:19:23 -04:00
dzaima
d186294e28 allocate at least minimum size, rename functions 2022-05-11 22:56:14 +03:00
dzaima
a601ba6a76 very unfinished FFI 2022-05-11 22:30:14 +03:00
dzaima
409524d958 noinline version of vec_add 2022-05-11 18:31:49 +03:00
dzaima
ec273f2102 fix •file.CreateDir 2022-05-10 14:19:15 +03:00
dzaima
63bd4a876e •file.CreateDir 2022-05-09 22:57:37 +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
0164e4e0bc lazy i8/i16 ∧𝕩 & ∨𝕩 2022-05-01 03:30:11 +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
cee8e841f9 better fillarr creating in •internal.Variation 2022-05-01 02:49:10 +03:00
dzaima
0907458b4d allow c32 to use i32 path in ⍋𝕩 2022-05-01 02:34:47 +03:00
dzaima
836fe9184a deduplicate things in ⊏ 2022-05-01 02:24:51 +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
426187be07 make •SH run under cygwin 2022-04-29 22:38:18 +03:00
dzaima
3f92c32399 no-op ⥊vec 2022-04-25 18:10:37 +03:00
dzaima
53b7b2465e correct floating point order of +´ and ×´ 2022-04-21 15:51:10 +03:00
dzaima
6f5414b2a5 ∨`bitarr 2022-04-21 15:12:23 +03:00
dzaima
cd431d3338 singeli +` 2022-04-21 03:51:37 +03:00
dzaima
826e9c693a fix 2×´1‿1 2022-04-18 23:23:46 +03:00
dzaima
996009bf09 remove unnecessary header inclusion 2022-04-12 16:58:33 +03:00
dzaima
2e6f94bbf5 move immintrin.h file within ifdef 2022-04-12 16:57:47 +03:00
dzaima
a4a72a78c4 singeli select (disabled) 2022-04-12 16:45:43 +03:00
dzaima
c54e63099f additional check in •internal.Variation 2022-04-12 16:24:25 +03:00
dzaima
f079aa5f76 move select to its own file 2022-04-12 16:23:43 +03:00
dzaima
d28454206d check •term.OutRaw & •term.ErrRaw input, fix •bit._cast overflow check 2022-04-09 22:53:57 +03:00
dzaima
fcb6a164ca fix •bit._cast on large inputs 2022-04-09 20:14:42 +03:00
dzaima
355bd5646e correct •file.MapBytes name 2022-04-09 19:51:27 +03:00
dzaima
acc8e35c2f •file.MapBytes 2022-04-09 19:45:14 +03:00
dzaima
422dc80283 decG round 4 2022-04-07 17:19:36 +03:00
dzaima
ff6a0a6d22 decG round 3 2022-04-07 16:03:50 +03:00
dzaima
69067b8fcc decG round 2 2022-04-07 15:15:28 +03:00
dzaima
9b8f8f3725 decG round 1 2022-04-07 13:56:11 +03:00