Commit Graph

3193 Commits

Author SHA1 Message Date
dzaima
e4d024e031 comments about potential inds⊸⊏˘bitmat optimizations 2025-06-19 20:54:35 +03:00
dzaima
dcf150cef2 avoid unnecessarily copying •FBytes result 2025-06-15 03:59:03 +03:00
dzaima
307be40ac7 ensure accessible memory around mmapped files 2025-06-15 03:41:58 +03:00
dzaima
200d4f6900 more proper FILE* closing in path_bytes 2025-06-15 03:37:01 +03:00
dzaima
597e59c085 add STRICT_ALIGN, use by default in FOR_BUILD 2025-06-14 19:28:00 +03:00
dzaima
1c77e3b06d add IS_TYSLICE & SLICE_TO_ARR, clean up array/slice check names
IS_SLICE → ARR_IS_SLICE as it assumes the argument type is already an array type
2025-06-14 18:46:00 +03:00
dzaima
ede87b4800 fix •bit._neg & •bit._not reuse check 2025-06-13 02:29:30 +03:00
dzaima
ce48dd1bca clear flags on •bit._neg & •bit._not reuse 2025-06-13 02:21:25 +03:00
dzaima
932f388cdf fix bugs when GC changes refcounts 2025-06-13 02:07:53 +03:00
dzaima
e8f5595536 don't try to use fancy stack frame printer during GC
as it'll likely end up wanting to GC itself, and nested GC isn't allowed
2025-06-13 01:18:29 +03:00
dzaima
2160f4001d clear flags on •bit._cast reuse 2025-06-13 01:00:11 +03:00
dzaima
58d5f47e98 fix printf 2025-06-12 04:42:28 +03:00
dzaima
d9007c3136 use errMd more 2025-06-11 18:07:31 +03:00
dzaima
634cf82fbe use reshape_one instead of manual mut_fill more 2025-06-11 17:47:14 +03:00
dzaima
abb9adbc50 make SEMANTIC_CATCH work without USE_SETJMP 2025-06-11 17:47:14 +03:00
dzaima
53f331112f don't have weird "𝕨˘𝕩" in error messages 2025-06-11 17:24:45 +03:00
dzaima
2a853dbfcd cleanup 2025-06-11 00:47:11 +03:00
dzaima
a756174483 fix WARN_SLOW build
WARN_SLOW has generally been forgotten about, but no harm keeping it working; this looks at x's bits explicitly after it's consumed, but it's not dereferenced so it's "fine"
2025-06-09 23:02:17 +03:00
dzaima
b95fb8097d debug assert for proper getter indices 2025-06-09 18:54:18 +03:00
dzaima
c294b07f5f don't bother raveling a rank-1 array for replicating 2025-06-09 18:07:31 +03:00
dzaima
671efcc948 better inlining split 2025-06-08 23:49:20 +03:00
dzaima
8c22564b41 better 64-bit CHECK_IA
allows it to be lowered to (x>>48)==0, avoiding initializing a 64-bit constant
2025-06-08 23:49:18 +03:00
dzaima
0b678bc274 move some fill/eltype array creation helpers into core includes 2025-06-08 21:53:19 +03:00
dzaima
2447eb25cf semantically squeeze F⌜ result 2025-06-08 18:55:38 +03:00
dzaima
286067ad51 some F⌜ shape management refactoring
avoids having two arr_shAlloc invocations, and also makes ⊢⌜ direct
2025-06-08 18:35:57 +03:00
dzaima
c90674313b reduce reshape+replicate-based Arith⌜ constant overhead 2025-06-08 18:10:01 +03:00
dzaima
0a561bce2b better number/character fill checks
as the only valid number fill is 0, full isNum check is pointless
2025-06-08 17:50:37 +03:00
dzaima
2447ebe734 faster emptyArr 2025-06-08 17:10:01 +03:00
dzaima
01fea8904d move test/mut.bqn to test/run.bqn system 2025-06-01 07:03:19 +03:00
dzaima
4296c42534 fix unshare with heuristic randomization 2025-06-01 05:40:14 +03:00
dzaima
b768332c03 explicit 2x unroll for x86 copy.singeli
clang was unrolling ~8x anyway, but without ability to uninterleave the loads & stores
2025-06-01 04:50:21 +03:00
dzaima
88f2eb6b87 fast ↕list when (64≥≠list) ∧ ∧´list∊1‿2, typed result otherwise 2025-05-31 19:41:03 +03:00
dzaima
3f0e696add move bit_reverse to stuff.h
+ explicitly note its operating width
2025-05-31 19:04:12 +03:00
dzaima
433d20fc61 validate fill in debug builds 2025-05-31 19:03:50 +03:00
dzaima
e2e73a5987 always define DEBUG to 1 or 0 2025-05-31 19:03:50 +03:00
dzaima
f843c7e96d proper name 2025-05-30 06:44:58 +03:00
dzaima
c203ed2b91 update slash.singeli to use more helpers
also makes the [16]i8-shuffle-based method on T==i8 load only 8 bytes, instead of an unnecessary 16
2025-05-30 06:22:22 +03:00
dzaima
13a64e4f56 AVX-512 masked_mov & compress 2025-05-30 06:16:13 +03:00
dzaima
bbc47cd81e AVX-512 lowelt_mask 2025-05-30 06:16:13 +03:00
dzaima
d048cf66fa implement AVX-512 mask reinterprets via hom_to_int & int_to_mask 2025-05-30 06:16:13 +03:00
dzaima
ac2dcb711b use intrinsic name generators more 2025-05-30 06:16:13 +03:00
dzaima
1d3413f6ea full vector broadcasting via broadcast{[k*n]E, v:[k]E} 2025-05-30 06:16:13 +03:00
dzaima
b1e561d7ed more explicit broadcast{[k]E, val} definition 2025-05-30 06:16:13 +03:00
dzaima
309fc75d9f more helpers for x86 intrinsics 2025-05-30 06:16:13 +03:00
dzaima
f274f58dc4 explicitly check non-512 vector length in x86_has512 2025-05-30 06:16:13 +03:00
dzaima
94cdc28ea9 hom_ones 2025-05-30 06:04:56 +03:00
dzaima
6f03371e3b get rid of most custom sel{…} defs 2025-05-30 06:04:56 +03:00
dzaima
4e12204c52 make arch_defvw a generator 2025-05-30 05:59:28 +03:00
dzaima
624c74058c improve pure function detection 2025-05-30 02:17:40 +03:00
dzaima
c0cb1a9f77 more 𝕨⥊𝕩 refactoring 2025-05-29 23:41:55 +03:00