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
dzaima
8b0d0399e4
fix various F⌾(G⊸Specialized)x
2025-01-16 22:16:49 +02:00
dzaima
517300e567
Windows: static-method-only .c files to .h
2025-01-16 22:06:20 +02:00
vylsaz
40609b2f5f
Windows: sh: revert to using calloc() in reading threads
2025-01-16 22:06:20 +02:00
vylsaz
67c2850e38
Windows: sh using utf16; simply argument quoting
2025-01-16 22:06:20 +02:00
dzaima
a02f195555
make native inverse bindings for ⋆⁼x & w⋆⁼x
2024-12-18 13:29:32 +02:00
dzaima
1822602c34
cleanup from clang's --analyze
2024-12-18 13:03:48 +02:00
dzaima
d1a9669e76
fix •math.LCM on arrays
2024-12-13 07:40:43 +02:00
dzaima
5ecd1858ef
fix 1⌾(⟨0⟩⊸⊏)⟨0⟩
2024-12-07 06:54:07 +02:00
dzaima
162e6ff387
decG more
...
found automatically via awful hack via GUARANTEED
2024-12-04 00:10:52 +02:00
dzaima
81abc80863
fast highrank⊸⊏˘ table
2024-12-02 21:57:44 +02:00
dzaima
d988a620fd
native F⌾(a⊸⥊)
2024-11-26 18:08:15 +02:00
dzaima
92641f26ba
squeeze fns haven't been AVX2-specific for a while
2024-11-22 12:48:59 +02:00
dzaima
7df2f9ba4f
a couple renames & simplifications
2024-11-22 00:44:03 +02:00
dzaima
f0223b8baf
properly add 1<<31
2024-11-21 23:04:02 +02:00
Marshall Lochbaum
342cadfc00
Check for or handle argument length >2⋆31 in /⁼
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
194e8c3f22
Update /⁼ implementation comments
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
0bbb335893
Do general i8 and i16 /⁼ counts to i16 buffer, plus overflow list
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
fb5ee179cb
Squeeze for slash_im generic case instead of converting individual elements to numbers
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
96b198f643
Condition all the i8 to i32 /⁼ optimization on SINGELI_SIMD, for simplicity
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e6940e73d0
Fast /⁼ of sorted arguments using semi-sparse representation
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
3b103aadd0
Run-based i32 /⁼ (leaving out sum-based)
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
4aea668a6c
Allow i16 /⁼ to jump to Singeli code after range checking
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
926e59483d
More precise sparse check for i8 /⁼ result: previously stopped at 65
2024-11-17 15:29:36 -05:00