dzaima
c5272b47fb
allow running el2t on el_B & el_MAX
...
under the assumption that the result won't actually be used; but if it is, trying to free or gc the object will result in a crash
2023-02-01 22:48:10 +02:00
dzaima
c38565ab8d
whitespace cleanup
2023-01-31 00:07:00 +02:00
dzaima
a650051a82
don't need an actual function object for eachd_fn / eachm_fn
2023-01-28 14:57:04 +02:00
dzaima
4a45a07a2b
native ⚇0
2023-01-27 22:59:22 +02:00
dzaima
e5bbde745a
native handling of ⌾{...}
2023-01-27 04:09:07 +02:00
dzaima
10705823de
more squeezing changes in ⊐𝕩 and ⊒𝕩
2023-01-27 03:17:20 +02:00
dzaima
ea0aa709fe
squeeze result of ⊒𝕩, copy result of ⊐𝕩 to smaller width when possible
2023-01-27 02:57:05 +02:00
dzaima
ae4c4a03ee
copy ⊐ and ⊒ results to more correct element width arrays
2023-01-27 02:09:43 +02:00
dzaima
f13e82af62
fix leaking in comp.c
2023-01-26 19:27:43 +02:00
dzaima
5f9aeafec6
use switch for tokenization
2023-01-26 19:21:02 +02:00
dzaima
1a80cf312d
more error checking in comp.c
2023-01-26 19:03:03 +02:00
dzaima
fbd4c79161
speed improvements for comp.c
...
not that it needs to be any faster
2023-01-26 03:46:25 +02:00
dzaima
422cc26054
dyadic •CompObj to replace compiler
2023-01-26 02:42:25 +02:00
dzaima
cc5a5752bf
add •CompObj to NATIVE_COMPILER
2023-01-26 01:53:09 +02:00
dzaima
9abe7506ab
native minimal compiler
2023-01-26 01:30:10 +02:00
dzaima
e231d36471
clean up gcc warnings
2023-01-25 17:16:24 +02:00
dzaima
c33cd81e06
use native ⁼ in ⍟(-n)
2023-01-25 15:30:54 +02:00
dzaima
73724acf1d
use invalidFn_c1 instead of c1_bad
2023-01-25 15:09:07 +02:00
dzaima
31bd75630c
make f=-DNO_RT functional
2023-01-25 15:05:23 +02:00
dzaima
6baa96c1e3
NEON squeeze
2023-01-25 02:22:53 +02:00
dzaima
88410c02e5
prep for NEON squeeze
2023-01-24 22:21:38 +02:00
dzaima
f91d3dfaf5
use num_squeeze directly for bytecode LSTO
2023-01-24 22:00:09 +02:00
dzaima
7768d6475f
various OOM fixes
2023-01-23 23:49:27 +02:00
dzaima
b0dbd5c37b
fix gcc build
2023-01-23 21:57:47 +02:00
dzaima
92c855920b
unroll int×u1
2023-01-23 21:43:39 +02:00
dzaima
721dd8889b
monadic arith
2023-01-23 01:22:40 +02:00
dzaima
7284eb7010
more manual unrolling in dyarith.singeli
2023-01-22 22:49:44 +02:00
dzaima
b1cace31ac
don't make a slice on n⊏list
2023-01-22 19:31:11 +02:00
dzaima
679e90925a
preserve ⟨a⟩ & ⟨a,b⟩ fill behavior for JIT
2023-01-22 19:24:34 +02:00
dzaima
162adbca68
more Singeli utilities
2023-01-22 18:04:52 +02:00
dzaima
86c2aa7e2c
unroll non-overflowing dyarith loops for aarch64
2023-01-22 04:22:21 +02:00
dzaima
afe6707654
dyarith NEON support
2023-01-22 03:27:41 +02:00
dzaima
20daceaae5
move things in eachd_fn around
2023-01-22 01:42:20 +02:00
dzaima
7bd8331346
add more GS_UPD
2023-01-21 23:34:13 +02:00
dzaima
d84c04bc63
use incBy more
2023-01-21 00:09:47 +02:00
dzaima
e4578a345e
fix 0‿1⊐"ab"‿"cd" & 0‿1∊˜"ab"‿"cd"
2023-01-19 16:04:44 +02:00
dzaima
b43184d629
fix 1‿2 +⎉0 1
2023-01-19 03:57:13 +02:00
dzaima
5cd1ee0ee3
fix NaN formatting
2023-01-18 20:08:18 +02:00
dzaima
5b8ac969db
don't unroll on i8arr ↕n
2023-01-18 15:41:53 +02:00
dzaima
4945a90ff0
valgrind changes
2023-01-18 02:05:24 +02:00
dzaima
7b996c772a
lea tmp,[CS+123]; mov [tmp],rax → mov [CS+123],rax
2023-01-17 20:55:39 +02:00
dzaima
40383906ec
no, neither w nor h are 1, clang
2023-01-17 05:17:37 +02:00
dzaima
472e542ebd
O(1) ⍉𝕩 when it doesn't reorder elements
2023-01-17 04:52:08 +02:00
dzaima
f9eb7f083c
unshare shape
2023-01-17 04:38:55 +02:00
dzaima
21372a743a
allow unsharing slices
2023-01-17 04:32:30 +02:00
dzaima
ec11e34dba
clear old flags from in-place ¨
2023-01-17 04:31:55 +02:00
dzaima
540b37ae6a
shape replacement utility
2023-01-17 03:47:14 +02:00
dzaima
ec92b1d5ba
better eachm_fn
2023-01-17 01:35:04 +02:00
dzaima
5de565f1b0
use 'debug/printf' for Singeli printf
2023-01-17 01:01:13 +02:00
dzaima
79c7aa30df
reformat --help
2023-01-16 23:32:52 +02:00
dzaima
a483ac61d9
--version & version specifying in build/build
2023-01-16 19:31:14 +02:00
dzaima
dd82073c60
slightly faster ⍟list handling
2023-01-16 18:58:48 +02:00
dzaima
e0df77519e
set replxx history max size higher
...
before it was 1000
2023-01-15 22:55:40 +02:00
dzaima
6c89982bbc
unrolled Singeli loop option
2023-01-15 22:51:31 +02:00
dzaima
39605c1a98
add intrinsic file include for _mm_crc32_u32
2023-01-14 00:38:32 +02:00
dzaima
6c88499920
consistently check only for whether __BMI2__ is defined
2023-01-14 00:33:34 +02:00
dzaima
5b35c0a664
keep pext usage for bitarr/bitarr
2023-01-13 23:46:48 +02:00
dzaima
41212ab852
SLOW_PDEP option
2023-01-13 23:23:06 +02:00
dzaima
e987a5e4c0
some file path handling changes around windows
2023-01-13 19:16:13 +02:00
dzaima
376e343639
don't use manual copy loops in eachd_fn
2023-01-12 21:25:36 +02:00
dzaima
dbcd967e12
attempt at replxx-based printf
2023-01-12 17:13:42 +02:00
dzaima
46f657713c
don't rely on bqn_fmt when !FORMATTER or CBQN isn't yet initialized
2023-01-09 02:30:29 +02:00
dzaima
86ae984af0
more print function renaming
2023-01-09 02:17:12 +02:00
dzaima
6f394c41ff
windows: wide char printing
2023-01-09 02:00:22 +02:00
dzaima
a9c70d9d72
printing method overhaul
2023-01-09 01:42:44 +02:00
dzaima
381460e92e
windows: getline fixes & discard trailing CRLF
2023-01-08 20:35:20 +02:00
dzaima
7b7c31e8b9
fix warning of unused pageSizeV for windows builds
2023-01-07 02:27:30 +02:00
dzaima
26c12e6724
add )exit & )off
2023-01-07 02:23:12 +02:00
dzaima
38ec07c34b
use getline on Windows for the REPL
2023-01-06 18:02:02 +02:00
dzaima
6889121a28
getPageSize does need to return something
2023-01-06 06:10:12 +02:00
dzaima
b03bf80198
move Windows cases around
...
also don't make dir_create pretend it succeeds
2023-01-06 06:04:12 +02:00
actalley
815de4fd97
Address build errors on llvm-mingw to build bqn.exe with no SH, FFI, or repl support
2023-01-05 21:38:30 -06:00
dzaima
32f0a2f8fc
check file size for whether we can allocate it
...
also "takes care" of the case when the file is a directory
2022-12-31 21:04:19 +02:00
dzaima
7d4677a8ff
use COPY_TO instead of a loop in fbytes_c1
...
& ryu comment changes
2022-12-31 20:49:50 +02:00
dzaima
8da9c4e3a5
don't fail on •SH under VERIFY_TAIL
2022-12-31 20:31:13 +02:00
dzaima
7b3beec621
•ParseFloat
2022-12-31 20:22:22 +02:00
dzaima
fd38a5b241
use Ryu for number formatting
2022-12-31 03:19:06 +02:00
dzaima
99a82afec4
actually check character arrays in VERIFY_TAIL
2022-12-31 02:50:38 +02:00
dzaima
854acd580d
respect !PROPER_FILLS in high-rank ↑
2022-12-30 16:16:36 +02:00
dzaima
6e748ed800
remove unused rt_* globals
2022-12-30 01:50:00 +02:00
dzaima
7ff74d38e8
squeeze el_bit transpose result
2022-12-30 01:12:24 +02:00
dzaima
faf89abef0
fix ⊏˘ generic case
2022-12-30 00:21:07 +02:00
dzaima
5a9e5e8e50
native baseline high-rank 𝕨⊒𝕩
2022-12-30 00:10:03 +02:00
dzaima
ec169b1006
remove no longer necessary runtime loads
2022-12-29 23:59:44 +02:00
dzaima
83863a64fd
fix gcc build
2022-12-29 23:46:24 +02:00
dzaima
b903a5d9ce
fast num⊑˘simpleArr
2022-12-29 23:37:00 +02:00
dzaima
168db4cf01
fix rtWrap_unwrap refcounting
2022-12-29 23:36:50 +02:00
dzaima
0589d63cc5
fast v˙˘arr, fix arr˘arr
2022-12-29 23:36:37 +02:00
dzaima
1e3117d65f
fast ⥊˘𝕩
2022-12-29 22:25:22 +02:00
dzaima
3408db320c
fast num↑˘𝕩 & num↓˘𝕩 for 2≤=𝕩
2022-12-29 22:20:29 +02:00
dzaima
f6f0c12935
fast ⊑˘simpleArr
2022-12-29 22:07:38 +02:00
dzaima
a0feda9d8b
fast arr˘ x
2022-12-29 22:04:06 +02:00
dzaima
47e95171f0
faster »˘ & «˘ on matrices, fix 0⊏˘↕3
2022-12-29 21:47:52 +02:00
dzaima
897ad8f649
clang really wants to special-case csz==1, but that's checked for before
2022-12-29 21:47:52 +02:00
dzaima
3f0c34e895
fast ≍˘𝕩
2022-12-29 21:47:52 +02:00
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
a34bb0a433
don't unroll libc math loops
2022-12-28 16:51:17 +02:00
dzaima
4884580037
rearrange arr_shCopyUnchecked to not read SH(o) twice
...
and, while making a change that requires rebuilding all of CBQN, also make more of the arr_* fns return their Arr* argument to prepare for using them inline
2022-12-28 16:23:27 +02:00
dzaima
3b1b171828
don't need copying from bitarr to character arr
2022-12-28 16:17:16 +02:00
dzaima
c5a3c57f50
check for path being present for •path/•name/•state
2022-12-28 01:13:58 +02:00
dzaima
d8724e6658
update clangdCommands.bqn to new singeli defines, and enable by default
2022-12-27 23:59:48 +02:00
dzaima
33580b91ca
don't error on unknown fill when not overtaking
2022-12-27 23:44:34 +02:00
dzaima
84bae20f79
don't inline load functions
2022-12-27 03:54:00 +02:00
dzaima
f424c720a7
full native 𝕨⌽𝕩 & 𝕨⌽⁼𝕩
2022-12-27 03:39:48 +02:00
dzaima
75fe558f1c
detect writes past the end of a TALLOC allocation
2022-12-27 02:29:24 +02:00
dzaima
1afdd89075
allow defining custom dyadic inverses of builtins
2022-12-26 23:57:55 +02:00
dzaima
013897cc16
add runtime calls to WARN_SLOW
2022-12-26 23:15:56 +02:00
dzaima
78793ca700
-h → --help
2022-12-26 20:33:33 +02:00
dzaima
c818bf54b1
remove need of libffi from make forbuild
2022-12-26 19:38:24 +02:00
dzaima
48c2425e8b
check result size being too large in ↑
2022-12-26 18:16:11 +02:00
dzaima
7bcee07489
initialize shape properly in one case of high-rank take/drop
...
fixes 0‿4↑↕4 in debug builds, which just magically approximately worked before
2022-12-26 16:09:30 +02:00
dzaima
326d54e130
native list↑𝕩 & list↓𝕩
2022-12-25 13:38:43 +02:00
dzaima
8fad76762a
reorder take_c2
2022-12-24 17:53:16 +02:00
dzaima
e2b45e33e1
simplify splitCells
2022-12-24 17:29:48 +02:00
dzaima
424448aa40
remove rt_memberOf & rt_indexOf
2022-12-24 17:12:35 +02:00
dzaima
95b1beb9db
native high-rank ∊ & ⊐
2022-12-24 17:08:27 +02:00
dzaima
3f40955d83
reorder indexOf_c2
2022-12-24 17:05:50 +02:00
dzaima
e3b5af8a44
fix 𝕨∊p & p⊐𝕩 with an empty high-rank p
2022-12-24 17:03:58 +02:00
dzaima
24dba9ba40
fix a bunch of small memory leaks around REPLXX
...
not that they'd cause any problems in practice - they're very small, and are in the one context where GC can actually run
2022-12-24 16:42:42 +02:00
dzaima
bb7fe02a45
separate checks for x86-64 & NEON Singeli importing
...
& restrict the processed Singeli files on NEON to the ones supported
2022-12-24 15:27:53 +02:00
dzaima
6d79ce9fb1
use arch-independent names for things suppported on both x86-64 & NEON
2022-12-24 15:26:05 +02:00
dzaima
d38316e670
BQN-based build system
2022-12-23 23:09:55 +02:00
dzaima
efcc6a28be
add •file.path to autocomplete options
2022-12-23 18:08:33 +02:00
dzaima
bbc66cbf3f
fix display of running multiline code while cursor isn't in last line
2022-12-23 18:06:58 +02:00
dzaima
381ce70212
backslash+enter → literal newline
2022-12-23 18:02:18 +02:00
dzaima
a6b22c75fd
fast list⊐unit for more list types
2022-12-20 18:32:51 +02:00
dzaima
e69d8dc6e9
native ⌾(v⊸⌽)
2022-12-20 18:31:42 +02:00
dzaima
d05621f8f4
generic vector width calculation for NEON-supported files
2022-12-20 00:02:46 +02:00
dzaima
b91e72567d
update Singeli submodule, conditional NEON includes
2022-12-19 23:31:44 +02:00
dzaima
43be832a37
fix highrank∊list deshaping the result in some scenarios
2022-12-18 23:58:10 +02:00
dzaima
8188886538
fast 𝔽´⟨x⟩ & 𝔽´⟨x,y⟩
2022-12-18 23:49:09 +02:00
dzaima
aa4b92cb01
don't define •SH if not available
2022-12-18 23:40:55 +02:00
dzaima
29cecb0b6e
remove •PrimInd
2022-12-18 23:16:36 +02:00
dzaima
6380364e62
native highrank∊vector
2022-12-18 23:05:58 +02:00
dzaima
30a6de0a31
add unrolling to aarch64 cmp.singeli
2022-12-18 22:45:42 +02:00
dzaima
f9c919d5ce
getmask → homMask/topMask
2022-12-18 22:27:42 +02:00
dzaima
a07b94b889
more general equal.singeli, remove trailing semicolons
2022-12-18 21:55:20 +02:00
dzaima
2a32f52f8d
blend renaming
2022-12-18 02:49:42 +02:00
dzaima
09b3279958
unified Singeli including mechanism
2022-12-18 01:54:07 +02:00
dzaima
9768526ddc
move last bit of equal.singeli to loadBatch
2022-12-18 01:53:56 +02:00
dzaima
40f36fa366
Singeli-generated table for bits.singeli
2022-12-17 17:51:56 +02:00
dzaima
2c73199ed4
use Singeli-generated function tables for comparison
2022-12-16 19:04:58 +02:00
dzaima
f49dd5e8cf
move cmp.singeli NaN check outside for non-x86_64
2022-12-16 17:39:51 +02:00
dzaima
6e3cb9a425
andIsZero→andAllZero; NEON andnz, blendF, sel, bitops.singeli
2022-12-16 00:44:32 +02:00
dzaima
cbd891b768
NEON widen, narrow, undefPromote; make undefPromote more restrictive
2022-12-15 23:19:00 +02:00
dzaima
6fac426f90
add v_dbl & v_half, NEON half{x,n}
2022-12-15 21:57:34 +02:00
dzaima
791e7d122f
ucvt→narrow
2022-12-15 21:44:48 +02:00