Commit Graph

2383 Commits

Author SHA1 Message Date
dzaima
d1e511bebd add padding before allocations & document it 2023-07-13 16:20:37 +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
vylsaz
ce255c4a53 Enable •file.CreateDir on Windows 2023-07-11 01:11:28 +00:00
dzaima
0601a86f56 don't special-case 2/𝕩 on NEON 2023-07-11 02:40:05 +03: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
158a3beb2e partially clear object on free in debug mode
catch some more of what valgrind would relatively cheaply
2023-07-10 22:55:19 +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
cb9f4dbbc1 remove debug include
:|
2023-07-10 19:19:55 +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
dzaima
bf89d2d561 a little size reduction on write_indices 2023-07-10 16:29:21 +03:00
Marshall Lochbaum
f6d1f9fcab Move utilities from bins to appropriate files 2023-07-10 07:14:44 -04: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
46c6d47055 Permutevar instead of shuffle for 4-byte vector binary search 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
fc57e0012d Shuffle-based 4-byte vector binary search 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
af5ba0a2d2 Switch from Eytzinger to linear search on extra lanes 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
64ae8f9afd Slightly better blend pattern for >16-byte bit table 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
c8d20fbf26 And 2-byte vector binary search on 4 lanes 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
fe92f91ca1 2-byte vector binary search on 2 lanes 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
d19df2693a Merge 1-byte table code with normal bins_lookup 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
f36dc7adba Use max-scan instead of plus-scan for 1-byte Bins table 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
8054597004 Handle up to 64 unique values in bit-table 1-byte Bins 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
b62bd02bc0 Precomputed midpoint bits in vector binary search
Clang already optimized to this but it's more explicit
2023-07-10 07:13:21 -04:00
Marshall Lochbaum
7f5ba961c2 Use default bins_lookup if there's no AVX2 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
1080236433 2-byte vector binary searches 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
d665b90bbf Slightly faster binary search pattern with a blend 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
a711eb72eb Table-based 2-byte Bins, using max-scan 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
724f685a57 Cleanup 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
2c9e07f33d 1-byte Bins up to 32 unique eleemnts by unique lookup then index 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
81da9c586f Table-based 1-byte Bins with >1-byte result 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
e0621f99f8 Unroll vector binary searches for different search depths 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
ed9e8b4057 Table-based 1-byte Bins implementations, including AVX2 2023-07-10 07:13:21 -04:00
Marshall Lochbaum
7161689196 Fix bin_search_vec over-writing 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
ff9919dde2 AVX2 binary search on one lane of i8 (unused for now) 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
ee84f9fe1f 4-way branchless binary search unrolling 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
5c7934387a update Singeli submodule, match{} → same{} 2023-06-29 15:19:57 +03:00
dzaima
a67a19dd0b move pair{{a,b}} expanding to base.singeli 2023-06-29 01:31:58 +03:00
dzaima
4ee8dfbbda update Singeli submodule, use destructuring parameters 2023-06-28 00:59:28 +03:00
dzaima
3ae9b14d64 separate arith inits, add comments on init order 2023-06-23 12:10:42 +03:00
dzaima
7618dce2f3 fix return value of overflowed dyadic arith 2023-06-23 12:10:42 +03:00
dzaima
5f43bf16b3 add direct typed array type test macro 2023-06-23 12:10:42 +03:00
dzaima
4dbe72ae03 properly indicate estimating Singeli instructions 2023-06-23 11:51:34 +03:00
dzaima
8f8380749b generic Singeli builds 2023-06-16 11:12:15 +03:00
dzaima
5032c9a3ab remove unnecessary 'over _ to' 2023-06-15 19:12:20 +03:00
dzaima
90e7537225 move maskedLoopPositive to @-based 2023-06-15 19:09:53 +03:00
dzaima
dee29a1a02 block → iter 2023-06-15 18:11:57 +03:00
dzaima
9da567cd57 switch to new Singeli block execution 2023-06-15 18:08:57 +03:00
dzaima
2da457dafa fix el_half 2023-06-15 00:32:19 +03:00
dzaima
4260ef93b3 rename away underscores in __adds and __subs
plus add NEON addw, subw, and mulw (which is renamed from mul1)
2023-06-12 00:52:09 +03:00
dzaima
2a52dff482 @-forms of maskedLoop and muLoop 2023-06-12 00:52:09 +03:00
dzaima
fe8892ce6c rearrange shrm/shlm args, slightly better NEON homMask{[16]u8} 2023-06-12 00:52:09 +03:00
dzaima
336f986986 change error messages in ◶ 2023-06-12 00:52:09 +03:00
dzaima
8542ba071d homMaskX, merging multi-arg homMask 2023-06-07 18:14:18 +03:00
dzaima
934a2b5ae3 rearrange things 2023-06-06 21:44:50 +03:00
dzaima
087bf06cac fix type warnings 2023-06-01 20:12:51 +03:00
dzaima
efa1c4a4ff __declspec(dllexport) 2023-06-01 19:04:34 +03:00
dzaima
78bef5fe32 consistent 𝕨⊏𝕩 error messages across argument types 2023-05-30 14:28:36 +03:00
dzaima
2eb12fef82 fix replxx under os=windows 2023-05-30 13:37:15 +03:00
dzaima
7e5b2e0557 don't unroll/vectorize extremely tiny loop 2023-05-30 12:52:17 +03:00
dzaima
5738712bbb improve environ declaration 2023-05-30 12:52:00 +03:00
dzaima
c03dd349e4 disallow •ReBQN constructing namespaces, ignore RETD in interactive REPL 2023-05-27 16:37:42 +03:00
dzaima
da5280021c rename compile → compileAll 2023-05-27 15:38:57 +03:00
dzaima
227dfa20c7 use isatty as a default for notui 2023-05-25 00:16:16 +03:00
dzaima
55e0409582 don't CTZ(0) in gcd 2023-05-24 15:13:25 +03:00
dzaima
c3681a0557 update type number comments 2023-05-22 14:17:53 +03:00
dzaima
3872f5a625 fix 𝕨∾𝕩 reuse logic 2023-05-22 11:40:37 +03:00
dzaima
20a946d085 dynamically switch fork functions 2023-05-22 00:32:44 +03:00
dzaima
b093ebbc66 finish PICK_IDX message 2023-05-22 00:18:59 +03:00
dzaima
f0744f16d0 fix erroring variable read 2023-05-22 00:11:21 +03:00
dzaima
e8caed529c fix JIT SETUi/SETMi/SETCi missing unset variable checks 2023-05-22 00:08:20 +03:00
dzaima
de5bcfe211 static library 2023-05-21 23:47:40 +03:00
dzaima
fd72ea79c8 another gcc warning 2023-05-21 23:39:18 +03:00
dzaima
d15d8febbe slightly less wrong superset fills for 𝕨∾𝕩 2023-05-20 14:28:37 +03:00
dzaima
d6609df820 reserve •CurrentError with namespace 𝕩 2023-05-20 14:28:37 +03:00
dzaima
1e22b48225 in-place ∾ for fillarrs & fillslices 2023-05-20 14:05:22 +03:00
dzaima
bc19e7372d fix pointer check in eachm_fn 2023-05-20 14:05:22 +03:00
dzaima
e781ae21ee give PUSH_COMP access to the updated source string 2023-05-20 13:22:24 +03:00
dzaima
7f46de18fc add missed refcount decrements 2023-05-20 01:30:02 +03:00
dzaima
c9e7dc9976 remove a debug include 2023-05-20 00:01:35 +03:00
dzaima
ad49a9b26d guarantee a space fill to compilation 2023-05-19 22:51:02 +03:00
dzaima
e8d286da3b proper in-place updating in compile() 2023-05-19 22:51:02 +03:00
dzaima
ea70e06eac fix >⟨2,<<3⟩ 2023-05-19 22:51: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
d930e7f975 add nogc message to thrF 2023-05-19 17:32:14 +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
8bfe2b6b5b fix unrolled integer |𝕩 (not used currently) 2023-05-19 13:15:51 +03:00
dzaima
616fd48785 base.singeli additions 2023-05-19 13:15:51 +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
93e590fd9d One case for dyadic constant-each 2023-05-18 15:40:52 -04: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
e355395e7a remove duplicated check 2023-05-17 20:53:26 +03:00
dzaima
4f15e1572d disallow •Out ⋈0 2023-05-17 20:50:21 +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
a3e8a1388d move all targets to build.bqn with Singeli & REPLXX enabled by default 2023-05-12 20:51:25 +03:00
dzaima
2f51974c2f use proper pointer conversion macros in ffi.c 2023-05-12 19:36:02 +03:00
dzaima
f229b3c486 fix rtperf
not that anyone uses it anymore
2023-05-12 16:34:23 +03:00
dzaima
a39264533e custom _mm_loadu_si16/_mm_storeu_si16 for old gcc 2023-05-12 16:34:23 +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
53fb8db06f SSSE3 support in bit-table code 2023-05-11 21:05:24 -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
9658104f3e Unify AVX2 bit-table code between Member-of and Mark Firsts 2023-05-11 21:04:58 -04:00
Marshall Lochbaum
ba43dae908 Heuristic filtering when AVX2 Mark Firsts sees multiple new values 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
2fafe11d7c Fix fill_bittab tail masking for t=0 and simplify 2023-05-11 20:59:53 -04:00
Marshall Lochbaum
017e2433fb Fast paths for all empty-argument search cases 2023-05-11 20:59:53 -04:00
Marshall Lochbaum
e45231154c Reverse lookup initialization for 1-byte Member-of 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
4b0cd3217f proper statement definition of assert 2023-05-11 15:28:23 +03:00
dzaima
fe39fe1932 remove Md1H/MD2R 2023-05-11 15:28:23 +03:00
dzaima
e775202684 describe types in src/README.md 2023-05-10 00:05:29 +03:00
dzaima
a8738c68ed update bytecode submodule 2023-05-09 21:54:01 +03:00
dzaima
5979c0fed9 pass fully native primitives to r1 2023-05-09 21:50:16 +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
56d1453185 use destructuring more in Singeli 2023-05-06 13:18:00 +03:00
dzaima
4ff4460d67 put logging behind the macro check 2023-05-06 02:05:38 +03:00
dzaima
f640767e97 increase JIT memory allocation size
virtual memory should make it not matter for memory usage, or maybe even very slightly improve it due to less page table fragmentation
2023-05-06 01:11:30 +03:00
dzaima
45cc672af1 move allocation log message to before allocating
and print result
2023-05-06 01:09:34 +03:00
dzaima
78159f4f04 check for the proper failure value in mmap_nvm 2023-05-05 23:04:22 +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
9fd80e3193 split buckets above 2^20 bytes when possible 2023-05-04 12:28:47 +03:00
dzaima
1bd9467a2d cleanup 2023-05-04 12:27:13 +03:00
dzaima
776b0b2b47 fix estimated UTF-8 length of codepoints 2047 and 65535 2023-05-02 10:49:11 +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
e40d056ee4 use err() for unexpected state 2023-04-29 17:39:13 +03:00
dzaima
5e29ec72ce sanity test of mmap address top 16 bits being 0 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
a855d03b93 use %c in v_merge 2023-04-29 17:39:13 +03:00
dzaima
a0d384060a unify implementations of m_vec1 and m_unit 2023-04-29 17:39:13 +03:00
dzaima
3b580cbd0c rename unit creation methods 2023-04-29 17:39:13 +03:00
dzaima
88c19cedec attempt at cleaning up mut.c a bit 2023-04-29 17:39:13 +03:00
dzaima
56e4863f66 typedef c8/c16/c32 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
229a32237a slice checking macro refactor 2023-04-29 13:24:20 +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
3761eafd0a fix fills 2023-04-28 18:54:52 +03:00
dzaima
5c64c32aa9 allow GC between APD calls, delay shape errors 2023-04-28 18:54:52 +03:00
dzaima
7b877d368f move fill handling to APD 2023-04-28 18:54:52 +03:00
dzaima
2f46b80b82 yet another mutable temporary array thing 2023-04-28 18:54:52 +03:00
dzaima
880efa38b4 better fill equality checking utilities 2023-04-28 18:51:41 +03:00
dzaima
d0e76ec436 better selfElType 2023-04-28 16:22:13 +03:00
dzaima
34a4d48d95 make singeli assertions checked in debug mode 2023-04-28 15:10:08 +03:00
dzaima
187eea1197 use memcpy for non-tiny equal-size copying 2023-04-26 20:19:05 +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
586aeaea2d HARR_FP 2023-04-25 21:44:55 +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
0b2ed69fba add a NOGC_E in mut_pfree
fixes >⟨"ab"‿1,"a"⟩ in debug builds unnecessarily breaking
2023-04-24 01:01:35 +03:00
dzaima
b4a207a924 better fix for in-place 𝔽¨𝕩 on fillslice 𝕩 2023-04-23 22:49:19 +03:00
dzaima
927814d182 fix ⊢¨ {a←𝕩 ⋄ ⥊𝕩} 2‿3⥊<"a" 2023-04-23 22:17:32 +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
1ff31f1df3 don't hard-code VERIFY_TAIL size
+ improve error message
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
3e9f1ce1b0 arr_shErase 2023-04-22 16:33:55 +03:00
dzaima
6c988c3804 ptr_incBy 2023-04-22 13:06:13 +03:00
dzaima
e0479adee4 fix rank overflow check in 𝕨⥊𝕩 2023-04-22 11:53:54 +03:00
dzaima
20b3867581 change %c in format strings to u32 unicode codepoint 2023-04-22 10:58:25 +03:00
dzaima
2f59dec8b7 fix fallback profiler_start signature 2023-04-22 01:27:46 +03:00
Marshall Lochbaum
b6590b0eab Move Insert implementation to fold.c, except the generic case 2023-04-21 22:00:08 +03:00
dzaima
e276779eca fix heapverify 2023-04-21 21:53:11 +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
a7ceda6b28 fix float NaN comparison 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
9bb7fa406b add assertion for arr_shReplace rank expectation 2023-04-21 15:50:42 +03:00
dzaima
01b17ea0d9 remove now-unnecessary workaround for float constant 2023-04-21 15:46:54 +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
53fe627e6e allow hashing operation type wrappers 2023-04-19 21:40:29 +03:00
dzaima
1bc439c214 ARMO needs source mapping 2023-04-17 13:19: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
a622a6761b use vtestz/vptestz instead of movemask for mask-any checks 2023-04-15 15:10:58 +03:00
dzaima
712707d27b integer avx2 bitwise operation definitions
mainly for reduced casts in C output
2023-04-15 15:00:57 +03:00
dzaima
722107e470 move makeOptBranch to base.singeli, use in search 2023-04-15 12:32:14 +03:00
dzaima
147d4530c1 slightly better overflow check for i8×i8→i8 2023-04-15 01:53:04 +03:00
dzaima
bbb9e7f0ed don't overflow-check widening array-scalar cases when not needed 2023-04-15 01:19:09 +03:00
dzaima
04ccf9fd49 add compare.c to single.c 2023-04-14 21:24:51 +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
08885fabad remove extraneous v+0 in normalizeFloat 2023-04-14 20:06:54 +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
3623fbd5ba equality check cleanup 2023-04-14 18:09:38 +03:00
dzaima
2413236d51 format ¯0 as 0 2023-04-14 16:28:27 +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
94bcc4bcc1 make debugger helpers print to stderr 2023-04-14 14:58:11 +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
4f382476ff src/README.md GC notes & other cleanup 2023-04-13 22:03:17 +03:00
dzaima
6239e2f2dd add binary mode flag to fopen calls 2023-04-13 15:54:34 +03:00
dzaima
1db746ea77 Singeli compile-time cdiv & low-stack @collect 2023-04-09 15:03:44 +03:00
dzaima
b66f628cff tiny improvements to plus-scan 2023-04-09 12:09:52 +03:00
dzaima
9951f20751 clean up some error messages 2023-04-08 22:12:15 +03:00