dzaima
dd7c21ed86
extract cycling reshape implementation from shape_c2
...
currently somewhat-inefficient, but separating out for reference, to allow the moving commit to largely not change anything
2025-05-29 23:25:14 +03:00
dzaima
d0ab742313
extract 1≥≠𝕨 case of 𝕨⥊𝕩
...
temporarily calling back into shape_c2 when necessary
2025-05-29 23:25:14 +03:00
dzaima
056cfd8367
extract m_barrp_fill, make m_arrp_fill actually set fill
...
conditions were the wrong way around :|
2025-05-29 23:25:14 +03:00
dzaima
541e5a805e
𝕨⥊𝕩 implementation refactoring & testing
2025-05-29 22:36:38 +03:00
dzaima
860594ae48
expose RANDOMIZE_HEURISTICS config in •internal.Temp
2025-05-28 07:49:41 +03:00
dzaima
59923b25df
refactor •internal.Temp
2025-05-28 06:55:53 +03:00
dzaima
879a3e2007
fix 𝕨⥊𝕩 integer overflow
2025-05-28 06:41:49 +03:00
dzaima
054cdac6d9
use unpack_unit helper
2025-05-28 04:31:16 +03:00
dzaima
45a756a6a0
fix reference leak on heapAllocatedAtom⊸»˘0‿2⥊0
...
caught by test/cells.bqn
2025-05-28 04:22:20 +03:00
dzaima
107f5a7ee5
atom⊸«⎉k can only legally do k==1
...
noticed by test/cells.bqn
2025-05-28 04:05:30 +03:00
dzaima
d8ec8a3a70
actually fast-path (<atom)⊸«⎉1
2025-05-28 04:02:27 +03:00
dzaima
13068480ca
pick_sells handles rank 1
...
noticed by test/cells.bqn
2025-05-28 03:48:58 +03:00
dzaima
09936204d0
fix withFill being passed object with incomplete shape
...
caught by fuzz.bqn
2025-05-28 03:12:45 +03:00
dzaima
2adb0a3586
--disable-jit flag
...
will be less efficient than if compiled with -DJIT_ENABLED=0, but better than nothing
2025-05-28 02:13:22 +03:00
dzaima
0f5e3c354d
fix false-positive in heuristic randomization of 0 ∨ "Af64"•internal.Variation ↕0
...
caught by fuzz.bqn
2025-05-28 02:01:00 +03:00
dzaima
32b37188d3
fix arr_bptr==NULL path of isSorted
...
isSorted doesn't consume x, but TO_BPTR mutates it
2025-05-28 00:56:29 +03:00
dzaima
368fe11155
fix heuristic bounds of select_rows_direct
...
inds_buf has limited size; failed fuzz/select-cells
2025-05-28 00:38:57 +03:00
dzaima
650c5b9171
quiet warning
2025-05-28 00:23:29 +03:00
dzaima
c050df28d3
fix fill of ≍˘˜fillarrList
...
testing will come later with •internal.Indistinguishable _eqvar
2025-05-28 00:23:29 +03:00
dzaima
8a69998839
proper fill for 0⊸⊏˘fillarr
...
testing will come later with •internal.Indistinguishable _eqvar
2025-05-28 00:23:29 +03:00
dzaima
c866309707
fix fill of bitarr⊏𝕩 when 𝕩 has no fill and starts with elements that can construct a typed array
2025-05-27 21:59:07 +03:00
dzaima
8626fb14ce
cleanup from gcc -Wextra
2025-05-27 21:59:07 +03:00
dzaima
2fc61ac9f7
better inds⊏highrankTyped loops
2025-05-27 21:59:07 +03:00
dzaima
23648c7855
fix inds⊸⊏˘fillarr result fill
2025-05-27 21:59:07 +03:00
dzaima
b49d4bcd86
move 𝔽⌾(a⊸/)𝕩 impl to toEltypeArrX
...
testing will come later with •internal.Indistinguishable _eqvar (fill changed)
2025-05-27 01:39:20 +03:00
dzaima
5e06dea15f
optimize WRAP
2025-05-26 23:45:20 +03:00
dzaima
40ac18fd6e
replace ARR_BPTR_NEVER with HEURISTIC
2025-05-26 23:24:43 +03:00
dzaima
9e47ce066a
more proper eltype copying helper
...
fixes c¨⌾(m⊸/)genericlist arr_bptr==NULL path copying input during noAlloc
2025-05-26 23:24:43 +03:00
dzaima
7e3e4a031f
change freed object debug reference count value
...
the previous one had hex 0xaaaaada8, the new one has a more easily identifiable signed decimal form
2025-05-26 23:24:43 +03:00
dzaima
5e68db7bc1
fix arr_bptr==NULL path in compress_grouped
2025-05-26 21:00:29 +03:00
dzaima
a5d1e29f4f
fix fill of i8arr≍˘numeric_fillarr
...
testing will come later with •internal.Indistinguishable _eqvar
2025-05-26 19:26:29 +03:00
dzaima
10c0e43649
•internal.Indistinguishable
2025-05-26 05:43:29 +03:00
dzaima
cac692da89
comparison cleanup
2025-05-26 05:35:48 +03:00
dzaima
c4685bcc0c
fix insert_scal fill issues
2025-05-26 04:28:35 +03:00
dzaima
cbc1ef397b
fix •internal.ListVariations on a fillarr of floats
2025-05-26 04:17:29 +03:00
dzaima
3ab5c87a76
randomizable squeeze
2025-05-26 01:53:44 +03:00
dzaima
60cefa158b
mark some heuristics
2025-05-26 01:53:44 +03:00
dzaima
1bcaebbd1f
heuristic randomization infrastructure
2025-05-26 01:53:44 +03:00
dzaima
641039520d
make genericDesc crash on invalid argument
2025-05-26 01:53:44 +03:00
dzaima
8cc1e08f46
fix FFI error message on too-large characters
2025-05-26 01:53:44 +03:00
dzaima
454d1b072d
move arr⌾(m⊸/)𝕩 over to new DirectArr thing
2025-05-26 01:53:44 +03:00
dzaima
3abd77fed8
remove unused mut fns
2025-05-26 01:53:44 +03:00
dzaima
7dc5aa9090
more complete DirectArr thing, use for 𝔽⌾(f64arr⊸⊏)
2025-05-26 01:53:44 +03:00
dzaima
eca886ed4d
mark debug helpers with default visibility
2025-05-25 21:19:35 +03:00
dzaima
e398d127d4
fix comment
2025-05-24 16:40:09 +03:00
dzaima
fd58b87e61
avoid UB __shl{neative,x}
2025-05-24 05:40:56 +03:00
dzaima
dd82d3fb54
in-place c¨⌾(is⊸⊏)fillarr
...
+ use toEltypeArr for generic 𝔽⌾(is⊸⊏)𝕩; not "faster", but just nicer to work with
2025-05-24 00:28:51 +03:00
dzaima
124d094591
fast c¨⌾(is⊸⊏)list
2025-05-23 23:56:00 +03:00
dzaima
d79bdafaa8
actually a generic arr_ptr is maybe not a sane thing
2025-05-23 23:50:13 +03:00
dzaima
1c20f3eac5
fix memory leak in 𝔽⌾(is⊸⊏) highRank
2025-05-23 21:01:58 +03:00
dzaima
cc0462aa53
move arr_ptr from mut.c to core includes
2025-05-23 21:01:49 +03:00
dzaima
e02c267ef5
print type name in corrupted tail report
2025-05-23 20:19:45 +03:00
dzaima
398d387c22
fix arr⌾(is⊸⊏) highrank range check
2025-05-23 20:08:26 +03:00
dzaima
3fe7bd89bf
Singeli implementation of reflexive float comparison
2025-05-23 03:04:38 +03:00
dzaima
186acd6c8d
move and_bit_none impl to x86.singeli; add andn_bit_none
2025-05-23 01:58:08 +03:00
dzaima
1e53078324
make match functions take ux instead of u64 for length
2025-05-23 00:47:04 +03:00
dzaima
2a57cb30b8
fix eequal on different NaN patterns
...
+ rename compareFloat→floatCompare to be more consistent
2025-05-23 00:42:07 +03:00
dzaima
a7897ddcde
get rid of NEEQUAL_NEGZERO
...
as compatibility checking now relies on eequal, it can no longer do funky things
2025-05-23 00:23:13 +03:00
dzaima
b0877bfad9
use reflexive match for (2‿3⥊0÷0)⌾(0‿0⊸⊏) 2‿3⥊1 fix
2025-05-22 23:58:04 +03:00
dzaima
d1855f14e9
refactor match function direct calling
2025-05-22 23:56:02 +03:00
dzaima
aab1a15c39
better eequal impl
2025-05-22 23:45:41 +03:00
dzaima
7947f86833
basic fix for (2‿3⥊0÷0)⌾(0‿0⊸⊏) 2‿3⥊1 erroring
2025-05-22 23:45:37 +03:00
dzaima
81ce43e77f
complete comment
2025-05-22 02:28:50 +03:00
dzaima
36ba160477
fix 𝕨/𝕩 doing unchecked multiplications on +´𝕨
...
both that explicit one, and ones in the allocation functions
2025-05-22 01:45:56 +03:00
dzaima
3b5497e329
fix use-after-free in a⌾(i⊸/)𝕩
...
not actually ever problematic I believe as `w` in *_ucw always happens to have other held references, but still a bug and could become problematic in the future;
and the change is actually an improvement, bringing the SGetU computation out of paths that don't need it!
2025-05-22 01:18:04 +03:00
dzaima
04d0191d1f
handle v¨⌾(l⊸/)x with non-boolean l with fast path
2025-05-22 01:14:09 +03:00
dzaima
185a18d478
fix a⌾(b⊸/)x comparing during noAlloc
2025-05-22 00:38:47 +03:00
vylsaz
7cdbe866da
Windows: use CRT-safe _beginthreadex() rather than CreateThread(); also remove unnecessary NULL check for realloc()
2025-05-21 05:05:14 +00:00
dzaima
15bf932757
make atom decomposition equality check use eequal
...
gets rid of compound functions having observable identity if they have NaN as a component
2025-05-21 00:54:52 +03:00
dzaima
723ca38816
make native ⌾(is⊸⊏) & ⌾(m⊸/) compare NaNs as equal
2025-05-21 00:36:08 +03:00
dzaima
8046f157bf
fix •file.Type and •file.Exists on links
2025-05-19 23:51:13 +03:00
dzaima
1ab511f657
fix JIT not allocating stack capacity for empty arrays
2025-05-16 02:09:04 +03:00
dzaima
c17280d96d
cleanup
2025-05-15 00:43:53 +03:00
dzaima
b9ccafcf3f
any_squeeze → squeeze_any
2025-05-13 17:04:38 +03:00
dzaima
f1cb141f56
new squeeze functions
2025-05-13 17:04:38 +03:00
dzaima
9d11fc0cde
use C1 & C2 helpers in grade.h
...
incl. making them capable of expanding a macro F
2025-05-13 17:04:38 +03:00
dzaima
ff406c9586
better int_squeeze_sorted
2025-05-13 17:04:38 +03:00
dzaima
8146040c15
helpers for creating empty arrays
2025-05-13 17:04:32 +03:00
dzaima
6c4eae5e28
rearrange squeeze.c and make num_squeeze & chr_squeeze more sane
2025-05-13 03:32:32 +03:00
dzaima
a32c0c1722
add <ty>anyv_ptr
2025-05-13 02:26:06 +03:00
dzaima
62366d10fa
•internal.Validate
2025-05-13 00:12:59 +03:00
dzaima
09aa7b285f
debug_assert
2025-05-11 20:29:01 +03:00
dzaima
41c9a51ff3
fix unshare on heap-allocated atoms
2025-05-11 20:28:23 +03:00
dzaima
1e603f8921
fix ALLOC_STAT
2025-05-11 18:03:25 +03:00
dzaima
2020135a11
%z format string
2025-05-11 17:08:55 +03:00
dzaima
eca676bb3d
option to disable stack entry omission
...
currently only settable via gdb
2025-05-11 13:43:31 +03:00
dzaima
516205321c
fix error message of 𝔽⌾(a⊸⊏)𝕩 more
2025-05-09 01:17:51 +03:00
dzaima
f74bdf6142
improve/fix error messages around units in ⊏ & ⊑ some more
2025-05-09 01:00:41 +03:00
dzaima
8d757363e9
improve error message of 𝔽 in 𝔽⌾(a⊸⊏) returning an atom
2025-05-09 00:32:54 +03:00
dzaima
d2c27fd880
fast 𝔽⌾(num⊸⊏)arr
2025-05-09 00:21:42 +03:00
dzaima
1ecc6b3918
more proper error message for 1⌾((<⋈0)⊸⊑)↕5
2025-05-05 19:37:02 +03:00
dzaima
13906efe44
fix ⊑˘ on rank>2 inputs
2025-05-02 01:28:46 +03:00
dzaima
e32d41eb61
improve •ParseFloat error message on argument with codepoints ≥256
2025-05-01 23:09:48 +03:00
dzaima
b1ef72039c
remove use of bind
2025-05-01 23:07:33 +03:00
dzaima
419e1171aa
avoid UB on i64~~1 << 63
2025-05-01 23:07:33 +03:00
dzaima
291ff92c96
mask_scale
2025-05-01 23:07:33 +03:00
dzaima
a5c6e3271c
use tail{...} much more
2025-05-01 23:07:33 +03:00
dzaima
d1f3efe8db
get rid of shuf_ind
2025-05-01 23:07:30 +03:00
dzaima
b2c89979fe
exclude [k]u1 from vector type check helpers
2025-05-01 22:53:45 +03:00
dzaima
c811e54666
unroll bitsel
2025-05-01 22:53:45 +03:00