dzaima
05690c001a
suppress false-positive gcc warnings
2024-05-24 04:01:05 +03:00
dzaima
5862c28c08
avoid conversion of i64 to ux for pointer offset
2024-05-22 20:41:40 +03:00
dzaima
f14583f995
faster ⍉ on large‿small⥊x
2024-05-22 20:07:48 +03:00
dzaima
f5e536aefe
update bytecode submodule
2024-05-22 15:15:38 +03:00
dzaima
33f784106d
actually properly mention reference counting in src/README.md
2024-05-20 01:39:26 +03:00
dzaima
f02f882801
Merge pull request #109 from ap29600/highrank_select_ucw
...
native path in `select_ucw` for high rank `𝕩`
2024-05-20 01:27:10 +03:00
dzaima
44c8da7dc7
add checks for l>0 on equal() impls
...
some Singeli `fn equal` paths already assumed such, this just makes the requirement properly checked for, benefited from, and documented
2024-05-20 01:03:57 +03:00
dzaima
52fb05fcd4
unify ⌾(a⊸⊏) typed array paths, fix csz==0
2024-05-20 01:03:57 +03:00
Andrea Piseri
60a28a40ca
Clean up collision checking, use vector copy functions
2024-05-19 16:59:55 +02:00
dzaima
9f6151d92d
expand ⌾(a⊸⊏) tests, stylistic changes/cleanup
2024-05-19 02:14:08 +03:00
Andrea Piseri
99a23a97d8
Fix typo in the error message
2024-05-19 00:10:28 +02:00
Andrea Piseri
e66443d19f
update expected error messages in test/cases/under.bqn
2024-05-19 00:07:58 +02:00
Andrea Piseri
3738d0d65d
Formatting
2024-05-18 23:58:11 +02:00
Andrea Piseri
93188a9f90
Use COPY_TO and EQFN in the typed array code path
2024-05-18 23:56:13 +02:00
Andrea Piseri
06808414da
Separate code path for cxsz=1, fix out of bounds read for RNK(x)==0
2024-05-18 21:45:18 +02:00
Andrea Piseri
7f28308e44
native path in select_ucw for high rank 𝕩
...
`𝔽⌾(a⊸⊏)𝕩` now does not need to go through the self-hosted runtime if
`1<=𝕩`. Instead the `select_replace` helper function is parametrized
over the length of `𝕩` (`xl`) and item amount of the cell of `𝕩` (`xcia`).
- The `EQ` macro is modified to not immediately mark the cell as
populated, so that multiple replacements can be done on the cell
on the first assignment to it.
- The `DONE_CW` macro is invoked to mark the current cell as populated
when every element in it has been assigned.
- A loop over the cell contents is introduced to copy the elements in
`𝕩`. This should be fine as it is an easily predictable jump,
but a performance regression is possible and a separate code path
could be introduced in the future.
The change introduces more extensive checking on the shape of `𝔽`'s
result, as for high rank `𝕩` the requirement should be `(≢𝔽a⊏𝕩)≡(≢a)∾1↓≢𝕩`.
The old behaviour of `select_replace` is recovered by passing `xl=xia`
and `xcia=1` in the implementation of `pick_ucw`.
2024-05-18 12:12:17 +02:00
dzaima
4f898f38d2
various Singeli usage improvements and fixes
2024-05-11 05:57:30 +03:00
dzaima
b2eb26c2e7
Merge pull request #108 from mlochbaum/new-singeli
...
Singeli syntax updates
2024-05-10 20:56:17 +03:00
Marshall Lochbaum
b2e3a5ff74
Move from & to if/and for Singeli conditions
2024-05-10 10:26:28 -04:00
Marshall Lochbaum
4d6612cb16
Replace tuplen{} and tupsel{} with length{} and select{}
2024-05-10 09:49:58 -04:00
Marshall Lochbaum
12d7629f9c
Replace top-level if with if_inline
2024-05-10 08:36:24 -04:00
Marshall Lochbaum
526d9bbebe
Wrap non-destructuring type parameters in parens
2024-05-10 08:30:08 -04:00
dzaima
0b1ba06bc0
fix static-lib on macos
2024-05-09 20:27:37 +03:00
dzaima
604b751994
rearrange linker command generation
2024-05-09 20:14:25 +03:00
dzaima
4a40739398
use printf & fprintf instead of putchar & co
2024-05-05 01:07:47 +03:00
dzaima
b657778205
fix •file.MapBytes in debug builds
2024-04-20 23:25:47 +03:00
dzaima
ac405da3ab
fix building after compilation error
2024-04-20 23:24:48 +03:00
dzaima
5600bb189a
fix ⟨1,2⋆62⟩/2⥊<⋈0
2024-04-20 21:24:51 +03:00
dzaima
de529e483b
make non-Singeli getRange_f64 check first element for integerness
2024-04-20 21:21:47 +03:00
dzaima
ce4461ff44
build/build: handle dry-run clangd
2024-04-20 21:20:59 +03:00
dzaima
d63e5ab714
build/build: dry → dry-run
2024-04-20 03:52:35 +03:00
dzaima
1f4d1fce0b
build/build: warning caching
2024-04-20 03:38:51 +03:00
dzaima
68f0ec749f
build/build: dry, clean, rebuild list
2024-04-20 03:10:13 +03:00
dzaima
a6a088868c
fix ⟨⟩⍷⟨⟩
2024-04-04 03:54:55 +03:00
dzaima
3870189f85
fix 3‿3⍒"a" & "aa"⍒3‿3
2024-04-04 03:54:55 +03:00
dzaima
a75522c738
fix list⌽𝕩
2024-04-04 02:52:08 +03:00
dzaima
54cec2fdf5
split up CATCH_ERRORS into functional and semantic options
...
allows running a non-heapverify build that functions exactly as a heapverify one, while allowing ⎊ to function
2024-04-04 02:52:08 +03:00
dzaima
fd317ddce3
move heapverify CATCH_ERRORS change to build.bqn
2024-04-04 02:35:02 +03:00
dzaima
74f3b5a012
fix (17⥊'⍉') ∊ 4⥊<"a"
2024-04-03 22:14:04 +03:00
dzaima
61e068086e
fix (2⋆25)/(2⋆10)⥊10
2024-04-03 22:14:04 +03:00
dzaima
863da7083f
OOM on too large apd_sh_init result
2024-04-03 18:27:25 +03:00
dzaima
74d937a4fd
fix +⌜´↕0 leaking a reference
2024-04-03 17:13:06 +03:00
dzaima
d4f290a897
error on nonInteger⌽⟨⟩
2024-04-03 17:09:27 +03:00
dzaima
c1157f89a6
fix GroupLen properly
2024-04-03 05:59:35 +03:00
dzaima
55f7baf894
add debug check for correct array size calculation
2024-04-03 05:59:35 +03:00
dzaima
b8730798c1
explicitly handle empty cells in compress
2024-04-03 05:59:35 +03:00
dzaima
5ab49ab146
slash.c cleanup
2024-04-03 05:59:35 +03:00
dzaima
9973ab1a2e
make overallocation argument u64
2024-04-03 05:59:35 +03:00
dzaima
d77018f269
fix ⟨⟩⍷1‿0⥊0
2024-04-03 05:59:35 +03:00
dzaima
af0a40c732
fix ⍟ with empty typed repeat counts
2024-04-03 05:59:35 +03:00