Commit Graph

1555 Commits

Author SHA1 Message Date
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
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
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
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
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
1c20f3eac5 fix memory leak in 𝔽⌾(is⊸⊏) highRank 2025-05-23 21:01:58 +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
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
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
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
62366d10fa •internal.Validate 2025-05-13 00:12:59 +03:00
dzaima
41c9a51ff3 fix unshare on heap-allocated atoms 2025-05-11 20:28:23 +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