Commit Graph

165 Commits

Author SHA1 Message Date
dzaima
4e88dc1004 faster ⊏˘ 2022-12-29 20:32:17 +02:00
dzaima
41efcfb632 fast ∾˝ & 𝕨ScalarFn˝𝕩 2022-12-29 18:46:14 +02:00
dzaima
8a132467d2 improve EACH_FILLS cases in ¨ & ⌜ 2022-12-28 22:38:14 +02:00
dzaima
6a9e03bdb1 use arr_shSetU/arr_shSetI inline
and use incG more in rank_c2
2022-12-28 17:31:02 +02:00
dzaima
013897cc16 add runtime calls to WARN_SLOW 2022-12-26 23:15:56 +02:00
dzaima
af978bbc91 cave in and initialize variables in gcc 2022-12-03 23:58:33 +02:00
dzaima
6ca5050f4d reduce gcc warnings 2022-12-03 23:56:03 +02:00
Marshall Lochbaum
5bfdc26d00 Move fold to its own file 2022-11-20 20:06:35 -05:00
Marshall Lochbaum
d6029985e8 Move scan to its own file 2022-11-16 19:48:37 -05:00
Marshall Lochbaum
e7c1918ba0 Native <` implementation using addition 2022-11-09 12:19:02 -05:00
dzaima
87d0fa5dc7 fix gcc 9 build 2022-11-08 16:59:17 +02:00
Marshall Lochbaum
812b97dc51 Mark boolean +` result sorted and squoze 2022-11-07 20:23:15 -05:00
Marshall Lochbaum
666a41ab12 1- and 2-byte Singeli boolean +` 2022-11-07 17:54:11 -05:00
Marshall Lochbaum
f1ff499244 Implement multiple result types for non-Singeli +`bool 2022-11-07 17:09:41 -05:00
Marshall Lochbaum
7b3c69f9da Take sum first in boolean plus-scan; special code for sparse or boolean sum 2022-11-07 15:35:53 -05:00
dzaima
4daabd708a introduce calls.h, move vec_addN and vec_join to core header
and remove a bunch of apparently unnecessary mut.h imports
2022-11-02 23:17:52 +02:00
Marshall Lochbaum
447ce6163f Introduce bit_has and use for ∧´, ∨´, and 𝕨∊bool 2022-10-23 22:08:08 -04:00
dzaima
82ac059b75 disable clmul ≠` when pclmul not available 2022-09-30 20:06:52 +03:00
Marshall Lochbaum
cca64bba70 Move nescan.c into md1.c and constrep.c into slash.c 2022-09-30 11:40:37 -04:00
Marshall Lochbaum
cad566d547 Not-equals scan with carry-less multiply 2022-09-29 20:39:46 -04:00
Marshall Lochbaum
0c0d967dc3 Adjust Table thresholds for fast constant Replicate 2022-09-28 17:18:55 -04:00
dzaima
5c87c291f9 refactor unroll/vectorization disabling macros 2022-09-25 14:49:57 +03:00
dzaima
59e947cc20 more consistent type checking & conversion functions 2022-09-07 23:56:03 +03:00
dzaima
2299c8094e make gcc scream less 2022-09-07 20:28:45 +03:00
dzaima
7d716d5ce0 elInt 2022-09-01 11:17:49 +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
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
32d8c09e2b limit row-wise F⌜ to 7<≠⥊𝕩 2022-07-23 02:18:42 +03:00
dzaima
eb5b32319f make ∨`𝕩 run under valgrind 2022-07-10 02:01:59 +03:00
dzaima
fadde40f78 more incG 2022-06-26 23:48:30 +03:00
dzaima
025043b84e make arr_shVec return its argument 2022-06-10 00:08:13 +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
f686298664 Native empty dyadic Cells (˘) 2022-06-08 18:01:27 -04:00
dzaima
4a2d460998 fix tbl_c2 under OOM 2022-06-04 02:12:50 +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
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
ff6a0a6d22 decG round 3 2022-04-07 16:03:50 +03:00
dzaima
0c79b44ae0 output errors to stderr 2022-03-05 02:32:28 +02:00
dzaima
71c9c67e46 •bit._cast⁼, support inverses of 1- and 2-modifier builtins 2022-02-05 02:45:40 +02:00
dzaima
2e2dcb3134 ⌜ impls 2022-01-23 17:38:55 +02:00
dzaima
d2682c595b native dyadic ˝ 2022-01-22 19:34:40 +02:00
dzaima
3f79fc3773 native monadic ˝ 2022-01-22 19:30:24 +02:00
dzaima
5cde913c78 •CurrentError 2022-01-08 21:55:19 +02:00
dzaima
588350d85b native dyadic ˘ 2022-01-06 04:39:09 +02:00
dzaima
14d298231f all native builtins 2021-12-30 02:28:20 +02:00
dzaima
d68e278083 move nsTime to its own file 2021-12-29 19:49:16 +02:00
dzaima
44dc602425 native rank>2 ⍉ 2021-12-20 00:52:53 +02:00
dzaima
88c5a16678 native monadic ⎉ 2021-12-19 15:26:21 +02:00
dzaima
0c5b98772c m_harrs → M_HARR 2021-12-17 18:04:19 +02:00
dzaima
8cfbaf8b30 enum of primitive numbering 2021-11-03 20:28:00 +02:00
dzaima
561199ab16 fast 𝕨∨´𝕩 and 𝕨∧´𝕩 2021-10-04 11:15:21 +03:00
dzaima
85d27ddc83 fast 𝕨≠`𝕩 2021-10-04 11:11:40 +03:00
dzaima
573b97f60b fast ∧´ 2021-10-04 00:23:53 +03:00
dzaima
f0c6671ec0 fast ∨´ 2021-10-04 00:10:24 +03:00
dzaima
3d23d8ef70 fast ≠` 2021-10-03 23:57:43 +03:00
dzaima
1bca264db8 bitarrs 2021-10-03 23:18:30 +03:00
dzaima
797a848ed4 warn slow for unknown scans & folds & ⍋ 2021-09-26 01:04:18 +03:00
dzaima
a15f66c43b rename formatting functions 2021-09-25 13:53:53 +03:00
dzaima
20d0b3a288 time command 2021-09-23 10:46:49 +03:00
dzaima
811fe16f93 fix <˘"abc" 2021-09-21 19:12:50 +03:00
dzaima
c53b4b2294 move builtins.h to root of src 2021-09-21 17:28:25 +03:00
dzaima
ebb010ea34 re-enable <˘
appears to work as fine as the rest of the impl, don't remember what was wrong with it ¯\_(ツ)_/¯
2021-09-21 17:20:42 +03:00
dzaima
97c1b1d31d overflow builtin cleanup 2021-09-21 16:56:20 +03:00
dzaima
62a96f1196 squoze 2021-09-16 23:20:58 +03:00
dzaima
e98660bfa8 more typed array conversion 2021-09-11 23:17:17 +03:00
dzaima
ed2374fcc7 ∨` 2021-09-10 21:01:31 +03:00
dzaima
732610fba1 typed 𝕨𝔽`𝕩 2021-09-10 19:42:08 +03:00
dzaima
b2070ea70f fix +`i8arr 2021-09-10 19:26:52 +03:00
dzaima
e55aa352f0 typed 𝔽` 2021-09-10 19:19:04 +03:00
dzaima
1022910b33 fix ⌈´ 2021-09-10 19:04:52 +03:00
dzaima
427450e5d8 typed 𝕨𝔽´𝕩 2021-09-10 18:40:48 +03:00
dzaima
85097f681a typed 𝔽´𝕩 2021-09-10 18:34:14 +03:00
dzaima
a36ae1a716 pass untagged pointer to get & getU 2021-09-09 23:52:18 +03:00
dzaima
59dcde16c9 untag this pointer of modifier impl functions 2021-09-09 21:38:56 +03:00
dzaima
cec962fb8c usz multiplication 2021-09-05 21:51:00 +03:00
dzaima
8aa0687ef9 reorganize typed arr files 2021-09-05 01:10:40 +03:00
dzaima
de86ce2aaa src/README.md, and cleaning up things while at it 2021-08-14 21:27:06 +03:00
dzaima
849eeff465 initialize ia on allocation always 2021-08-03 02:57:46 +03:00
dzaima
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
08df9bfe7b arrP_sh* → arr_sh* 2021-07-03 01:38:56 +03:00
dzaima
c52a042eb4 return Arr* from slices 2021-07-03 01:25:55 +03:00