Commit Graph

1931 Commits

Author SHA1 Message Date
dzaima
ce1032f80d second instruction shouldn't have a swap requirement anymore 2022-08-29 23:09:47 +03:00
dzaima
8ea2352a7b clear out swap table after first instruction generation 2022-08-29 23:08:38 +03:00
dzaima
70ee775a33 fix i16arr+i8arr overflow 2022-08-29 22:59:12 +03:00
dzaima
39a0a894e2 correct char-char→signed int overflow checking 2022-08-29 22:48:46 +03:00
dzaima
b37f620889 disable manual array F character loops when not running singeli 2022-08-29 19:46:41 +03:00
dzaima
78e5799147 merge dyarith.singeli and dyarith2.singeli 2022-08-29 19:18:20 +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
5a162c7929 macos-specific sub-second file times 2022-08-26 22:46:00 +03:00
dzaima
2939395906 fallback file time getting method 2022-08-26 22:31:10 +03: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
484158318a explicit JIT_ENABLED macro independent from JIT_START 2022-08-26 10:16:45 +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
5be18bb180 fix ∾⟨"ab",1⟩ 2022-08-23 17:16:07 +03:00
dzaima
355d7978ed include •file.Parent in system value docs 2022-08-23 17:11:15 +03: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
5112796cfd move m_unit out of header file 2022-08-21 15:48:04 +03:00
dzaima
c69a3373b9 better m_atomUnit 2022-08-21 08:50:33 +03:00
dzaima
7393c4b663 fully native ⊑ 2022-08-21 07:58:41 +03:00
dzaima
505f6869fc rt_join not needed anymore 2022-08-21 07:53:41 +03:00
dzaima
582ff8909b @ •FFI 𝕩 2022-08-21 07:49:09 +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
1fcc3b0030 saner bytecode metadata storage 2022-08-15 12:00:50 +03:00
dzaima
4b272148f5 make allocL after splitTo call skip empty bucket checking 2022-08-14 11:19:11 +03:00
dzaima
7e4096e572 nicer fold loops 2022-08-14 02:34:26 +03:00
dzaima
ff0ea7a0ad fix empty program check in REPL 2022-08-14 02:33:48 +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
3ab92ecd66 explicit pointer → u64 conversion
work towards gcc 32-bit x86 builds. (gcc sign-extended pointers without this changeset)
gcc miscompiles `union B` usage though (https://godbolt.org/z/hEWKdc5PK), which I can do nothing about, so clang is still the only option for 32-bit x86 builds
2022-08-10 10:20:48 +03:00
dzaima
a9b3b3de97 use TALLOC instead of m_shArr 2022-08-07 01:19:09 +03:00
dzaima
36e78da56f
Merge pull request #30 from mlochbaum/join
Native Join
2022-08-07 01:13:30 +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
dzaima
bac1eaf9e3 squeeze result of ¨ 2022-08-05 03:19:12 +03:00
dzaima
fd1ac7487c wyhash microoptimization 2022-08-05 03:08:39 +03:00
dzaima
98e3021efb fix bit boolean array hash only using the first 1/8 of the array 2022-08-04 02:55:19 +03: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
a5e206d009 always print sample sum in the profiler 2022-07-26 03:14:05 +03:00
dzaima
58f8772bd3 use singeli copy functions for mut copyG 2022-07-26 00:18:00 +03:00
dzaima
9acb9e6bf4 fix ⎉ low-rank fill computation 2022-07-26 00:04:13 +03:00
dzaima
d959482d44 move generic array copy to its own function 2022-07-25 05:21:14 +03:00
dzaima
6b90615896 more correct stack height going negative check 2022-07-24 22:18:22 +03:00
dzaima
c1b66c5982 don't bother iterating through generic array items in cpy.*Arr on free 2022-07-24 00:05:42 +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
8ca94cc623 make withFill properly know that a bit boolean array is a number array 2022-07-22 05:03:57 +03:00
dzaima
046284b96f random cleanup 2022-07-22 03:59:44 +03:00
dzaima
29fe3206cd fix path_rel with empty base path 2022-07-15 23:25:49 +03:00
dzaima
b43153495a a bit more valgrind debugging stuff 2022-07-10 06:07:28 +03:00
dzaima
5de154fb54 option to flush perf map after each write
e.g. for use while live debugging
2022-07-10 04:23:17 +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
aabaac977b more strict freed memory handling for valgrind 2022-07-10 02:40:43 +03:00
dzaima
a17d8004be make valgrind run under -DMM=0
even if it's not very helpful as CBQN requires being able to read garbage past allocation ends
2022-07-10 02:07:18 +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
9a00da6369 deduplicate ia writing 2022-07-09 02:18:22 +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
1a9d2d0118 apparently apple clang 11.0.3 infinite-loops on mmap_nvm too 2022-07-03 02:18:14 +03:00
dzaima
837372295d small simplification 2022-07-02 03:52:34 +03:00
dzaima
010db0b1fc mark direct access result const 2022-07-01 21:30:47 +03:00
dzaima
a6a1448382 bqn_copy & bqnffi.h comment cleanup 2022-06-30 17:44:01 +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
8882fb959a move scope_dec cycle handling to a noinline function 2022-06-27 19:50:30 +03:00
dzaima
d18ebc3d07 fix withFill previous fill check 2022-06-27 03:22:36 +03:00
dzaima
fadde40f78 more incG 2022-06-26 23:48:30 +03:00
dzaima
59f0aaa732 defer explain loading to when it's invoked 2022-06-26 22:14:30 +03:00
dzaima
997ced9d2e
Merge pull request #25 from Detegr/explain
support calling explain for an expression
2022-06-26 21:56:32 +03:00
dzaima
266c742b98 fix refcount 2022-06-26 21:54:41 +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
43b8b5e2a0 )escaped 2022-06-19 21:05:05 +03:00
Antti Keränen
0314f55a78 support calling explain for an expression 2022-06-18 22:09:36 +03:00
dzaima
0232cda412 support ARMM 0 2022-06-16 21:05:06 +03:00
dzaima
1fd88c1749 clean up ascii/utf8 functions 2022-06-15 15:31:57 +03:00
dzaima
e3da1da8f6 properly error on alias list being assigned to non-namespace 2022-06-14 03:36:40 +03:00
dzaima
6307356bab rearrange common array case to top 2022-06-14 02:40:50 +03:00
dzaima
f3fffd2b8d fix [a,b]+↩1 2022-06-14 02:33:41 +03:00
dzaima
3b82419202 fix error messages 2022-06-14 02:28:13 +03:00
dzaima
f9d251ec08 ARRO/ARRM→LSTO/LSTM 2022-06-14 02:12:37 +03:00
dzaima
5e0bda6a28 ARMO & ARMM 2022-06-14 02:09:41 +03:00
dzaima
8a84726e6e fix wasm build 2022-06-12 22:33:59 +03:00
dzaima
baa4641a44 don't needlessly include sys/mman.h 2022-06-12 22:29:35 +03:00
dzaima
5a32a00f46 more checks of NO_MMAP 2022-06-12 22:12:08 +03:00
dzaima
ab69f86cb5 store fill in FillSlice 2022-06-11 17:36:51 +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
638891bde1 missing double-space 2022-06-09 18:15:30 +03:00
dzaima
a298bc3018 more function name cleanup 2022-06-09 18:12:15 +03:00
dzaima
5636c1e2ca clean up some function names 2022-06-09 04:10:46 +03:00
dzaima
2359e54661 a bit saner heap format 2022-06-09 04:10:23 +03:00
dzaima
82fc2a2bda remove rt_rank 2022-06-09 04:09:07 +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
b865eb84ba make known type mut functions take data pointer instead of Mut* 2022-06-08 03:48:31 +03:00
dzaima
f74f355360 explicit switches in mut.h & update comments 2022-06-08 01:00:02 +03:00
dzaima
b48b184f14 reduce binary size by 1% by a less horrifically unrolled m_scope 2022-06-07 19:19:59 +03:00
dzaima
6b6f2892b7 free error message object 2022-06-07 18:47:13 +03:00
dzaima
14b7942556 )clearImportCache 2022-06-05 17:17:20 +03:00
dzaima
0674c6bafb ffi: more const 2022-06-05 13:35:22 +03:00
Antti Keränen
8923f6a3b8 ffi: make bqn_evalCStr use a constant string 2022-06-05 10:22:13 +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
f8447d9b5f properly restore compilation globals in case compiler errors 2022-06-04 01:24:52 +03:00
dzaima
8ad7b6149f OOM fuzz testing base 2022-06-04 01:19:17 +03:00
dzaima
1e2b734f5d fix incorrect refcounting of 7dc4f1 2022-06-04 01:13:03 +03:00
dzaima
b32b818df7 fix m_shArr erroring within arr_shAlloc 2022-06-04 00:35:22 +03:00
dzaima
7dc4f1c36c reorder compile to do allocations after initializing Comp 2022-06-04 00:04:46 +03:00
dzaima
9248d1e876 fix ⊔ leaving item shape uninitialized 2022-06-03 23:40:55 +03:00
dzaima
e92dce58fb shared library build 2022-06-03 22:04:48 +03:00
dzaima
9d97c20c38 bqn_init 2022-06-03 21:17:25 +03:00
dzaima
d4da8a1127 update stack pointer before allocations 2022-06-03 20:54:23 +03:00
dzaima
d3555b4af6 fix •Import when execution errors 2022-06-03 20:35:38 +03:00
dzaima
2dbbb3415e fix m_nsDesc failing to allocate leaving body->nsDesc uninitialized 2022-06-03 19:50:26 +03:00
dzaima
6aada8338e proper state restore after failed allocation in codegen 2022-06-03 17:17:30 +03:00
dzaima
86fc9041fa print fallback stacktrace code to stderr 2022-06-03 16:24:43 +03:00
dzaima
73ff6fe722 add interrupt check to allocation slow slow path 2022-06-03 16:04:48 +03:00
dzaima
572bc04459 move interrupt check to its own header 2022-06-03 16:02:02 +03:00
dzaima
7a21f9ef73 experimental REPL interrupting 2022-06-03 15:38:32 +03:00
dzaima
47e4e68eee fix )profile@123 2022-06-03 14:47:43 +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
f1faff2866 fix FFI=1 build 2022-05-30 19:55:30 +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
df783d15a5 Align toKCells with rank_c1 changes 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
b8701d3502 more descriptive paths for self-hosted files 2022-05-29 22:20:50 +03:00
dzaima
960ae96591 show source-less & path-less entries in the profiler 2022-05-29 22:16:42 +03:00
dzaima
0380ee2a40 fix wasm builds 2022-05-29 22:05:04 +03:00
dzaima
e2fda60745 profiler 2022-05-29 22:02:50 +03:00
dzaima
5b2d221d0b bqn_type 2022-05-29 18:46:59 +03:00
dzaima
6033c2e90e flush pipes in g_pst 2022-05-29 16:12:14 +03:00
dzaima
a108ef2ce7 use eqShPart in arithd.c 2022-05-29 14:44:44 +03:00
dzaima
60a68c3c25 manual shcpy loop 2022-05-29 14:20:11 +03:00
dzaima
54645df2a9 use shcpy for copying shapes 2022-05-29 14:08:30 +03:00
dzaima
3fa0463241 manual eqShPart
mainly to not suffer the cost of function invocation, as the common case is len==1
2022-05-29 14:03:15 +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
04c2ce7ade tests for bqnffi.h 2022-05-28 17:35:30 +03:00
dzaima
093958f92a
Merge pull request #21 from dzaima/ffi
FFI
2022-05-28 01:29:21 +03:00
dzaima
622a5468d8 remove old ffi.h 2022-05-28 00:15:33 +03:00
dzaima
12631cb142 ffi tests 2022-05-27 23:57:56 +03:00
dzaima
662b23d808 add newline after fputs 2022-05-23 16:45:50 +03:00
dzaima
2775a92535 ffi: support **:type 2022-05-23 16:42:02 +03:00
dzaima
ec76a3cd70 ffi: *:t, scalar:t support for result 2022-05-22 16:13:13 +03:00
dzaima
e09cefd049 u64/i64 arguments, check whether integer arguments are exact 2022-05-22 14:42:16 +03:00
dzaima
af194b55ae make •FFI read relative to file 2022-05-22 04:42:59 +03:00
dzaima
c7e0b59e88 print more things to stderr 2022-05-22 04:40:13 +03:00
dzaima
e24f3c9df5 allow u64 result when lossless 2022-05-22 04:26:02 +03:00
dzaima
d0c63e4da4 fix FFI &f32 2022-05-22 04:02:55 +03:00
dzaima
1a8ee67d41 result & argument position selection 2022-05-21 23:47:02 +03:00
dzaima
af3c6b7857 add FFI=0 for presingeli build 2022-05-14 12:38:40 +03:00
dzaima
e7cc64aa89 nounroll 2022-05-14 12:26:42 +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
a938f32631 make FFI=1 do something 2022-05-12 14:36:10 +03:00
dzaima
d186294e28 allocate at least minimum size, rename functions 2022-05-11 22:56:14 +03:00
dzaima
09755e5e2c fix FFI : 2022-05-11 22:40:45 +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
5e67b87cf1 identity for f⌜ 2022-05-07 15:46:08 +03:00
dzaima
8c73112d6c pull latest singeli 2022-05-07 15:28:30 +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
f12e5fd1c0 move bqn_hash back to header 2022-05-01 04:36:59 +03:00
dzaima
3f787e3845 the tag includes type info anyways 2022-05-01 04:32:16 +03:00
dzaima
782750fd88 bqn_hash refactor 2022-05-01 04:21:17 +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
7ab504c8bc unified int & char cases for ⊏ 2022-05-01 01:53:45 +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
f8408f0ca6 check for System V calling convention OSes for JIT 2022-04-29 23:17:55 +03:00
dzaima
e979faea0e put mnvmExecBodyInline under a JIT_START check 2022-04-29 22:46:59 +03:00
dzaima
426187be07 make •SH run under cygwin 2022-04-29 22:38:18 +03:00
dzaima
de65d8a59b fix double-increment 2022-04-27 21:33:33 +03:00
dzaima
6abce22447 micro-optimize execBodyInline 2022-04-27 20:15:47 +03:00
dzaima
aefeb3c6fd fix emcc build 2022-04-26 19:32:29 +03:00
dzaima
3f92c32399 no-op ⥊vec 2022-04-25 18:10:37 +03:00
dzaima
de0352caf3 more usage of non-zero length for loops 2022-04-25 18:03:15 +03:00
dzaima
95455241a4 don't do useless tail case 2022-04-25 16:08:03 +03:00
dzaima
ab868a55f3 singeli copy 2022-04-25 03:06:11 +03:00
dzaima
37da98d871 singeli code cleanup 2022-04-21 22:05:47 +03:00
dzaima
7cd19c2840 use ~~ more 2022-04-21 19:35:35 +03:00
Marshall Lochbaum
3aea6aa9d0 Boolean prefix sum using AVX2 shuffling instead of pdep 2022-04-21 11:43:25 -04:00
dzaima
4c03520a07 use maskedLoop in dyarith 2022-04-21 18:33:36 +03:00
dzaima
113f72e86d singeli bitarr conversion to wider arrays 2022-04-21 18:27:20 +03:00
dzaima
b1fd85621a actually use maskstore 2022-04-21 17:48:05 +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
c3504ec42b proper includes 2022-04-21 04:13:14 +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
11d95b67d5 better error messages for no inverse header 2022-04-15 23:20:44 +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
767a2a9e38 make •file.MapBytes follow spec & fix error message 2022-04-10 05:12:21 +03:00
dzaima
2c2ed7920b directly copy data from typed array for file_wBytes 2022-04-10 01:00:08 +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
0ec0658ada oh right bqn_exec is a thing 2022-04-08 17:25:31 +03:00
dzaima
ccd00cd4cf use length argument in cbqn_evalSrc 2022-04-07 19:52:35 +03:00
dzaima
e38226895e cbqn_evalSrc 2022-04-07 19:45:43 +03:00
dzaima
7adb06a43d )r 2022-04-07 19:43:49 +03:00
dzaima
f136ca5e97 rename confusing m_funBlock to evalFunBlock 2022-04-07 17:36:02 +03:00
dzaima
bc5a279f55 fix PRECOMP 2022-04-07 17:31:01 +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
dzaima
04dbf9a9a4 add another sse3 include 2022-04-07 11:40:03 +03:00
dzaima
e7b551acc2 increase wasi stack size 2022-04-07 02:06:41 +03:00
dzaima
ff7a4cb0cb error on non-functional malloc_usable_size 2022-04-07 01:19:35 +03:00
dzaima
267a62d292 don't use mmap in allocStack for WASI 2022-04-07 00:04:12 +03:00
dzaima
15cf311425 use calloc to allocate memory on wasi 2022-04-06 22:53:07 +03:00
dzaima
e3baa868f7 put in a bit more effort printing messages while things are really bad 2022-04-06 22:38:51 +03:00
dzaima
e3e54bea06 extract single REPL input line execution to function 2022-04-06 20:59:33 +03:00
dzaima
502197b62f explicitly disable spawn on wasm 2022-04-06 20:05:27 +03:00
dzaima
b60bc7c3bf disable realpath & mprotect for wasm 2022-04-06 19:16:35 +03:00
dzaima
377b38b84f fix •term.RawMode fallback 2022-04-06 19:14:10 +03:00
dzaima
f4aee96e65 fix mmX_dumpHeap signature 2022-04-06 19:10:59 +03:00
dzaima
4a316c9398 don't include setjmp.h when CATCH_ERRORS=0 2022-04-06 18:52:54 +03:00
dzaima
6bce21b55c fix generic squeeze case 2022-04-04 21:38:35 +03:00
dzaima
ea5abeff18 simpler o2bu 2022-04-04 21:29:37 +03:00
dzaima
1609e8b651 singeli cleanup 2022-04-04 16:28:13 +03:00
dzaima
a3260edbce more copyG cases 2022-04-04 16:28:03 +03:00
dzaima
e3fe87d040 optimize eequal & expose as •internal.EEqual 2022-04-04 16:16:29 +03:00
dzaima
2148d191d9 flush between heapdump writes 2022-04-04 16:10:01 +03:00
dzaima
1ce5712a97 f64 case in ⊑ 2022-04-04 11:30:35 +03:00
dzaima
b9f5291a33 better basic num_squeeze 2022-04-04 10:02:30 +03:00
dzaima
4ed2d0bec2 sysfn cleanup 2022-04-03 17:38:06 +03:00
dzaima
a9331ef8f0 fast bit_cpy head & tail 2022-04-02 23:47:07 +03:00
dzaima
3e4b0e882d •internal.Temp 2022-04-02 20:40:46 +03:00
dzaima
02087d7611 split non-tail-calling part of equal to its own function 2022-04-02 20:05:03 +03:00
dzaima
e031b069fb test special float values 2022-04-02 20:00:34 +03:00
dzaima
36d5b8f9d8 tests 2022-04-02 18:20:18 +03:00
dzaima
b329ddee1d unaligned 128-bit vector loads 2022-04-02 17:57:49 +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
49ff5a04ff singeli ≡ 2022-04-02 16:58:35 +03:00
dzaima
9c9a91afa5 gdb helper function docs 2022-04-02 00:02:59 +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
54a9000d88 more general any-not-equal check 2022-03-28 02:54:13 +03:00
dzaima
09e48854dd skip 16-bit movmsk for addition & subtraction 2022-03-28 01:56:46 +03:00
taswelll
cebadbd301
fix •term.ErrRaw 2022-03-22 22:34:37 +01:00
dzaima
d66ade1303 remove i_ARR_2 from write_asm 2022-03-21 23:12:46 +02:00
dzaima
60d3ba8c64 singeli collect 2022-03-20 00:30:06 +02:00
dzaima
ba6e2adb5d inline i_ARR_2 2022-03-20 00:28:36 +02:00
dzaima
4de990a73b bit of singeli cleanup, JIT comment 2022-03-18 15:24:13 +02:00
dzaima
c1d2dd7168 fix gcc build 2022-03-16 14:14:31 +02:00
dzaima
7b031a2aa0 •file.Exists 2022-03-15 21:37:33 +02:00
dzaima
eae7501d36 fix •file.Type when file not present 2022-03-15 20:47:01 +02:00
dzaima
47c8c1e5de singeli: iota, better make 2022-03-13 18:46:57 +02:00
dzaima
d771f07b30 more random singeli additions 2022-03-13 15:40:59 +02: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
d2683992df slightly changed copy to B 2022-03-12 03:33:04 +02:00
dzaima
9d3067fa4b new mut interface 2022-03-12 03:08:25 +02:00
dzaima
09fe162b73 DONT_FREE fix, more gdb utils 2022-03-12 03:02:21 +02:00
dzaima
d8835d2407 very slightly faster •_while_ 2022-03-10 21:35:27 +02:00
dzaima
ef9d92be5c return 2 32-bit numbers from •Hash 2022-03-10 19:16:09 +02:00
dzaima
b7ec175901 rename •term.Raw→•term.RawMode 2022-03-10 19:04:24 +02:00
dzaima
0177680ddb include JIT memory in heap dump 2022-03-07 01:20:34 +02:00
dzaima
94e22ecf8f fix error message 2022-03-06 23:47:40 +02:00
dzaima
d2674db956 heap dump 2022-03-06 15:38:30 +02:00
dzaima
03978f333c make •bit._cast properly error on non-array 𝕩 2022-03-06 13:44:27 +02:00
dzaima
2ac2309ed8 fix refcount management in •bit._cast 2022-03-05 19:28:26 +02:00
dzaima
a1638f9fc5 fix •SH 2022-03-05 18:17:15 +02:00
dzaima
0c79b44ae0 output errors to stderr 2022-03-05 02:32:28 +02:00
dzaima
d53548e1e7 update src/README.md 2022-03-04 18:34:04 +02:00
dzaima
4ecd336595 )mem f 2022-03-04 18:31:54 +02:00
dzaima
022d760c95 rethrow(), fix •primitives after errored •ReBQN execution 2022-03-04 18:29:21 +02:00
dzaima
5cd19eafe8 vectorized dyadic arith tail element handling 2022-02-27 18:46:35 +02:00
dzaima
b1483e14e1 random singeli functions 2022-02-25 23:46:18 +02:00
dzaima
369831827a better singeli type restriction checks 2022-02-25 21:44:38 +02:00
dzaima
7af80e9e3c singeli cast changes 2022-02-25 18:22:26 +02:00
dzaima
de4914991a •term.OutRaw, •term.ErrRaw 2022-02-25 18:20:25 +02:00
dzaima
2049686527 •term 2022-02-16 01:41:46 +02:00
dzaima
5e865589b6 optimized f⌾(bitarr⊸/) 2022-02-06 19:06:03 +02:00
dzaima
d85fb9a592 •file.Type, •file.Name 2022-02-05 18:41:21 +02:00
dzaima
802b0611b8 src/README.md updates 2022-02-05 04:05:15 +02:00
dzaima
71c9c67e46 •bit._cast⁼, support inverses of 1- and 2-modifier builtins 2022-02-05 02:45:40 +02:00
Marshall Lochbaum
6b9375ed66 Check range for •bit._cast character types 2022-02-04 18:05:28 -05:00
Marshall Lochbaum
0ff92553a4 Better type (operand) processing for •bit._cast 2022-02-04 18:01:23 -05:00
Marshall Lochbaum
77dfaf75a4 Fix •bit._cast handling of boolean output with shared or slice input 2022-02-04 17:21:24 -05:00
Marshall Lochbaum
69e496f7fa Avoid •bit._cast aliasing, and all copying by using slices 2022-02-04 16:23:17 -05:00
Marshall Lochbaum
289763d1d1 Fix IS_ARR and IS_SLICE macro definitions 2022-02-04 16:13:40 -05:00
Marshall Lochbaum
fcc12ad8ee Fix handling of non-ambivalent modifier declarations in load.c 2022-02-04 16:12:53 -05:00
Marshall Lochbaum
a21efec47e •bit._cast prototype 2022-02-04 14:47:13 -05:00
dzaima
d9c0e38c12 fold extended scope free into no parent pointer case 2022-02-02 14:03:43 +02:00
dzaima
eca92b6a5d reorder scope_dec 2022-01-28 04:07:29 +02:00
dzaima
c27c244ccc add some extra casts for ARM clang 2022-01-26 16:59:56 +02:00
dzaima
0d977b73cd clean up some singeli 2022-01-25 19:54:18 +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
3fb793526c )erase; try to not oom on printing errors 2022-01-19 01:02:07 +02:00
dzaima
48e9e3d655 stdin for •SH 2022-01-18 02:32:20 +02:00
dzaima
b3e10af2b7 force-inline tag-checking functions 2022-01-16 04:55:26 +02:00
dzaima
39d1fc0eb3 fix precedence 2022-01-16 04:50:09 +02:00
dzaima
8403f82b9f more singeli build memory leak fix 2022-01-12 19:52:16 +02:00
dzaima
a6d4c8bb32 more singeli definitions 2022-01-12 18:29:27 +02:00
dzaima
5d3c801fb5 fix memory leak in singeli arith fallback & each fills 2022-01-12 16:10:41 +02:00
dzaima
3536c351fa preallocate oom message 2022-01-12 14:05:08 +02:00
dzaima
c4136d4a53 fix /⁼ with 64-bit usz 2022-01-11 18:54:40 +02:00
dzaima
a7b8dd86cf check array size overflowing on creation 2022-01-11 17:40:24 +02:00
dzaima
65c856693f fix t_harrPartial freeing 2022-01-11 00:55:57 +02:00
dzaima
675a0e8045 make body->bl an owned pointer 2022-01-11 00:32:58 +02:00
dzaima
3a510f99e5 pass direct u32 to bc_repr 2022-01-10 20:25:33 +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
6672d95ea8 fix c2iW/c2iX, )internalPrint 2022-01-06 03:51:21 +02:00
dzaima
6c4208f79d remove unused rt_merge 2022-01-06 01:22:31 +02:00
dzaima
ade183e635 bunch of header file changes 2022-01-06 01:17:10 +02:00
dzaima
9dc3ef1eb8 move mut_copyG out of header
i'd still like to be able to have the compiler invert a loop of mut_copyG-s to a switch over the type to various loops, but that doesn't even work as it probably can't guarantee that m->type doesn't change
2022-01-03 19:03:00 +02:00
dzaima
4d6369af06 remove fwTotal compensation
can cause overflows
2022-01-02 16:33:01 +02:00
dzaima
b6f43ec4be deduplicate a bit 2022-01-01 22:51:14 +02:00
dzaima
ff4573f65c bitarr generation in bit_sel 2022-01-01 22:41:29 +02:00
dzaima
0690ae114a wrap non-native builtins in cases that they exist 2022-01-01 15:33:41 +02:00
dzaima
2602a6499d rename block types 2021-12-31 17:48:19 +02:00
dzaima
08f04a8521 pass untagged pointer to under functions 2021-12-30 21:52:29 +02:00
dzaima
c7a6176be3 store untagged modifier in derived function object 2021-12-30 03:01:02 +02:00
dzaima
14d298231f all native builtins 2021-12-30 02:28:20 +02:00
dzaima
b656c9aa44 #define → typedef 2021-12-30 02:18:25 +02:00
dzaima
d68e278083 move nsTime to its own file 2021-12-29 19:49:16 +02:00
dzaima
81a47f1386 fix genRuntimeSrc 2021-12-28 00:07:08 +02:00
dzaima
0552ffbf37 make sorting set sorted flags 2021-12-25 18:24:22 +02:00
dzaima
7e39407eb4 reorder v_setI 2021-12-25 18:10:47 +02:00
dzaima
bebf1e4255 error location for autogenerated FAIL bodies
and also more )gc things
2021-12-25 18:01:52 +02:00
dzaima
04a530a532 fix ⍉f64arr 2021-12-20 18:29:20 +02:00
dzaima
3d5a92c1f3 faster integer squeeze 2021-12-20 00:53:13 +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
88c5a16678 native monadic ⎉ 2021-12-19 15:26:21 +02:00
dzaima
d873ce0d81 fix hash for bitarrs 2021-12-19 14:55:21 +02:00
dzaima
7c9439690b complete 2021-12-19 01:47:52 +02:00
dzaima
9054cf0b54 make vec_join be mostly not inlined 2021-12-19 01:45:05 +02:00
dzaima
7e89e190f2 )vars 2021-12-19 01:32:36 +02:00
dzaima
1770251bad singeli + & - & × 2021-12-18 22:30:00 +02:00
dzaima
0c5b98772c m_harrs → M_HARR 2021-12-17 18:04:19 +02:00
dzaima
12250ef202 changes to •ReBQN 2021-12-17 14:39:51 +02:00
Marshall Lochbaum
7b2c79fb87 Implement •primitives 2021-12-16 17:57:05 -05:00
Marshall Lochbaum
89e8cf5a6c Implement •ReBQN 𝕩.primitive processing 2021-12-16 14:29:19 -05:00
Marshall Lochbaum
9e5f488642 Allow custom compiler/runtime for non-REPL •ReBQN too 2021-12-16 14:29:19 -05:00
Marshall Lochbaum
4d394ea441 Store compiler and runtime in •ReBQN result 2021-12-16 14:29:19 -05:00
Marshall Lochbaum
5c2a921e56 Switch from fixed-primitives compiler (c) to variable (cc) 2021-12-16 14:29:19 -05:00
dzaima
b4425508c3 fix merge refcounting 2021-12-16 17:33:29 +02:00
dzaima
c4230ead74 remove duplicate definition 2021-12-16 12:29:25 +02:00
dzaima
23fc280383 fix leak in •file.List 2021-12-16 12:24:07 +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
e7662b0f6a separate array & scalar cases in arith builtins 2021-12-13 00:16:23 +02:00
dzaima
9044cd0ef0 allow high-rank 'a' in native F⌾(a⊸⊏) 2021-12-12 23:33:02 +02:00
dzaima
9e6b8ecaae throw error on reaching heap size limit if reasonable 2021-12-12 23:29:09 +02:00
dzaima
cd07af4e8b add g_pst gdb utility 2021-12-12 23:21:22 +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
1b878ccdb6 better readme 2021-12-10 22:49:04 +02:00
dzaima
3351f6b303 l*sizeof(B*) → l*sizeof(B) for copying l items in a B* 2021-12-10 21:51:09 +02:00
dzaima
3da8302249 cast ptrdiff to i64 2021-12-10 21:40:13 +02:00
dzaima
d0f4773120 use correct type for m_nns computation 2021-12-10 21:38:33 +02:00
dzaima
b9232a1f68 fix handling of first element in /⁼ 2021-12-06 11:01:52 +02:00
dzaima
9af0d4b66f don't inline hashmap size doubling function 2021-12-05 19:25:54 +02:00
dzaima
0b42b35d51 use variable in FL_KEEP 2021-12-03 14:29:41 +02:00
dzaima
3c09781d1a )gc, )mem 2021-12-01 17:09:19 +02:00
dzaima
c8b15987b5 optimize mm_allocS 2021-11-30 17:13:07 +02:00
dzaima
f81b680aad NOTM 2021-11-29 22:40:12 +02:00
dzaima
736861dd29 use native namespace to initialize REPL 2021-11-29 17:49:29 +02:00
dzaima
4f66b6b88a native namespace creation 2021-11-29 16:44:20 +02:00
dzaima
ef5864afbc global name list 2021-11-29 00:21:41 +02:00
dzaima
4af5f3d4a6 store Value* as gc roots 2021-11-28 21:56:01 +02:00
dzaima
94e38e7162 fix import A →import B; import A 2021-11-26 12:23:46 +02:00
dzaima
4697b91b1e fix >2 repeated imports & error on cyclical importing 2021-11-26 00:25:11 +02:00
dzaima
d032c97b13 cache monadic •Import 2021-11-26 00:01:37 +02:00
dzaima
0389eda29b inverse modifiers 2021-11-25 00:24:16 +02:00
dzaima
b76d30d4bc add •state and •name 2021-11-24 23:03:17 +02:00
dzaima
097f39da15 make •Type throw on bi_optOut 2021-11-23 10:30:13 +02:00
dzaima
996114a73b make file writing accept characters 2021-11-23 01:16:46 +02:00
dzaima
77144cd79c •math function inverses 2021-11-23 01:10:08 +02:00
dzaima
29bf1f1234 don't pointlessly copy register 2021-11-22 11:22:50 +02:00
dzaima
7168633f35 lGPos is set by following GET 2021-11-22 11:11:35 +02:00
dzaima
55c1d79d86 headers for immediate modifiers 2021-11-22 10:56:18 +02:00
dzaima
b000576572 native /⁼ 2021-11-22 00:24:59 +02:00
dzaima
c2e6c57007 cache builtin inverses 2021-11-21 23:24:41 +02:00
dzaima
ab49bb5d3d native -⁼ 2021-11-21 22:54:07 +02:00
dzaima
f155792856 native ⁼ 2021-11-21 21:27:08 +02:00
dzaima
f55e349999 inverse headers 2021-11-21 21:03:14 +02:00
dzaima
896049ab12 directly call scope_freeF from scope_dec 2021-11-20 17:30:09 +02:00
dzaima
cd97714ef5 ptr_dec with inlined freeing method 2021-11-20 17:09:05 +02:00
dzaima
ff6e6aa9c7 clean up evalBC 2021-11-20 16:56:54 +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
2baa9ac196 fix & speed up variable modification fns 2021-11-18 01:10:30 +02:00
dzaima
3ba3558c93 fills for monadic ⋈ 2021-11-13 23:00:36 +02:00
dzaima
68e1590325 machine code generation rework 2021-11-12 16:43:19 +02:00
dzaima
fde8f89354 remove _Thread_local because plenty other things don't have it 2021-11-07 19:01:29 +02:00
dzaima
ae07fd2312 remove pos updating for immediate SETN 2021-11-07 18:45:57 +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
a663c0bbee reorder md*Bl_d 2021-11-03 19:08:24 +02:00
dzaima
9bcf8d7d64 bl_m*d → md*Bl_d 2021-11-02 18:34:34 +02:00
dzaima
6aaaaeb39c more consistent print method naming scheme 2021-11-02 18:32:25 +02:00
dzaima
ce36f03f11 fix •SH for OSX 2021-11-01 19:51:44 +02:00
dzaima
026b15977b make precompiled.bqn run within CBQN 2021-10-30 12:05:38 +03:00
dzaima
f9253a477e fix zero printing 2021-10-28 22:03:51 +03:00
dzaima
0deb5cfcd4 add missing bytecodes to FOR_BC 2021-10-28 21:55:18 +03:00
dzaima
06c7e40642 ⋄ → ; in DEBUG_VM 2021-10-28 21:22:15 +03:00
dzaima
470bb0968a use hex in printBC 2021-10-28 21:21:25 +03:00
dzaima
e526fede86 clean up DEBUG_VM 2021-10-28 20:46:30 +03:00
dzaima
dba145a14b rename folder 2021-10-28 17:50:10 +03:00
dzaima
dfa04f4922 properly free 𝕩 when needed 2021-10-26 16:15:33 +03:00
dzaima
8eb3989d84 separate avx file 2021-10-25 16:18:03 +03:00
dzaima
071aebd8ea god dammit c compilers, why 2021-10-25 15:45:28 +03:00
dzaima
798f6e9e17 move length zero check outside singeli 2021-10-25 14:00:01 +03:00
dzaima
4e17e28d4a get rid of function pointer cast 2021-10-25 13:40:40 +03:00
dzaima
4717023167 cmp C cleanup, assert length!=0 before while 2021-10-25 12:27:21 +03:00
dzaima
f8798affc4 full array-scalar comparison error checking in singeli 2021-10-25 01:59:25 +03:00
dzaima
3e372620a2 array-scalar comparison function lookup table 2021-10-24 21:12:39 +03:00
dzaima
d42dd3dcf9 merged typed types 2021-10-22 17:11:54 +03:00
dzaima
4ca34e3f8e function lookup table 2021-10-22 09:53:40 +03:00
dzaima
5d76148c51 lazy singeli bit comparison fns 2021-10-22 00:58:34 +03:00
dzaima
71c454235c singeli 2021-10-22 00:17:44 +03:00
dzaima
f50b8ab503 fix fill of n↑fillarr 2021-10-20 18:29:28 +03:00
dzaima
e38e4f89ae overallocate heap 2021-10-19 18:12:27 +03:00
dzaima
044431bb7d less bad way of doing JIT jumps 2021-10-16 13:08:00 +03:00
dzaima
ef230f8dc0 remove static from function that isn't 2021-10-15 12:08:48 +03:00
dzaima
5c59f0de6f make precompiled.bqn work 2021-10-14 18:34:28 +03:00
dzaima
1816b6cd5d changes to rand.Range 2021-10-13 23:01:37 +03:00
Josh Holland
a290e4dc0d support arbitrary shape in rand.Range 2021-10-13 20:48:45 +01:00
dzaima
49622f59ce fix •wdpath refcounting 2021-10-12 00:56:42 +03:00
dzaima
d4f183ccda •wdpath, path_resolve → path_rel 2021-10-12 00:53:54 +03:00
dzaima
d98cb0b80a dyadic •file.At 2021-10-12 00:34:44 +03:00
dzaima
6860ba5f9d make some more flags compile 2021-10-11 22:39:52 +03:00
dzaima
363309a218 some cleanup 2021-10-11 21:50:16 +03:00
dzaima
1072a8aa77 break less on recursive errors 2021-10-10 23:24:53 +03:00
dzaima
b7f60ffb1c move GC tag resetting from alloc to another pass 2021-10-10 23:11:49 +03:00
dzaima
a62a41249e native ◶ 2021-10-10 22:54:39 +03:00
dzaima
5c2dfe8e18 verify path & arguments to be strings 2021-10-10 18:21:01 +03:00
dzaima
2c77470d99 dyadic •BQN 2021-10-10 17:48:39 +03:00
dzaima
debc4e2afe don't truncate max stack size 2021-10-09 14:47:26 +03:00
dzaima
71de4fcc59 don't use x++ on bool 2021-10-04 16:19:46 +03:00
sternenseemann
3909dca0cc builtins/sfns.c: fix compilation with GCC
B is interpreted as a label by GCC unless we make the block explicit by
surrounding it with curly braces.
2021-10-04 15:05:18 +02:00
dzaima
dc535763bc •_while_ 2021-10-04 15:13:39 +03:00
dzaima
e0b987930f fix error message of ⍟ 2021-10-04 13:59:33 +03: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
5224e03a1d deduplicate & and | impls in arithd.c 2021-10-03 23:31:37 +03:00
dzaima
1bca264db8 bitarrs 2021-10-03 23:18:30 +03:00
dzaima
3725bd58c7 hide unknown stackframes in non-debug mode 2021-10-01 23:08:48 +03:00
dzaima
34fb5c275a manual tables for bytecode switches 2021-10-01 22:48:33 +03:00
dzaima
ad436a07ee fix PRED in nested blocks 2021-10-01 20:25:23 +03:00
dzaima
bc7e7e3627 copy special name fix to ns_qgetU 2021-10-01 20:08:03 +03:00
dzaima
c4cc861054 fix namespace assignment to special name list 2021-10-01 19:59:55 +03:00
dzaima
07ae36e672 faster loop when not yet seen PRED 2021-10-01 19:01:28 +03:00
dzaima
89c19662d8 argument remapping for PRED 2021-10-01 18:52:03 +03:00
dzaima
dac6f29a41 more eachd_fn and eachm_fn out of header file 2021-09-30 20:24:14 +03:00
dzaima
1c83483d53 fix formatter incorrectly consuming an argument 2021-09-29 21:19:21 +03:00
dzaima
dc1295afb7 fix SETH in immediate bodies 2021-09-28 18:17:12 +03:00
dzaima
9631702b14 PRED 2021-09-28 18:09:22 +03:00
dzaima
eca2a7eca4 wrap MAP_FIXED_NOREPLACE in an ifdef 2021-09-26 22:41:41 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
7600431fa6 fix slow small array checks 2021-09-26 14:26:37 +03:00
dzaima
01b36e927f monadic arith slow warnings 2021-09-26 13:55:44 +03:00
dzaima
d2ea19c757 more slow warns 2021-09-26 13:36:37 +03:00
dzaima
797a848ed4 warn slow for unknown scans & folds & ⍋ 2021-09-26 01:04:18 +03:00
dzaima
2ddfc43682 function to print a sequence of bytecode 2021-09-25 23:19:23 +03:00
dzaima
084eaaecbd SETC 2021-09-25 23:05:15 +03:00
dzaima
4f0841c95e make -p use bqn_fmt 2021-09-25 22:25:41 +03:00
dzaima
28f40e5368 slow notes 2021-09-25 20:39:06 +03:00
dzaima
a91e351aee fix deep squeeze 2021-09-25 19:34:48 +03:00
dzaima
02605fe271 more tyarrTemplate.h instancing out of core.h 2021-09-25 15:53:42 +03:00
dzaima
a8c5dd6581 better squeezing 2021-09-25 15:26:06 +03:00
dzaima
ecb8af658b fix squeezing of ¯2147483648 2021-09-25 14:52:35 +03:00
dzaima
4bdc1ec3cd squeeze objects
negative effect on performance, but whatever
2021-09-25 14:39:48 +03:00
dzaima
a15f66c43b rename formatting functions 2021-09-25 13:53:53 +03:00
dzaima
749b3e1e81 Type to macro 2021-09-25 13:08:25 +03:00
dzaima
c492de413f fix ⌾⥊ error check 2021-09-25 02:52:26 +03:00
dzaima
8cc6732cd4 ⌾⥊ and ⌾(const G H) 2021-09-25 02:34:58 +03:00
dzaima
20d0b3a288 time command 2021-09-23 10:46:49 +03:00
dzaima
cfc5059627 support another variant of compiler assert 2021-09-22 23:03:12 +03:00
dzaima
bce0c2853c fix error formatting when there are >1 positions given 2021-09-22 22:58:51 +03:00
dzaima
fab1ffadf5 fifo support or whatever 2021-09-21 23:42:47 +03:00
dzaima
811fe16f93 fix <˘"abc" 2021-09-21 19:12:50 +03:00
dzaima
f73da4d7eb fix offset for JIT 2021-09-21 19:10:40 +03:00
dzaima
c1ff25a253 fix multi-body function error offset 2021-09-21 19:00:16 +03:00
dzaima
b076f4bd43 fix ¯∞ formatting 2021-09-21 17:50:23 +03:00
dzaima
c53b4b2294 move builtins.h to root of src 2021-09-21 17:28:25 +03:00
dzaima
b38e8c9aeb normalize tag whitespace 2021-09-21 17:24:23 +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
59ac1a00fb format single position compiler errors 2021-09-21 17:08:41 +03:00
dzaima
77cb03033d throw overflow error in isum 2021-09-21 17:02:38 +03:00
dzaima
97c1b1d31d overflow builtin cleanup 2021-09-21 16:56:20 +03:00
dzaima
6f99b58099 argument "-" for stdin file 2021-09-21 16:44:23 +03:00
dzaima
59a9a5daf4 make empty REPL line not stop REPL 2021-09-21 14:05:23 +03:00
dzaima
d1047fcdc6 make building on android possible 2021-09-21 11:59:04 +03:00
dzaima
3da7323c57 char specialized squeezing 2021-09-20 23:32:02 +03:00
dzaima
3bace2e33a more 𝕨⍋𝕩 fallback 2021-09-20 23:24:41 +03:00
dzaima
5db4967500 lamer JIT constant array folder 2021-09-20 13:24:04 +03:00
dzaima
7cc37e2723 special-case JIT ARRO for 1 and 2 items 2021-09-20 13:17:51 +03:00
dzaima
4246aa5694 more reasonable 𝕨⍋𝕩 fallback 2021-09-18 17:22:54 +03:00
dzaima
327ea102cd convert arguments to equal sizes in comparison 2021-09-18 13:52:54 +03:00
dzaima
44c07fd6ab integer ⌊⌈ 2021-09-18 13:28:06 +03:00
dzaima
f5ace72b27 ascending/descending flag 2021-09-17 15:22:38 +03:00
dzaima
9494ef7b9f don't keep fl_squoze of not actually guaranteed full squeeze 2021-09-17 15:12:23 +03:00
dzaima
663c318219 deep squeeze 2021-09-17 14:46:03 +03:00
dzaima
7f6740ec07 more flag clearing 2021-09-16 23:27:40 +03:00
dzaima
62a96f1196 squoze 2021-09-16 23:20:58 +03:00
dzaima
427d508324 more precise flags usage 2021-09-16 21:54:37 +03:00
dzaima
cd5f50e3eb incG 2021-09-16 17:09:12 +03:00
dzaima
0969acef35 don't keep around reuse in eachm 2021-09-13 12:28:12 +03:00
dzaima
e8fecf64fa generate c8arr in fromUTF8 2021-09-12 00:07:13 +03:00
dzaima
93f362c4f2 use str8l more 2021-09-11 23:52:27 +03:00
dzaima
83011df536 typed ⌾(a⊸⊏) 2021-09-11 23:39:58 +03:00
dzaima
9b779726b5 use conversion functions in Variation 2021-09-11 23:22:08 +03:00
dzaima
6cf3ccb7d5 use new conversion functions 2021-09-11 23:17:37 +03:00
dzaima
e98660bfa8 more typed array conversion 2021-09-11 23:17:17 +03:00
dzaima
0df5538a2a rename header files 2021-09-11 17:22:26 +03:00
dzaima
d748baab37 typed ⌽𝕩 2021-09-11 17:16:21 +03:00
dzaima
8b93156a9e ⊔ i8arr 2021-09-11 17:12:13 +03:00
dzaima
28566f5c9c i8 ∊, typed ≢ & ≍ 2021-09-11 17:06:27 +03:00
dzaima
23f2f4303b more mixed type arith 2021-09-11 00:34:10 +03:00
dzaima
ed2374fcc7 ∨` 2021-09-10 21:01:31 +03:00
dzaima
0a1cda63f5 mixed i8arr/i32arr arithd 2021-09-10 20:31:19 +03:00
dzaima
b09d3785fd more typed ⊏ 2021-09-10 20:21:06 +03:00
dzaima
fc67c92510 typed atomUnit 2021-09-10 20:03:10 +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
96c68b66c5 typed ⌾(n⊸⊑) 2021-09-10 17:59:26 +03:00
dzaima
c3b46a42bc typed ⥊ 2021-09-10 17:56:26 +03:00
dzaima
3d62f9c109 typed / 2021-09-10 16:54:31 +03:00
dzaima
82a32684f5 /i8arr, i32arr⊏* 2021-09-10 15:51:55 +03:00
dzaima
d8d56bbdd4 TmpFile→I8Arr 2021-09-10 15:24:07 +03:00
dzaima
1d43e72a16 updated src/README.md 2021-09-10 15:17:35 +03:00
dzaima
a36ae1a716 pass untagged pointer to get & getU 2021-09-09 23:52:18 +03:00
dzaima
12d5a5a829 i8arr grade 2021-09-09 22:28:39 +03:00
dzaima
59dcde16c9 untag this pointer of modifier impl functions 2021-09-09 21:38:56 +03:00
dzaima
818675e4c0 another place for arr_bptr 2021-09-09 19:22:36 +03:00
dzaima
32e476b0c2 fix ⥊ 2021-09-09 18:47:16 +03:00
dzaima
337a6bbc5e more changes 2021-09-09 18:42:48 +03:00
dzaima
85dd03ac11 more types for join & add 2021-09-09 18:14:14 +03:00
dzaima
f8962c1eb9 use generic squeeze for arith 2021-09-09 17:30:40 +03:00
dzaima
0913d3b8f2 ElType cleanup 2021-09-09 17:21:19 +03:00
dzaima
d568363144 fix -𝕩 2021-09-09 17:07:39 +03:00
dzaima
fded6996e6 squeeze & hash fixes 2021-09-09 16:59:47 +03:00
dzaima
a6251ff3e7 squeeze int arrs on withFill 2021-09-09 16:08:13 +03:00
dzaima
85f8a5e7bd saner comparison code 2021-09-06 01:02:11 +03:00
dzaima
ffc4cec1ae monadic i8/i16 arith 2021-09-05 23:26:31 +03:00
dzaima
b1b066ce5c atom-arr arith 2021-09-05 23:04:14 +03:00
dzaima
667ac0b1d6 extremely basic i8/i16arr arith 2021-09-05 22:56:25 +03:00
dzaima
45c2fb41cc matching el_i8 and el_i16 cmp impls 2021-09-05 22:33:36 +03:00
dzaima
4e883f4812 comparisons now return i8arrs 2021-09-05 22:23:46 +03:00
dzaima
c2f0c2e76c comparisons don't return floats 2021-09-05 22:14:50 +03:00
dzaima
cec962fb8c usz multiplication 2021-09-05 21:51:00 +03:00
dzaima
4299fef6b6 clz macro 2021-09-05 21:05:19 +03:00
dzaima
e5338e931f fuzzing support 2021-09-05 18:00:28 +03:00
dzaima
21ba88751a working i8/i16-arrs 2021-09-05 16:06:31 +03:00
dzaima
80be141968 tyarr.c 2021-09-05 02:58:18 +03:00
dzaima
a191222967 tyarrTemplate.h 2021-09-05 02:29:06 +03:00
dzaima
4961c22c8b more incorrect fsizeof 2021-09-05 01:55:29 +03:00
dzaima
e225da87c7 fix i32/c32-arr allocation size 2021-09-05 01:36:16 +03:00
dzaima
8aa0687ef9 reorganize typed arr files 2021-09-05 01:10:40 +03:00
dzaima
7547fc1679 randomize •rand, don't use m_i32 for time seconds 2021-09-04 23:26:35 +03:00
Jesus Galan Lopez (yy)
2d954c3e9c •Delay return value 2021-09-04 21:50:19 +02:00
Jesus Galan Lopez (yy)
146bb600ac •MonoTime 2021-09-04 20:56:26 +02:00
Jesus Galan Lopez (yy)
77573522b3 •UnixTime 2021-09-04 20:36:55 +02:00
Jesus Galan Lopez (yy)
72a5167813 •rand (simpler) 2021-09-04 19:25:27 +02:00
Jesus Galan Lopez (yy)
93caa03983 •rand 2021-09-04 19:16:12 +02:00
dzaima
21c376416c fix •FLines@ 2021-09-03 15:13:46 +03:00
dzaima
563e4a8780 new bytecode numbering 2021-09-03 00:46:34 +03:00
dzaima
2c7febca75 that was never a thing 2021-09-02 00:34:10 +03:00
dzaima
59241d86ff clean up asserts 2021-09-01 23:56:19 +03:00
dzaima
e577dca32e make !𝕩 throw 𝕩 2021-08-30 22:27:04 +03:00
dzaima
17a3ed150d fixes for usz==u64 2021-08-29 04:29:50 +03:00
dzaima
1d13a1ef07 •ReBQN with only the repl setting 2021-08-28 23:55:48 +03:00
dzaima
6b52c2069f compile-time separated DFND 2021-08-27 12:35:23 +03:00
dzaima
305f578707 add •Fmt, changes to readme files 2021-08-27 11:52:56 +03:00
dzaima
a7ee8044d1 mention *_c1/*_c2 in src/readme 2021-08-24 02:51:34 +03:00
dzaima
0c1d4843ab fix undefined path handling 2021-08-23 18:37:01 +03:00
dzaima
ca86971df3 •path, •file.path, •file.At 2021-08-23 05:28:48 +03:00
dzaima
5e6bf0df29 fix ↑‿3⥊3 once more 2021-08-23 03:05:48 +03:00
dzaima
63cafe8e7b unified filling for ⥊ and ↑
well except for ¯N↑
2021-08-23 02:30:06 +03:00
dzaima
68214dda53 fix ↑‿3⥊3 2021-08-22 23:41:37 +03:00
dzaima
a3f87d4dcb fix %f and clarify o2s message 2021-08-22 23:20:28 +03:00
dzaima
0899ee31b3 move inc(p) inside first use 2021-08-22 18:35:36 +03:00
Jesus Galan Lopez (yy)
080a800ac7 dyadic FChars, FBytes and FLines 2021-08-22 17:14:38 +02:00
dzaima
8f8828c671 fix no fill case in ⥊ and namespace destructuring in header 2021-08-22 04:58:01 +03:00
dzaima
750207f1f8 fix exponential notation 2021-08-21 06:16:07 +03:00
dzaima
b61380aa73 better number formatting 2021-08-21 05:52:17 +03:00
dzaima
a56a20b046 fix vm_fmtPoint on non-equal s and src types 2021-08-21 04:41:51 +03:00
dzaima
167351bdba more file descriptions in src/readme 2021-08-21 04:27:19 +03:00
dzaima
e8fc4c4f69 left arg for REPL 2021-08-21 04:14:50 +03:00
dzaima
5dbd1688bc •MakeREPL 2021-08-21 03:52:49 +03:00
dzaima
3991efd3cd full SETH 2021-08-21 03:32:11 +03:00
dzaima
b38db2dda0 use err more 2021-08-21 00:14:26 +03:00
dzaima
a1870123cd disable IEEE 754 check 2021-08-19 16:31:58 +03:00
dzaima
a99a80a7a0 VFYM 2021-08-19 00:37:54 +03:00
dzaima
7d43d74b28 make evalBC consume the scope 2021-08-16 02:24:34 +03:00
dzaima
0abb24821d fix SETH in JIT too 2021-08-16 01:28:05 +03:00
dzaima
521abe669d hopefully fix SETH refcounts 2021-08-16 00:48:15 +03:00
dzaima
0af6895f4b unfinished SETH 2021-08-15 03:54:13 +03:00
dzaima
de86ce2aaa src/README.md, and cleaning up things while at it 2021-08-14 21:27:06 +03:00
dzaima
5d82350b0b fix more things about multiple bodies 2021-08-14 18:32:27 +03:00
dzaima
5d1d3467d9 append only know character arrays in formatter 2021-08-14 16:35:23 +03:00
dzaima
10d0cdc2fe •SH 2021-08-13 23:22:37 +03:00
dzaima
5c829a7fd7 fix wrong sortedness check for body indices 2021-08-12 05:11:34 +03:00
dzaima
ef92ddc69e •FromUTF8 2021-08-11 00:22:59 +03:00
Marshall Lochbaum
9a0cfa340a Don't allow First of empty or reshaping empty to non-empty 2021-08-07 20:25:07 -04:00
dzaima
2ab2f35a34 move fmtF to •Glyph 2021-08-04 22:06:33 +03:00
dzaima
65fe3d9aa2 basic namespace formatting 2021-08-04 22:02:21 +03:00
dzaima
2710786bf0 format blocks 2021-08-04 21:47:41 +03:00
dzaima
8934db0ec5 impure function mess 2021-08-04 21:06:33 +03:00
dzaima
39d095c8dc fix •-things being considered pure 2021-08-04 20:32:16 +03:00
dzaima
e9aff609bf more m_arr refactoring cleanup 2021-08-03 20:52:53 +03:00
dzaima
6799e8f078 fix >0⥊0 2021-08-03 16:51:25 +03:00
dzaima
849eeff465 initialize ia on allocation always 2021-08-03 02:57:46 +03:00
dzaima
8d7a31c8e9 store object pointer in slice 2021-08-01 18:59:31 +03:00
dzaima
be10e0d509 better fork_c2 2021-08-01 04:15:00 +03:00
dzaima
65f2cca251 better fork_c1 2021-08-01 04:12:46 +03:00
dzaima
86b3882c5e improve ⊸⟜ 2021-08-01 03:53:48 +03:00
dzaima
e5d876eb80 fix -R 2021-08-01 02:32:47 +03:00
dzaima
a444d4827d decSh doesn't really need to be split 2021-08-01 00:27:00 +03:00
dzaima
46d4acb72b special-case HArrs in withFill 2021-07-31 23:56:57 +03:00
dzaima
74a3a87166 handle arr⊸F and (arr G H) faster 2021-07-31 23:29:21 +03:00
dzaima
749b098f1e use decR less 2021-07-31 22:40:33 +03:00
dzaima
1f5cfbe766 more proper PERF_TEST, )ex 2021-07-31 20:02:56 +03:00
dzaima
c00834cf15 move mm_free call into virtual function so dec is simpler 2021-07-30 04:40:56 +03:00
dzaima
36afe7f533 integrate mode for consistent timing
use with
make t=perftest f='-O3 -DPERF_TEST' c
2021-07-30 02:19:15 +03:00
dzaima
b18157d86b native ⥊
it's horrible but it appears to work
2021-07-27 19:48:22 +03:00
dzaima
25c89c06b1 •GetLine 2021-07-25 20:02:48 +03:00
dzaima
64b3a4ae6a clean up cc.bqn, specialize small arrays 2021-07-22 19:48:45 +03:00
dzaima
9f3ca80509 make it actually run
wow
2021-07-22 04:28:19 +03:00
dzaima
e04cd3c135 make gcc warn less 2021-07-22 03:38:25 +03:00
dzaima
4b8210d1bd apparently i broke 𝕨/𝕩.. 2021-07-22 03:23:49 +03:00
dzaima
0aceb2f8bb correct outdated comments in h.h 2021-07-22 01:24:14 +03:00
dzaima
55f7f8ef5b couple more type fixes 2021-07-21 00:03:45 +03:00
dzaima
5dd7288144 strict prototypes 2021-07-20 22:21:59 +03:00
dzaima
7ee8d642dc trailing newlines 2021-07-20 22:18:37 +03:00
dzaima
d4d4521e52 more fixing of warnings 2021-07-20 22:09:59 +03:00
dzaima
0bcf3b592f more comparison type fixing
and some more / opt to make it not slower
2021-07-20 21:56:35 +03:00
dzaima
99896fbace improving loop counter variable types 2021-07-20 21:32:41 +03:00
dzaima
68c2332fef return on FAIL 2021-07-20 19:58:34 +03:00
dzaima
c2c64f9654 move thrF to a full function
0.3% more instrs with it never being called what
2021-07-20 02:57:18 +03:00
dzaima
78cd23907e make err fails more clear 2021-07-19 23:09:10 +03:00
dzaima
0d5af28043 use mut_copyG in one more place 2021-07-19 19:56:14 +03:00
dzaima
2e2b479d37 shorten mut_init 2021-07-19 19:25:25 +03:00
dzaima
ca264d1332 move init out of mut_to 2021-07-19 19:23:36 +03:00
dzaima
cf10914d63 refactor mut type expanding 2021-07-19 04:54:29 +03:00
dzaima
d8cfac38a2 move mut_pfree out of .c 2021-07-19 04:41:01 +03:00
dzaima
0c04b7e03b move vec_add slow case to .c file 2021-07-19 04:36:04 +03:00
dzaima
708e06c0ea simplify mut usage where type is guaranteed correct 2021-07-19 04:22:18 +03:00
dzaima
9c66cbbb4b move noinline fns out of .h files 2021-07-19 03:48:52 +03:00
dzaima
61e58c7a02 basic monadic arith special-case 2021-07-18 18:12:11 +03:00
dzaima
d8e3f78e6c better dyadic arith messages 2021-07-18 17:24:21 +03:00
dzaima
1719374e0a make ubsan happier, optimize nextBC
still doesn't like f==(f64)(someIntType)f but that's, like, not replaceable
2021-07-17 21:25:11 +03:00
dzaima
43d2946447 fix refcount errors in merge 2021-07-16 23:11:34 +03:00
dzaima
9ae1ab80cf multiple body support 2021-07-16 22:42:22 +03:00
dzaima
c192125a9c fix •file in REPL 2021-07-12 12:10:06 +03:00
dzaima
cdc363c94f initialize rtperf time counters 2021-07-12 01:45:28 +03:00
dzaima
bb463c8f87 fix rtverify failing on usz==u64 2021-07-12 01:06:39 +03:00
dzaima
576876dd32 fix warnings for usz==u64 2021-07-12 00:50:29 +03:00
dzaima
ed691f3dae joined 2buddy 2021-07-12 00:17:59 +03:00
dzaima
8f3f9ba114 don't read mmInfo from RAM 2021-07-11 23:24:13 +03:00
dzaima
2a0b91e7b4 counters instead of allocB 2021-07-11 23:07:07 +03:00
dzaima
1b31c88e4c use mm_heapUsed() instead of allocB 2021-07-11 22:45:08 +03:00
dzaima
9982c62526 move OBJ_COUNTER increment 2021-07-11 22:14:28 +03:00
dzaima
48380be063 separate allocB for mmX 2021-07-11 22:09:26 +03:00
dzaima
1d5e7212fd extract bucket definitions from template 2021-07-11 21:13:41 +03:00
dzaima
edd1f308ce clean up mm macros & globals 2021-07-11 21:04:49 +03:00
Marshall Lochbaum
dde05f5f02 Just use bit sets, not hashing, for complementary selection 2021-07-08 20:56:28 -04:00
Marshall Lochbaum
3546419816 Use the correct complement algorithm for the hash set 2021-07-08 17:54:34 -04:00
Marshall Lochbaum
619b9827de Faster random deal, and sorted subset 2021-07-08 17:33:50 -04:00
dzaima
cce52dd40e random deal & subset 2021-07-07 21:31:48 +03:00
dzaima
fc4d36de07 test for MAP_32BIT to enable JIT 2021-07-06 20:04:14 +03:00
dzaima
aef9702b7b list-of-structs → struct-of-lists for TypeInfo 2021-07-06 19:31:42 +03:00
dzaima
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
cd60db1c89 optimize fast allocation path 2021-07-05 02:52:42 +03:00
dzaima
d063e83a8d apparently BSZI is barely used 2021-07-05 01:22:49 +03:00
dzaima
7bc8856cd1 inline LOCU 2021-07-05 01:05:43 +03:00
dzaima
2a49cf8205 update objdump usage 2021-07-04 13:49:27 +03:00
dzaima
eca7699580 more ⊔ changes 2021-07-04 05:31:23 +03:00
dzaima
6942b2d04c add checks for 𝕨<¯1 in ⊔ 2021-07-04 05:05:13 +03:00
dzaima
f5388fbdfa depth check for ⊔ 2021-07-04 05:00:56 +03:00
dzaima
774db7a956 tagged bytecode position 2021-07-04 02:13:52 +03:00
dzaima
223d6ccca0 GS_SET on RET_ only when needed 2021-07-04 00:56:43 +03:00
dzaima
51c41f0766 push out perf/writing stuff from m_nvm 2021-07-03 23:32:56 +03:00
dzaima
72896feb8f merged SET_i+POPS 2021-07-03 18:04:27 +03:00
dzaima
9ee36dae94 fix TypeInfo.arrD1 for c32arr 2021-07-03 17:01:39 +03:00
dzaima
ee3ef4370c waste less on thrF 2021-07-03 02:55:22 +03:00
dzaima
7999683edf skip value checking for builtin loading
perf is reporting an 0.15% increase in instruction count (what?), but that's not gonna stop me
2021-07-03 02:38:09 +03:00
dzaima
f75efbcc26 static harr.c functions 2021-07-03 02:04:31 +03:00
dzaima
ceb967bbd4 return Arr* from m_fillarrp 2021-07-03 01:53:26 +03:00
dzaima
08df9bfe7b arrP_sh* → arr_sh* 2021-07-03 01:38:56 +03:00
dzaima
d49d5a3e31 don't use arr_sh* 2021-07-03 01:37:54 +03:00
dzaima
c0a75327ef return Arr* from mut_fp 2021-07-03 01:25:55 +03:00
dzaima
c52a042eb4 return Arr* from slices 2021-07-03 01:25:55 +03:00
dzaima
daa8294252 return Arr* from m_(i32|c32|f64)arrp 2021-07-03 00:37:00 +03:00
dzaima
49810ce8bc rename mm_allocN 2021-07-03 00:27:20 +03:00
dzaima
43d0d1e043 delay tagging for arrays 2021-07-03 00:22:40 +03:00
dzaima
d8b2ac0268 delay tagging 2021-07-03 00:02:56 +03:00
dzaima
c62369c0c5 initialize objects a bit better
0.29% improvement
2021-07-02 23:07:46 +03:00
dzaima
693f8e0139 CSTACK==0 didn't work anyway 2021-07-02 22:29:16 +03:00
dzaima
3451cc48c2 0 parent scope loading 2021-07-02 22:26:14 +03:00
dzaima
be5c22af37 update gStack only when needed
a tiny 0.13% improvement
2021-07-02 22:19:11 +03:00
dzaima
387f8f7581 stack management for RETD & FLDO 2021-07-02 19:57:16 +03:00
dzaima
b1b3b7eed3 stack management for DFND 2021-07-02 19:36:54 +03:00
dzaima
9de843aeb5 stack management for FN_Oi 2021-07-02 19:27:52 +03:00
dzaima
ee93543af3 stack management for TR__/OP__
0.06% less performance, but these changes aren't for performance
2021-07-02 19:20:23 +03:00
dzaima
475fe269a8 better GET 2021-07-02 19:03:23 +03:00
dzaima
a1113c418e stack management for FN__ 2021-07-02 18:50:18 +03:00
dzaima
c029703c3a cleaner stack reading 2021-07-02 18:42:58 +03:00
dzaima
3ebaed2b35 stack management for SET_i 2021-07-02 18:26:35 +03:00
dzaima
a7e8678a16 stack management for SET_ 2021-07-02 18:15:32 +03:00
dzaima
2a7eebad93 move instruction length offsets to instruction generation 2021-07-02 18:02:20 +03:00
dzaima
9fbc8203d0 free what should be freed in ⟨⟩/𝕩 2021-07-02 17:10:44 +03:00
dzaima
da9ab92bd5 set shape in ˘ 2021-07-02 15:43:50 +03:00
dzaima
60bef6879c fix printRaw 2021-07-02 15:30:42 +03:00
dzaima
8c2055ce22 fix speed of / 2021-07-02 15:27:29 +03:00
dzaima
018c209cec fix ⟨⟩/𝕩 2021-07-02 14:41:22 +03:00
dzaima
bad72186de manually allocate parent scope array
~0.11% performance improvement for safe prim tests
2021-07-01 23:10:47 +03:00
dzaima
a6c4f8c84d use named R_BP
and fix named R_BP
2021-07-01 21:25:18 +03:00
dzaima
b009b40329 move relative addressing updating to x86_64.h 2021-07-01 18:33:19 +03:00
dzaima
f5cc8e17ac fix using runtime with source 2021-06-30 23:23:49 +03:00
dzaima
dbf246810c fix ⟨⟩ [⍋⍒] ↕4 2021-06-30 23:20:35 +03:00
dzaima
e5471e8f87 fix reference counts for comp->path 2021-06-30 23:16:08 +03:00
dzaima
b32074f4d1 support nested compilation 2021-06-30 22:54:33 +03:00
dzaima
383d649480 fix range calculation of ⊐ 2021-06-30 22:30:53 +03:00
dzaima
05a69415bd ∧´ 2021-06-30 00:01:41 +03:00
dzaima
84f58a2f87 fix refcounts 2021-06-29 22:58:32 +03:00
dzaima
1fd61c5467 make err NOINLINE 2021-06-29 22:55:34 +03:00
dzaima
726451ed0c include path in errors 2021-06-29 22:54:37 +03:00
dzaima
861a488719 2021-06-29 21:10:17 +03:00
dzaima
1ffd3a207a indent REPL 2021-06-27 21:24:48 +03:00
dzaima
a4446716bf compiler errors 2021-06-27 20:28:19 +03:00
dzaima
27b1e9ed8c native vec⊐scalar 2021-06-27 18:03:51 +03:00
dzaima
fdcb158ca5 rename 2021-06-26 19:23:45 +03:00
dzaima
d087898359 •math trig functions 2021-06-26 19:23:02 +03:00
dzaima
98166dd809 nvm placeholder, enable nvm by default 2021-06-26 03:31:55 +03:00
dzaima
d4be37469e move src/jit/nvm.c 2021-06-26 03:13:02 +03:00
dzaima
287b55515a constant-fold arrays 2021-06-26 02:14:01 +03:00
dzaima
eac62d4c29 inline i_FN1Ci and i_FN2Ci 2021-06-26 01:29:23 +03:00
dzaima
8b561a065a offset envCurr by 1 2021-06-25 18:03:54 +03:00
dzaima
c2d0ce5568 MOV1l→MOVi1l 2021-06-22 17:12:23 +03:00
dzaima
d98bbb7a83 fix •MakeRand 2021-06-22 15:13:27 +03:00
dzaima
0b7c5eb860 call counter for JIT 2021-06-22 02:27:12 +03:00
dzaima
953ea0d20d use execBodyInline everywhere 2021-06-22 01:35:00 +03:00
dzaima
cbd113870a rename registers 2021-06-22 01:34:08 +03:00
dzaima
0c3ffb2fd8 inline LOCO 2021-06-22 01:07:12 +03:00
dzaima
c1d62b8739 shut up gcc 2021-06-21 17:45:57 +03:00
dzaima
d761ee5a46 parent scope unrolling 2021-06-21 02:03:13 +03:00
dzaima
286f1e19db pass precalculated scope to instrs 2021-06-20 18:02:31 +03:00
dzaima
60abb1cdcc new x86-64 stuff 2021-06-20 17:40:27 +03:00
dzaima
b51cf8cfc2 fix CHKV 2021-06-19 21:28:57 +03:00
dzaima
d27dc57bed CHKV 2021-06-19 21:16:23 +03:00