dzaima
4d3db9ca0b
fix ∊ & ⊐ being broken on one c8 & one c16 argument
2023-04-14 00:05:23 +03:00
dzaima
44ce033e73
fix leak in dyadic scan with an empty argument
2023-04-14 00:05:23 +03:00
dzaima
102a696164
fix ⟨2⟩↕a
2023-04-13 22:22:50 +03:00
dzaima
4f382476ff
src/README.md GC notes & other cleanup
2023-04-13 22:03:17 +03:00
dzaima
6239e2f2dd
add binary mode flag to fopen calls
2023-04-13 15:54:34 +03:00
dzaima
1db746ea77
Singeli compile-time cdiv & low-stack @collect
2023-04-09 15:03:44 +03:00
dzaima
b66f628cff
tiny improvements to plus-scan
2023-04-09 12:09:52 +03:00
dzaima
9951f20751
clean up some error messages
2023-04-08 22:12:15 +03:00
dzaima
52dc05f228
SIMD +`
2023-04-08 20:04:23 +03:00
dzaima
6a0385b44b
better Singeli abs & absu definitions
2023-04-08 19:23:55 +03:00
dzaima
c3fe3c5b42
more Singeli utilities, more Scan fixing
2023-04-07 21:09:46 +03:00
dzaima
3a7bce3aab
a bunch of Scan fixes & improvements
2023-04-07 20:41:34 +03:00
dzaima
b0d8bcb428
add argument passing to makeOptBranch
2023-04-06 22:41:20 +03:00
dzaima
897c46df76
aarch64 fold.singeli
2023-04-06 20:17:09 +03:00
dzaima
b3f3190028
SSE2 fold.singeli
2023-04-06 19:49:14 +03:00
dzaima
1d6b33d528
restrict fold_addw to integer input
2023-04-06 19:18:43 +03:00
dzaima
65f25f735d
Merge pull request #73 from mlochbaum/count
...
Count by vector compare+add
2023-04-06 19:19:25 +03:00
dzaima
d13060f725
move fold to vfold
2023-04-06 19:05:38 +03:00
Marshall Lochbaum
9d7d330a03
Use AVX2 counting for 1-byte counting sort
2023-04-06 11:32:34 -04:00
Marshall Lochbaum
0e5b98c491
Return max from AVX2 counting function
2023-04-06 11:32:34 -04:00
Marshall Lochbaum
4b18466ae2
Clean up and simplify count.singeli; allow longer final block
2023-04-06 11:32:06 -04:00
Marshall Lochbaum
06b4f06e64
Move fold{} from squeeze.singeli to vecfold.singeli
2023-04-06 11:32:06 -04:00
Marshall Lochbaum
2ddcc14852
Use minimum in addition to maximum for AVX2 counting
2023-04-06 11:32:06 -04:00
Marshall Lochbaum
e6a3e846d9
Sum counts in groups of 4 when possible
2023-04-06 11:32:06 -04:00
Marshall Lochbaum
b655dd4771
AVX2 counting function for small-range 1-byte /⁼
2023-04-06 11:32:04 -04:00
dzaima
ecced53957
test usz=64
...
also fix MM=2 assertion
2023-04-06 18:17:59 +03:00
dzaima
a0cdcdc898
fix self-search radix-based cases with 64-bit usz
2023-04-06 17:51:58 +03:00
dzaima
cba6ef505a
add usz option to build/build
2023-04-06 17:47:31 +03:00
dzaima
5492eae8c5
unrolling for single-element search
2023-04-06 15:42:10 +03:00
dzaima
876914d053
Singeli single-element search
2023-04-06 14:56:49 +03:00
dzaima
a7e2d9ea17
extract single-element search to its own function
2023-04-06 13:38:33 +03:00
dzaima
71f9278a95
use COPY_TO to copy in bqn_readObjArr if possible
2023-04-06 13:37:00 +03:00
dzaima
0aca470931
more explicit inline requiring
2023-04-06 13:12:11 +03:00
dzaima
8b05cd243f
fix SSE2 unsigned comparisons
2023-04-05 13:47:16 +03:00
dzaima
7d1fcf2c3a
move &~ to base.singeli
2023-04-02 16:33:24 +03:00
dzaima
5a2b755191
move non-AVX2 x86-64 into SINGELI_SIMD
2023-04-02 15:55:49 +03:00
dzaima
100a188545
fix aarch64 singeli
2023-04-02 15:39:42 +03:00
dzaima
c76adb8b35
default to •internal.EEqual comparing 0 and ¯0 as equal
2023-04-02 15:29:11 +03:00
dzaima
00a5ddcb89
SSE2 squeeze
2023-04-02 15:04:00 +03:00
dzaima
e0a265472c
SSE2 extract{x,0} for [4]i32 and [2]i64
2023-04-02 12:10:18 +03:00
dzaima
9209ca5d6d
SSE2 copy.singeli
2023-04-02 01:53:16 +03:00
dzaima
5018cf9b2e
reduce unnecessary casts in C output
2023-04-01 23:04:55 +03:00
dzaima
9826201343
move neon.singeli type checks to w64/w128
2023-04-01 22:53:38 +03:00
dzaima
a62c21733e
SSE2 equal.singeli
2023-04-01 22:08:47 +03:00
dzaima
96ee73f644
enable Singeli monadic arith & comparisons on SSE2
2023-04-01 20:40:29 +03:00
dzaima
3a45eac1aa
separate SSE2, implement SSE2 dyarith & bitsel
...
also separate maskstore to homogeneous & top bit mask variants, and make blend require equal element widths
2023-04-01 20:40:23 +03:00
dzaima
13eebb1759
move all singeli builds to build.bqn, add has=
...
also:
include commit-based version by default for build/build
expand things included in --version
don't require Singeli for BMI2 usage in bitarr/bitarr
2023-03-31 19:15:23 +03:00
dzaima
dc2ac37e0a
arch-independent Singeli builds
2023-03-31 16:45:29 +03:00
dzaima
0180a54207
quiet gcc warning
2023-03-31 16:34:08 +03:00
dzaima
c513724fd4
hide clangd warning
...
and remove whitespace which was previously used for alignment
2023-03-31 14:27:43 +03:00
dzaima
baa1281efe
don't assume select returns refcount 1 array
...
that probably would be a safe assumption right now, but who knows about the future; cpyWithShape should return back its argument directly if it already has refcount 1 anyway
2023-03-31 14:14:13 +03:00
dzaima
413b49de30
don't assume sizeof(ur)==1
2023-03-31 13:44:32 +03:00
Marshall Lochbaum
69e2f6c690
Convert ⍉˘ with atom or no left argument to dyadic ⍉
2023-03-30 21:25:21 -04:00
Marshall Lochbaum
9fe6a2e7b2
Under for invertible Reorder Axes
2023-03-30 19:07:09 -04:00
Marshall Lochbaum
d53f3dbd72
Native dyadic ⍉⁼
2023-03-30 19:02:45 -04:00
Marshall Lochbaum
89016fc88d
Update Reorder Axes implementation comments
2023-03-29 20:23:16 -04:00
Marshall Lochbaum
597e25af4d
Full simplification pass for Reorder Axes
2023-03-29 20:08:36 -04:00
Marshall Lochbaum
d492cd0865
And strided height, so all orders are fast if axes are long
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
e923a71881
Use strided width in transpose-based Reorder Axes
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
814a677676
Make transpose movement functions strided
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
de18fb996b
Save a shape object in Reorder Axes
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
7fea4ca2ad
Combine transp_c2 temp allocations into one TALLOC
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
5b17ee44d6
SIMD kernel for Reorder Axes transposing last two axes
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
8413461074
Fast bottom-level loop for Reorder Axes loop structure
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
bbedbbc585
Transpose large cells with mut_copyG
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
b829076271
Put CPU-size transpose functions in a table
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
410d51501d
Check for AVX2 in Singeli transpose so it can build on non-x86 architectures
2023-03-29 12:37:15 -04:00
Marshall Lochbaum
bf04b3aab0
Move w128i and similar from sse3 and avx.singeli to base
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
ebbddf9dcf
Move height/width 2 transposes to Singeli
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
37f481ea0d
Separate out transpose data movement function and share with monadic ⍉⁼
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
3c32844fe0
Separate out transpose_move function and use for el_B
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
968bfd2fc6
Separate transpose el_B case and fix dropped fill for shape 2‿n
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
dea063cb7b
Easy optimizations: (1-˜=𝕩)⍉𝕩 to ⍉𝕩 and detect trailing unchanged axes
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
b555e3c035
Reorder Axes translated from runtime version
2023-03-28 16:11:46 -04:00
Marshall Lochbaum
432b4eaaa6
Transpose implementation comments
2023-03-28 16:11:46 -04:00
dzaima
21b9ad5c3c
don't include debug.singeli
2023-03-27 17:53:01 +03:00
dzaima
9780cacacd
commented-out heap alignment
2023-03-27 17:38:26 +03:00
dzaima
f175bc9e19
fix printf of sample count
2023-03-26 15:57:09 +03:00
dzaima
1f2456042c
clean up calls.h includes
2023-03-26 15:54:27 +03:00
dzaima
1f70c08aa2
fillarr NOGC
2023-03-26 15:43:59 +03:00
dzaima
709c1896d3
better selfElType
2023-03-26 14:30:49 +03:00
dzaima
37a32eb15a
fix native non-Singeli builds
2023-03-24 23:51:18 +02:00
dzaima
830c752e87
instruction pointer storing profiling
2023-03-24 18:07:48 +02:00
dzaima
e4c95dce22
fix profiler buffer size usage
2023-03-24 13:47:33 +02:00
dzaima
98f4df88d0
whitespace
2023-03-23 18:35:55 +02:00
dzaima
fa8437ca25
don't use _mm256_loadu2_m128i
...
doesn't exist on old gcc
2023-03-23 18:21:34 +02:00
Marshall Lochbaum
699faea69c
Dedicated width-overflow loop for SIMD transpose
2023-03-22 17:34:37 -04:00
Marshall Lochbaum
5a2bc15f2a
Overlap SIMD transpose on width too
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
61eefe0776
Fix writing past end in i16 transpose with overlapped halves
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
8ff40cb2e5
Overlap SIMD transpose to handle uneven heights (not widths yet)
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
fad7f3aa8b
Simplify
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
dd141add3f
Merge i16 SIMD transpose with the rest of them
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
9673771187
Combine code for the different transpose kernel geometries
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
e40feaa81c
Make transpose kernel code type-generic
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
923c485cc2
Use packed-halves transpose kernel for 8x8 i16
2023-03-22 15:14:09 -04:00
Marshall Lochbaum
2a8e6e9c8a
Separate most transpose kernel logic from loops and move i8 case into main
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
7d800bf349
SIMD transpose on 1-byte elements
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
5fccf4cda3
Refactoring; check for small transpose width/height in Singeli, not C
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
ff6361e363
Move tranpose to its own file
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
0e2e315e51
Allow an 8x8 row for 2-byte transpose
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
239c765998
SIMD transpose on 2-byte elements
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
f6c6e72661
More transpose kernel refactoring
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
c0aaa6f615
SIMD transpose on 8-byte elements
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
a0e85db702
Refactor vtranspose with more general code
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
ca44d41daa
Faster i32 transpose when height is a multiple of 16 by writing cache lines
2023-03-22 15:14:08 -04:00
Marshall Lochbaum
bfb2519aed
Remove transpose_rec (was unused): the whole cache-oblivious thing seems to be useless
2023-03-22 15:14:08 -04:00
dzaima
5c6075c29d
support namespace a.b in native compiler
...
and use for •file.At in bootstrap.bqn
2023-03-22 19:58:01 +02:00
dzaima
dc583d754c
separate FLDG for gid-based field lookup
2023-03-22 19:49:32 +02:00
dzaima
9337de5a0e
fix LST_/ARM_ comments in vm.h
2023-03-21 23:04:39 +02:00
dzaima
d9ebdf060f
)t:1s
...
also fix )profile
2023-03-21 04:06:53 +02:00
dzaima
fe36c74080
support exponential for )t
2023-03-21 02:56:39 +02:00
dzaima
1ec37410c6
faster constint|intarr
2023-03-21 02:45:42 +02:00
dzaima
d333902f74
fast integer 𝕨|𝕩
2023-03-21 02:06:45 +02:00
dzaima
e14a3629f6
don't try lowercasing ×
2023-03-20 18:18:16 +02:00
dzaima
b0201131e2
array type support for •FFI
2023-03-20 16:44:58 +02:00
dzaima
ca0c100b73
name normalization for •ns.Get & •ns.Has
...
also fix •ns.Has error message & rename some function declarations
2023-03-19 23:27:05 +02:00
dzaima
0b32ef96ce
inline → inplace in existing-scope-mutating function names
2023-03-19 22:47:00 +02:00
dzaima
4a6877a87a
Rank checks
2023-03-19 15:42:11 +02:00
dzaima
a3d74c6af2
MUT_APPEND
2023-03-16 22:27:44 +02:00
dzaima
390ee503fb
extract function for a+↕b
2023-03-16 22:05:44 +02:00
dzaima
a9b83ca70a
V_POS, V_DEPTH
2023-03-16 22:03:08 +02:00
dzaima
db8a4d3af0
don't use def as a variable name
2023-03-12 00:11:30 +02:00
dzaima
1178e5df56
new Singeli syntax
2023-03-11 23:17:30 +02:00
dzaima
8194f51b30
MAKE_MUT_INIT, move mut_init to mut.c
2023-03-11 16:52:09 +02:00
dzaima
3f0bc57503
move diagnostics coloring option outside of hash
2023-03-11 16:51:59 +02:00
dzaima
01c457b77b
make all cpy.*Arr function results Arr*
2023-03-11 16:51:13 +02:00
dzaima
92763fa8b2
proper hash values for derived functions
2023-03-06 20:29:35 +02:00
dzaima
ab5b8f92b4
fast F˜˝˘ and F˜˝ and F˜⌜ for pervasive F
2023-03-05 16:48:10 +02:00
dzaima
680d0f8601
use mut_copy for building fold_rows result
2023-03-05 15:20:12 +02:00
dzaima
1c0b797456
Merge pull request #69 from mlochbaum/transfold
...
Blocked transpose implementation for fold-cells
2023-03-05 15:10:26 +02:00
dzaima
98c963453b
•internal.GC
2023-03-05 14:16:38 +02:00
dzaima
4b6dd1bf81
immediately mark&sweep unknown reference objects instead of storing
2023-03-05 14:05:08 +02:00
dzaima
c5aedaa414
switch to GCv2, various fixes/cleanup
...
includes:
fixing some refcounts for FOR_BUILD build •FFI
moving DEBUG_VM prints to stderr
fixing heapverify reports of loose shape objects of fillarrs
regular ol' adding-of-semicolon-after-label for old gcc
move GC enable to after all initialization, not load_init
2023-03-05 01:23:53 +02:00
Marshall Lochbaum
f4d2e26e58
Don't do transposing fold unless height is greater than width
2023-03-04 14:42:00 -05:00
Marshall Lochbaum
176152b445
Handle fold-cells on row length 1 with ⊏˘
2023-03-04 14:28:22 -05:00
Marshall Lochbaum
4b35acb82b
Transpose-based fold-cells implementation
2023-03-04 14:24:56 -05:00
dzaima
16274e5952
bucket coalescing on GC
2023-03-04 20:09:12 +02:00
dzaima
ead637b135
don't leak c1fn/c2fn arguments from array function
2023-03-04 18:58:07 +02:00
dzaima
717074a2f8
fast transpose on shape n‿2 𝕩
2023-03-03 19:13:15 +02:00
dzaima
76d26db4c2
faster F˘´n‿2⥊𝕩 for pervasive F
2023-03-03 17:45:16 +02:00
dzaima
fd72d416db
manual prefix character typing detecting
2023-03-03 16:11:55 +02:00
dzaima
093beda394
faster path for 𝕨/𝕩 with non-boolean 𝕨 with sum 0
2023-03-03 13:41:20 +02:00
dzaima
397f8745ce
go back to regular completions if no system commands match
2023-02-27 23:51:35 +02:00
dzaima
dfd78115c3
remove repl initialization before it's needed
2023-02-26 18:58:08 +02:00
dzaima
2c107025ab
add argument for non-GC_VISIT_V2
2023-02-26 18:53:06 +02:00
dzaima
78eb351e10
allow top-level GC to collect all garbage in GC_VISIT_V2
2023-02-26 18:37:07 +02:00
dzaima
418a1c054f
no longer need position setting hack on enter
...
also makes enter_replxx allocation-free, allowing it to run during OOM
2023-02-26 18:30:22 +02:00
dzaima
bcc19c11fd
fix GC_VISIT_V2 completely not respecting -M
2023-02-26 18:26:19 +02:00
dzaima
1c1da8fdfe
completion options for system commands
2023-02-26 18:09:28 +02:00
dzaima
a570bcaf88
fix replxx things
2023-02-26 16:09:38 +02:00
dzaima
6d03071ae6
SIMD i32 transpose
2023-02-26 01:19:54 +02:00
dzaima
a928277e8c
make heapverify run on GC_VISIT_V2
...
also make it able to track shape object leaks
2023-02-25 00:21:15 +02:00
dzaima
c6c0b8925e
don't need allocMore_rec on non-gcv2
2023-02-24 23:38:29 +02:00
dzaima
6e6169530d
GC v2
2023-02-24 23:28:55 +02:00
dzaima
deee2c7a18
use C1 & C2 more
2023-02-24 15:53:11 +02:00
dzaima
1af9155425
optional path arg for •internal.HeapDump; STORE_JIT_MAP
2023-02-24 00:16:44 +02:00
dzaima
b506b434a2
add Singeli directory to build cache key, add rebuild-singeli, quiet gcc
2023-02-23 23:36:41 +02:00
dzaima
8ad5132a6d
find & eqfn changes, use toI32Any more
2023-02-22 13:48:45 +02:00
Marshall Lochbaum
032e32ae1a
Fast flat ≡˘ and ≢˘ in most cases
2023-02-20 10:43:24 -05:00
Marshall Lochbaum
89e6be10e5
Add eqFns to calls.h and use for Find
2023-02-20 10:07:44 -05:00
Marshall Lochbaum
b56e547e34
Define eqFns in non-Singeli build
2023-02-20 08:20:05 -05:00
Marshall Lochbaum
fcc5c2e449
Slice function instead of take/drop
2023-02-19 21:14:42 -05:00
Marshall Lochbaum
ea6c7d9a7a
Use a C comparison function instead of a BQN one
2023-02-19 21:08:21 -05:00
Marshall Lochbaum
d2950a8df6
Flat rank 1 Find implementation using primitive calls
2023-02-19 20:34:32 -05:00
dzaima
70fec7eb1e
fix •ns.Keys on namespaces with unexported fields
2023-02-19 18:30:57 +02:00
dzaima
7013a9edf9
•ns.Get, •ns.Has, •ns.Keys
2023-02-19 18:02:35 +02:00
dzaima
428064a5c2
skip lookup table zero-initialization for x⊐x
2023-02-18 23:57:02 +02:00
dzaima
bb36755d67
native 𝕨/highrank
2023-02-18 21:04:22 +02:00
dzaima
96316f0fe1
faster 2↕
2023-02-18 19:47:22 +02:00
dzaima
7b57b4ae39
explicitly mark code sections where allocations aren't allowed to happen
2023-02-18 17:46:55 +02:00
dzaima
c32285dba9
Singeli copy from unaligned bitarr
2023-02-18 11:52:45 +02:00
dzaima
63fa511c55
deduplicate typed pointer calculation in mut.c
2023-02-18 00:09:37 +02:00
dzaima
8e720a2faa
use loadLow & storeLow in neq.singeli
2023-02-17 23:41:26 +02:00
dzaima
1e6b612e13
NEON copy.singeli
2023-02-17 22:10:21 +02:00
dzaima
0aada6163a
move src/clangdCommands.bqn to build/build clangd
2023-02-17 18:44:13 +02:00
dzaima
f76836aedd
clean up arithd.c & slightly improve non-Singeli impls
2023-02-17 16:43:07 +02:00
dzaima
32142a45d6
Widen cells in 𝕨∊𝕩, 𝕨⊐𝕩, 𝕨⊒𝕩
2023-02-17 00:27:15 +02:00
dzaima
089e2a38c6
update Singeli things
2023-02-16 21:31:19 +02:00
dzaima
f700a3e150
pad input cells when needed for for ∊𝕩, ⊐𝕩, ⊒𝕩
2023-02-13 00:19:50 +02:00
dzaima
fd1178bc0e
use BMI2 for widening to <32-bit cells
2023-02-10 23:04:20 +02:00
dzaima
53737ab3fb
use BMI2 for narrowing <32-bit cells
2023-02-10 23:01:45 +02:00
dzaima
855541954f
initial bit widen&narrow for ⊏
2023-02-10 17:59:22 +02:00
dzaima
23d99d7a24
more precise detection of when bit 𝕩 won't use simd for widening path
2023-02-04 18:17:21 +02:00
dzaima
f39ca95c58
maybe slightly better bit→i8→bit heuristic
...
the more proper thing is to pad cells to the nearest power-of-two byte size anyway
2023-02-04 17:16:01 +02:00
dzaima
be9d0c287e
better 𝕨⊏𝕩 with non-power-of-two cell sizes
2023-02-04 03:30:05 +02:00
dzaima
d2679da7e8
⊏: don't get in an infinite loop of f64 𝕨
2023-02-04 03:04:06 +02:00
dzaima
98f6944440
unify rank 1 and high-rank ⊏
2023-02-03 18:55:19 +02:00
dzaima
a84ca6c5d6
strict prototypes
2023-02-03 15:33:31 +02:00
dzaima
dbe4c0b51a
support character literals in native compiler
2023-02-02 22:52:02 +02:00
dzaima
356093e313
remove unwanted increment
2023-02-02 22:51:44 +02:00
dzaima
05c1270344
better 𝕨⊏𝕩 with 0=×´≢𝕨
2023-02-02 00:40:52 +02:00
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
dzaima
2b7291dbfb
cvt{E,T,v} → widen{T,to_el{E,v}}
2022-12-15 20:31:00 +02:00
dzaima
9a9fade18a
NEON loadLow, storeLow, andIsZero, maskstore, pack
2022-12-15 16:14:00 +02:00
dzaima
6f2d6bfb0b
remove offset argument from maskstore; don't use w256 in mask.singeli
2022-12-15 16:13:45 +02:00
dzaima
77edc734e8
move storeLow & loadLow to sse3 & avx; fix NEON __not
2022-12-15 00:39:44 +02:00
dzaima
9fea5f1e13
neg(Any|All) → top(Any|All), msk(Any|All) → hom(Any|All)
2022-12-13 21:46:50 +02:00
dzaima
336da996b3
any/all vector check renaming
2022-12-13 02:03:17 +02:00
dzaima
7e13bf7f45
more neon.singeli
2022-12-12 02:59:11 +02:00
dzaima
444268f051
width{eltype{T}} → elwidth{T}
2022-12-12 00:07:50 +02:00
dzaima
2a1611ac81
start of neon.singeli
2022-12-11 23:59:07 +02:00
dzaima
0ef8800530
native F⌾⊢𝕩 & F⌾⊣𝕩
2022-12-08 13:26:04 +02:00
dzaima
3a3f213a92
assign broadcast{T,v} to T**v
2022-12-07 23:53:19 +02:00
dzaima
ce45d487a3
use mutating assignment
2022-12-07 23:24:26 +02:00
dzaima
07d4567a52
use spread arguments
2022-12-07 23:10:17 +02:00
dzaima
bf71fdb4f8
singeli now formats generators itself
...
or, well, has for a long time
2022-12-07 22:41:17 +02:00
dzaima
1b88c4cc62
don't allocate twice the memory requested
2022-12-07 22:22:34 +02:00
dzaima
af978bbc91
cave in and initialize variables in gcc
2022-12-03 23:58:33 +02:00
dzaima
6ca5050f4d
reduce gcc warnings
2022-12-03 23:56:03 +02:00
dzaima
e4f4864ed2
define CBQN_EXPORT by default, add macro test for exactly gcc
2022-12-03 23:19:24 +02:00
dzaima
63e5e843ba
fix f64arr/𝕩
...
`slow:` uses `s`, but the goto went to it before `s` was initialized
2022-12-03 23:18:43 +02:00
dzaima
5d61785912
some more x86_64.h reordering
2022-12-03 22:54:49 +02:00
dzaima
21984e1700
more x86_64.h cleanup
2022-12-03 15:21:05 +02:00
dzaima
95f9e781fa
fix )profiler output merging all REPL entries
2022-12-03 14:14:32 +02:00
dzaima
732d1fdb34
remove ASMI/macro indirection
2022-12-02 17:26:10 +02:00
dzaima
bca0efb46c
clean up x86_64.h
2022-12-02 17:10:04 +02:00
dzaima
0023e46ab8
config file & light theme
2022-12-02 16:49:49 +02:00
dzaima
7c6676a492
copy over custom _mm_loadu_si32 for old gcc
2022-12-01 13:37:01 +02:00
Marshall Lochbaum
4077596b89
Sparse initialization for ⌾(i⊸⊏) byte table
2022-11-30 16:32:06 -05:00
Marshall Lochbaum
d7a06befb5
Select implementation comments
2022-11-30 16:32:06 -05:00
Marshall Lochbaum
534c92f38a
Select from <=128 booleans with shuffles
2022-11-29 22:14:57 -05:00
Marshall Lochbaum
fdfeb67e8f
2-register permutevar8x32
2022-11-29 20:27:45 -05:00
Marshall Lochbaum
41f464795f
Selection with permutevar8x32
2022-11-29 18:45:22 -05:00
Marshall Lochbaum
c17448ed71
Faster bit selection
2022-11-29 11:29:25 -05:00
Marshall Lochbaum
dc6e49b289
Shuffle selection using >1 data register
2022-11-28 21:51:36 -05:00
Marshall Lochbaum
b651ca73d3
Move base{} utility to base.singeli
2022-11-28 13:55:19 -05:00
Marshall Lochbaum
43fba7cd78
Extend shuffle selection to >1 byte data
2022-11-28 13:55:19 -05:00
Marshall Lochbaum
6639c17b81
1-byte select with <=16 elements using shuffle
2022-11-27 21:03:58 -05:00
Marshall Lochbaum
e09d555eba
Refactoring and renaming in select.singeli
2022-11-27 09:18:21 -05:00
Marshall Lochbaum
7cb8cf5772
Enable selection with AVX2 gather for i8 to i32 indices and 1- to 8-byte values
2022-11-27 09:18:21 -05:00
dzaima
dbc7c83f70
move usum to fold.c
...
but don't do anything useful with that because usum needs to also check for negative numbers
2022-11-27 15:45:33 +02:00
dzaima
afe6c0eba9
use 1•internal.Info for rtverify fails
2022-11-27 15:45:33 +02:00
dzaima
c0e06833c0
move B squeeze non-integer case out of twice-generated generator
2022-11-27 15:45:33 +02:00
dzaima
b0fcc017ce
clean up squeeze.singeli
2022-11-27 15:45:33 +02:00
dzaima
0f3f91105e
use anynePositive for squeeze.singeli
2022-11-27 15:45:33 +02:00
dzaima
15f6dd5d48
simplify 16-bit anynePositive
2022-11-27 15:45:33 +02:00
dzaima
5f85305f43
GPR mask testing
2022-11-27 15:45:33 +02:00
dzaima
efd79881cb
use single mask array for all type widths
2022-11-27 15:45:33 +02:00
Marshall Lochbaum
d911eafd31
Inverses for •math.Fact and •math.LogFact
2022-11-26 14:20:52 -05:00
Marshall Lochbaum
a3df482acd
Use non-inlined recursion for •math functions
2022-11-26 14:14:37 -05:00
dzaima
c4d0f8bdc4
highlight "." in numbers
2022-11-24 13:08:20 +02:00
dzaima
d383fe57a7
clean up whitespace
2022-11-24 01:26:35 +02:00
dzaima
34e37d1b1a
increase gc root buffer size
2022-11-24 01:09:50 +02:00
dzaima
cf5ce07f51
simplify singeli xor/and/or definitions
2022-11-24 00:21:19 +02:00
Marshall Lochbaum
e60b942710
Formatting
2022-11-23 16:51:30 -05:00
Marshall Lochbaum
7715cbc158
Add •math.Sum with Singeli f64 implementation
2022-11-23 16:51:30 -05:00
Marshall Lochbaum
35aef1e5cd
•math.Erf, •math.ErfC, and •math.LogFact
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
9a1268ea3a
Simplify •math.Comb implementation
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
6eb21bd68c
Factorial and combinations functions
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
f6109b3985
Handle no-op and boolean cases of monadic arithmetic quickly
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
58cd6f0f4e
Other useful math: log2 log10 log1p expm1 hypot
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
a0f6986832
Hyperbolic trig
2022-11-23 16:46:39 -05:00
Marshall Lochbaum
51840bc853
•math.GCD and •math.LCM for u64 arguments
2022-11-23 16:46:39 -05:00
dzaima
49636bae79
replace --dynamic-list with visibility
2022-11-22 15:36:32 +02:00
dzaima
6f5c329e22
noinline float product
2022-11-22 14:24:43 +02:00
dzaima
e7cc8ec444
use o2fG instead of union field
2022-11-21 23:26:25 +02:00
Marshall Lochbaum
31106c730c
Fold implementation comments
2022-11-21 15:56:15 -05:00
Marshall Lochbaum
bda653e865
Shortcutting for boolean-valued integer ∨´
2022-11-21 15:51:03 -05:00
Marshall Lochbaum
f1ca8793e3
Boolean comparison folds, monadic only
2022-11-21 15:36:06 -05:00
Marshall Lochbaum
47392acc33
Implement ×´ for all numeric cases, using f64 product when i32 fails
2022-11-21 15:19:27 -05:00
Marshall Lochbaum
52608ba6ce
Singeli min/max-fold
2022-11-21 11:47:50 -05:00
Marshall Lochbaum
4b9a21c75f
Do tack-fold with selection
2022-11-21 08:07:38 -05:00
Marshall Lochbaum
38683119c0
Handle some f64 cases in dyadic fold
2022-11-20 22:03:36 -05:00
Marshall Lochbaum
c977065c20
Move +⌈⌊ folds to function tables, unifying monadic and dyadic cases
2022-11-20 21:51:30 -05:00
Marshall Lochbaum
ebfd002793
Blocked +´ and f64 ⌈´ ⌊´
2022-11-20 21:06:05 -05:00
Marshall Lochbaum
5bfdc26d00
Move fold to its own file
2022-11-20 20:06:35 -05:00
Marshall Lochbaum
b9a3a7886d
Ordering function implementation comments
2022-11-20 19:57:00 -05:00
dzaima
24195780df
reorder headers to allow OpenBSD hack to function
2022-11-20 18:22:51 +02:00
dzaima
6ff521b200
don't use IA/SH macros for assigning
2022-11-18 15:07:31 +02:00
dzaima
966b78693b
fix test/precompiled.bqn
2022-11-18 00:16:34 +02:00
dzaima
5c65a1a7eb
move precompiled bytecode to submodule
2022-11-17 23:20:07 +02:00
dzaima
1b64b4b548
better temporary replxx state handling
2022-11-17 19:18:33 +02:00
dzaima
35abd7f7e8
try $XDG_DATA_HOME before $HOME for REPL history directory
2022-11-17 19:18:33 +02:00
dzaima
ff36205a34
bind ctrl+n & ctrl+p
2022-11-17 19:18:33 +02:00
dzaima
1f5be9e69e
backslash input
2022-11-17 19:18:33 +02:00
dzaima
9018051ce3
add •math.Atan2 autocomplete
2022-11-17 19:18:33 +02:00
dzaima
c60bdaba4d
highlight 𝔽𝔾𝕎𝕏𝕊 as functions, reduce mut.h to calls.h
2022-11-17 19:18:33 +02:00
dzaima
bd6035cdef
more system namespace field completion, actually add •ToUTF8
2022-11-17 19:18:33 +02:00
dzaima
a48488a132
enable bracketed paste, add sanity check in syntax highlighter
2022-11-17 19:18:33 +02:00
dzaima
07fa4a066b
save replxx history more
2022-11-17 19:18:33 +02:00
dzaima
983452b409
system value completion
2022-11-17 19:18:33 +02:00
dzaima
feb7b8b9a0
replxx REPL
2022-11-17 19:18:33 +02:00
dzaima
94f8b189f7
REINIT_TAIL → FINISH_OVERALLOC
2022-11-17 18:56:46 +02:00
dzaima
a48f1f5eb0
fix -DMM=0
2022-11-17 18:56:46 +02:00
dzaima
55e8a43297
fix test/mut.bqn leaking references
2022-11-17 18:56:46 +02:00
dzaima
1ac5f0a49d
arr_shCopy that doesn't compare IA
2022-11-17 18:56:46 +02:00
dzaima
179e0a37dc
more tail verify work
2022-11-17 18:56:46 +02:00
dzaima
e5a9c7536d
array tail overwriting checker
2022-11-17 18:56:46 +02:00
dzaima
360aabb7cc
option to noinline mm_alloc & mm_free
2022-11-17 18:56:46 +02:00
dzaima
da1062c81c
remove unused #undef
2022-11-17 18:55:59 +02:00
dzaima
aee745a7d6
fix argument names of C2
2022-11-17 18:13:29 +02:00
dzaima
db89e7a4bb
fix function signatures & M1C2; use C1 & bit_negate more
2022-11-17 17:52:19 +02:00
Marshall Lochbaum
be9037cb62
Squeeze for ∨` instead of scalar checking for bool
2022-11-17 08:32:29 -05:00
Marshall Lochbaum
5985e92834
Initialized min/max-scan
2022-11-17 07:59:00 -05:00
Marshall Lochbaum
98d066c343
Use scan_max_num for sorted ⊒
2022-11-16 21:20:54 -05:00
Marshall Lochbaum
1924aee61c
f64 min/max scan
2022-11-16 21:14:32 -05:00
Marshall Lochbaum
136c1afacc
Macro-ize integer min/max scan and add sorted flag
2022-11-16 20:49:57 -05:00
Marshall Lochbaum
ac7ff155d4
Pull out scan_add_bool() utility function from scan_c1()
2022-11-16 20:16:33 -05:00
Marshall Lochbaum
d6029985e8
Move scan to its own file
2022-11-16 19:48:37 -05:00
Marshall Lochbaum
93ef4bb2a9
Direct ⍷bool implementation
2022-11-15 22:03:50 -05:00
Marshall Lochbaum
f1142b4184
Branchless ⊒bool, moderately faster
2022-11-15 18:27:54 -05:00