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
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
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
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
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
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
dzaima
647a0b97e7
error on nested GC
2024-04-03 05:03:37 +03:00
dzaima
d21a77119f
more verification of •bit._cast types, remove 'n'
2024-03-30 17:55:43 +02:00
dzaima
ac069134c3
fix ⟨1.5⟩ ⊏ "ab"‿"cd"
2024-03-25 16:18:01 +02:00
dzaima
a94903cb12
fix 𝕨⊏unit
2024-03-25 16:18:01 +02:00
dzaima
96cf03311a
fix isPervasiveDyExt on 5˜
2024-03-25 16:18:01 +02:00
dzaima
10a58878d7
fix GroupLen on array elements outside i64 range
2024-03-25 16:18:01 +02:00
dzaima
79ea9ec02c
ensure desired updating order between envCurr and its pointed-to data
2024-03-25 16:18:01 +02:00
dzaima
b089337ee8
FFI: fix "&{*}"
2024-03-07 14:45:10 +02:00
dzaima
0c3d83c50b
fix ⊑˘ with bitarr 𝕩
2024-02-27 14:27:42 +02:00
dzaima
606e07ff14
fix vqtbl1 NEON argument type
2024-02-27 01:42:56 +02:00
dzaima
694920c273
minor code cleanup
2024-02-27 00:40:16 +02:00
dzaima
fef984b6fd
src/README.md cleanup and updating
2024-02-27 00:38:05 +02:00
dzaima
875f9185bf
use ux a tiny bit more, add a PLAINLOOP
2024-02-27 00:37:47 +02:00
dzaima
c2ca871ce5
FFI: fix "*:i8" built object storage
2024-02-27 00:35:36 +02:00
dzaima
5a13b49ee6
FFI: properly error on read of *a:b
2024-02-16 04:16:42 +02:00
dzaima
8d427100c2
FFI: fix calculated memory size of atom:b
2024-02-16 03:36:49 +02:00
dzaima
f221f90eda
error on non-number arguments for f32/f64 FFI writes
2024-02-15 17:55:53 +02:00
dzaima
09cb2aa5f8
gcc 14 should have "#pragma GCC novector"
2024-02-13 22:41:14 +02:00
dzaima
1318026c4e
a bunch of vfor
2024-02-13 22:34:16 +02:00
dzaima
3fc3338256
extract independent load from loop
2024-02-13 22:33:54 +02:00
dzaima
f981f6963b
use ux for loop index in reverse
...
makes gcc autovectorizer happier
2024-02-13 22:31:22 +02:00
dzaima
5abb09ca74
remove barely-useful elType==el_i32 path of reshape
...
perhaps could be replaced with an <=el_i32 path that still uses GetU but just skips numberness/integerness checks and ∘/⌊/⌽/↑ logic
2024-02-13 22:30:11 +02:00
dzaima
26a4bc9ac3
add guaranteedness of decrement on bqn_read*
2024-02-13 22:26:43 +02:00
dzaima
5c98930126
this was meant to be included in the previous commits
2024-02-13 22:24:35 +02:00
dzaima
b7afe7e597
fix nvm_x86_64.c's MMAP define
2024-02-13 22:19:17 +02:00
dzaima
210f6345c0
ensure desired allocation padding on NO_MMAP
2024-02-13 22:13:47 +02:00
dzaima
9577fa193c
make STORE_JIT_MAP build
2024-02-13 22:13:47 +02:00
dzaima
73a2b06703
more PLAINLOOP
2024-02-08 19:26:35 +02:00
dzaima
9cb0ab2fbb
Use getRange_fns for repeat_bounds
2024-02-08 19:25:30 +02:00
dzaima
52a583502d
get rid of 16-bit limits in FFI sizes
2024-02-06 22:33:54 +02:00
dzaima
b1e2e17edd
even more FFI cleanup
2024-02-06 22:31:57 +02:00
dzaima
2b30010c25
disallow writing array to pointer within pointer object
...
and while at it move a global to an argument
2024-02-06 20:29:24 +02:00
dzaima
74f7e4701d
disallow '&' outside of top-level type
2024-02-06 20:03:46 +02:00
dzaima
cb550bf885
more FFI cleanup
2024-02-06 15:17:49 +02:00
dzaima
b7f845300c
some FFI error message changes
2024-02-06 15:16:29 +02:00
dzaima
5a8ad03ff5
buildObj → readUpdatedObj, inline printFFIType
2024-02-06 15:16:29 +02:00
dzaima
677b341ad4
merge readRe & makeRe, reduce its result size to the proper size
...
previously the 1<<reW was used as the number of bytes to require but it's actually number of bits
2024-02-06 14:22:20 +02:00
dzaima
05ceb45b2f
fix ptr.Write doing weird things
2024-02-05 22:42:24 +02:00
dzaima
445cfcf15a
fix type of returned pointer within struct
2024-02-05 21:40:28 +02:00
dzaima
3c297ffeb8
add pointer reading within struct
2024-02-05 21:24:05 +02:00
dzaima
a8772dc3ae
fix **:i8
2024-02-05 04:54:55 +02:00
dzaima
b22c5d2883
get rid of sty_ptr
2024-02-05 04:51:12 +02:00
dzaima
7ab13e3c5a
refactor BQNFFIEnt & BQNFFIType
2024-02-05 04:14:02 +02:00
dzaima
102874c43f
support passing pointer objects to typed arguments
2024-02-05 01:29:49 +02:00
dzaima
a4c0424931
fix type equality checking on untyped pointer elements
2024-02-05 01:29:49 +02:00
dzaima
ac16b69fe1
add toggle to always run buildObj for testing object matching more
2024-02-05 01:29:49 +02:00
dzaima
61f142a1fd
type formatting for error messages
2024-02-05 01:29:49 +02:00
dzaima
7471c5c9f5
fix plain "&" argument being accepted
2024-02-05 00:34:55 +02:00
dzaima
e89d59c606
more proper error message
2024-02-04 23:27:28 +02:00
dzaima
7edcccdf82
initial pointer objects
2024-02-04 23:19:57 +02:00
dzaima
0ce728bcce
do a thing that should be done
2024-02-04 18:10:11 +02:00
dzaima
291d3ef5d7
deduplicate sh_c2 setup & output prep
2024-02-04 15:31:38 +02:00
dzaima
4f39729013
Merge pull request #106 from vylsaz/win-sh2
...
Implement •SH for Windows
2024-02-04 14:48:36 +02:00
dzaima
a3392fd6c1
fix casrt_c2 more
2024-02-04 14:47:43 +02:00
vylsaz
893ef857d7
Add comments
2024-02-04 02:45:25 +00:00
vylsaz
42e4956fb9
Replaced globals with argument to thread procedure
2024-02-04 02:35:47 +00:00
dzaima
2dfc8933bd
fix refcount leak in casrt_c2
2024-02-03 18:20:07 +02:00
vylsaz
74d3620839
Implement •SH
2024-02-03 01:45:56 +00:00
dzaima
1e8c390e6a
include file name in failed complication error messages
2024-02-01 22:52:55 +02:00
dzaima
88f8daedbf
proper bi_optOut handling
2024-02-01 21:26:08 +02:00
dzaima
592a8312ac
a bunch of PLAINLOOP
2024-02-01 21:26:08 +02:00
dzaima
1b26e85325
don't need to mark static globals as hidden
...
gcc complains about this
2024-02-01 21:26:08 +02:00
dzaima
c078f62b1f
add GLOBAL, INIT_GLOBAL, or const to globals
2024-02-01 21:13:39 +02:00
dzaima
6e39b59e73
use tuple destructuring in mask.singeli
2024-01-28 02:38:16 +02:00
dzaima
041be9a612
rearrange elses to get rid of clangd warning
2024-01-28 02:29:03 +02:00
dzaima
5b1fc39137
typo
2024-01-28 02:28:31 +02:00