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
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
f9b3aba234
fix wrong integer types in varargs
...
problematic in 32-bit builds
2025-04-24 00:00:32 +03:00
dzaima
e1b62b95b6
fancy Singeli accumulator; use for integer sum
2025-03-21 04:32:26 +02:00
dzaima
108379f121
fix UB shift
2025-03-16 23:47:01 +02:00
dzaima
f1021580ad
silence warning on non-Singeli builds
2025-03-16 20:22:17 +02:00
dzaima
82ebd37b3f
group statistics test
2025-03-13 23:36:02 +02:00
Marshall Lochbaum
233c88120d
Singeli function for initial group statistics pass since auto-vectorization isn't great
2025-03-13 14:21:38 -04:00
dzaima
72c4eca6c0
fix float ⌾(l⊸⊏) doing wrong comparisons
2025-03-12 17:23:17 +02:00
dzaima
62b095be89
oneElt⊏𝕩 improvements & fixes
2025-03-12 06:29:26 +02:00
dzaima
3ae7d134d2
more uniform F¨ fill behavior
2025-03-12 05:52:52 +02:00
dzaima
bfce527096
fix 𝕗⌾(-2⋆63)𝕩
2025-03-12 03:01:11 +02:00
dzaima
a6202c8ca6
fix error message of ⌾(oob⊸⊏)
2025-03-12 01:41:52 +02:00
dzaima
0848faf8c7
don't leak memory in TEST_RANGE
2025-03-12 01:14:24 +02:00
Marshall Lochbaum
dcecc70c25
More careful fill handling with characters in insert_scal
2025-03-10 21:58:15 -04:00
dzaima
97e0210c41
remove unnecessary F˜˘ acceptance from F˘
...
scan_rows_bit only checks frtid, which is 0 for such
2025-03-11 00:17:11 +02:00
dzaima
bcf32838f4
some more ˝ tests, use COPY_TO
...
not much of a difference, but prettier
2025-03-11 00:15:45 +02:00
Marshall Lochbaum
f1972fc408
Faster stride-1 check
2025-03-10 12:57:25 -04:00
Marshall Lochbaum
e42273bfe8
Generic stride-1 𝔽`˘ implementation
2025-03-10 12:50:54 -04:00
Marshall Lochbaum
bbe4549aff
Scalar implementation of 𝔽˝ for generic arithmetic 𝔽 and short rows
2025-03-10 12:48:06 -04:00
Marshall Lochbaum
e898a81d68
Use a possibly-overlapping word and constant-length loop in k/bool, like ⊣`
2025-03-09 08:44:42 -04:00
Marshall Lochbaum
302c2f926f
AVX2 k/bool for odd 64<k<256 using shift-based masks
2025-03-09 08:44:42 -04:00
dzaima
79fc8d5116
use direct copy on known-different-eltype arrays
2025-03-04 23:18:30 +02:00
Marshall Lochbaum
d9a80ee83b
Test bound and length instead of rank in scan where possible
2025-03-04 10:59:40 -05:00
dzaima
9fdeb5379a
fix old gcc
2025-03-04 04:04:04 +02:00
Marshall Lochbaum
010e6a10d4
Implementation comments for new high-rank scans
2025-03-03 19:56:53 -05:00
Marshall Lochbaum
180c79e751
Strided +`, widening and re-trying on overflow
2025-03-03 06:54:40 -05:00
Marshall Lochbaum
87a7d066c8
Strided ⌊⌈ scans with shuffles
2025-03-03 06:54:40 -05:00
Marshall Lochbaum
ee6b91be8a
Basic strided ∧∨≠= scan implementations
2025-03-03 06:54:40 -05:00
Marshall Lochbaum
90d0f3015a
Use rank-1 scan special code whenever cell size is 1
2025-03-03 06:54:40 -05:00
dzaima
d3b4c3cc26
flush stdout on •Show and •Out
2025-03-03 00:53:55 +02:00
dzaima
05a9cd736b
more spaces around names between name and 𝕨/𝕩 in error messages
2025-03-02 19:57:38 +02:00
dzaima
bdf9a52625
more proper error messages for /⁼𝕩
2025-03-02 19:50:01 +02:00
dzaima
17ec5f0a8a
add 𝕩 to error messages of <⁼𝕩, ⋈⁼𝕩, ≍⁼𝕩
2025-03-02 19:32:49 +02:00
dzaima
9826c4ce0e
add 𝕨/𝕩 in dyadic ⌽/⌽⁼ error message
2025-03-02 19:29:49 +02:00
Marshall Lochbaum
a775520927
Update scan implementation comments
2025-02-26 08:21:22 -05:00
Marshall Lochbaum
242a61db11
Faster <`, adding instructions to cut dependency chains
2025-02-18 16:29:49 -05:00
dzaima
2cb15c936d
get rid of b(x) macro
2025-02-08 17:36:44 +02:00
dzaima
74483f3859
more spaces between 𝕨/𝕩 and names, re-remove •SH args
...
sh_c1 calls sh_c2, so the arity isn't function-specific
2025-02-07 07:57:51 +02:00
tankorsmash
b945e48d29
add spacing around system functions; add missing args for SH; fix wrong args for bit._cast
2025-02-06 20:17:18 -05:00
dzaima
e3a4132722
clean up error messages
...
incl. correcting •_timed's message being wrong
2025-02-06 12:32:19 +02:00
tankorsmash
5790d126cd
add best effort guesses for many more builtin error messages
2025-02-05 19:56:08 -05:00
tankorsmash
63ee20b6fe
add best effort guesses for many builtin error messages
2025-02-05 19:40:27 -05:00
tankorsmash
dd5d17ca83
add best effort guesses for builtins/cmp,fns,fold.c
...
I'm not sure about modifiers so I left them without arguments
2025-02-05 19:32:49 -05:00
tankorsmash
559b3f0d6e
add best effort guesses for w and x for builtins/cells.c
2025-02-04 19:00:15 -05:00
tankorsmash
dce39a1b05
add w and x for builtins/arithm.c
2025-02-04 18:57:25 -05:00
tankorsmash
6be291dd6b
add w and x for builtins/arithd.c
2025-02-04 18:55:14 -05:00
tankorsmash
80d1681b18
prefer using w and x inside error messages
2025-02-03 20:39:44 -05:00
dzaima
d506691690
fix 𝕨⍋𝕩 issues around NaNs
2025-02-01 20:55:36 +02:00
dzaima
9be5bf45b4
fix signed offset having unsigned type
2025-02-01 20:55:36 +02:00
dzaima
d06200445b
MAYBE_UNUSED
2025-02-01 20:55:36 +02:00
dzaima
dcbceccff8
fix integer wrapping in grade sum check
2025-01-24 03:49:25 +02:00