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