Dylan M. Taylor
065f05dbec
Security: MODE counts through an index, FREQUENCY bins by binary search ( #3198 )
...
* functions: MODE counts through an index, FREQUENCY bins by binary search
MODE/MODE.SNGL/MODE.MULT searched the list of distinct numbers seen so far
for every input, and FREQUENCY scanned the sorted bins for every data value,
so both were quadratic in computed arrays. MODE now keys counts by value
(-0 folded into 0, NaN never merged) and keeps first-occurrence order;
FREQUENCY finds the first bin at or above each value with partition_point
over the order it already sorts. Results are unchanged.
* address review: FREQUENCY keeps NaN data in the overflow bin and NaN bins empty
2026-11-03 22:51:58 -05:00
Brandon Thomas
59fd17ae56
Merge PR #2980
...
# Conflicts:
# docs/function-parity.md
2026-10-31 10:17:09 -04:00
Brandon Thomas
0db7d97f2e
Merge PR #3008
...
# Conflicts:
# docs/function-parity.md
2026-10-30 23:06:47 -04:00
Brandon Thomas
4d1233d0a2
Merge PR #3007
...
# Conflicts:
# docs/function-parity.md
2026-10-30 23:06:47 -04:00
Brandon Thomas
07c8201786
Merge PR #3006
...
# Conflicts:
# docs/function-parity.md
2026-10-30 23:06:47 -04:00
Brandon Thomas
31d5cc5b41
Merge PR #3003
...
# Conflicts:
# crates/functions/src/stat/tests.rs
# docs/function-parity.md
2026-10-30 23:06:47 -04:00
Brandon Thomas
c0fcc7de16
Merge PR #3002
...
# Conflicts:
# docs/function-parity.md
2026-10-30 23:06:47 -04:00
Brandon Thomas
5390e230d8
Merge PR #3001
...
# Conflicts:
# crates/functions/src/stat/tests.rs
# docs/function-parity.md
2026-10-30 23:06:46 -04:00
Brandon Thomas
c9eb797d8b
Merge PR #3000
...
# Conflicts:
# crates/functions/src/stat/tests.rs
# docs/function-parity.md
2026-10-30 23:06:46 -04:00
Brandon Thomas
5441691ca3
Merge PR #2999
...
# Conflicts:
# crates/functions/src/stat/tests.rs
# docs/function-parity.md
2026-10-30 23:04:26 -04:00
Harrison Booth
006b7962bd
Preserve F distribution tail accuracy
2026-10-30 21:14:19 -05:00
Harrison Booth
7ea3a4c2c3
Merge upstream main into harmonic mean branch
2026-10-30 20:59:56 -05:00
Harrison Booth
cae0c9abdb
Merge main into function updates
2026-10-30 20:59:41 -05:00
Harrison Booth
ed81d7e34e
Merge upstream main into binomial distribution branch
2026-10-30 20:59:39 -05:00
Harrison Booth
8f7dff0d04
Merge main into function updates
2026-10-30 20:59:31 -05:00
Harrison Booth
7b7e734524
Merge main into function updates
2026-10-30 20:59:20 -05:00
Harrison Booth
6d5ab57f84
Merge upstream main into Weibull distribution branch
2026-10-30 20:59:18 -05:00
Harrison Booth
a04629576d
Merge main into function updates
2026-10-30 20:59:12 -05:00
Harrison Booth
322298b202
Merge upstream main into gamma distribution branch
2026-10-30 20:58:48 -05:00
Harrison Booth
45939a8a41
Merge remote-tracking branch 'upstream/main' into gc-build-g718x
...
# Conflicts:
# docs/function-parity.md
2026-10-30 20:56:57 -05:00
Harrison Booth
70da8bb3ae
Cover strict upper tail in F inverse
2026-10-30 20:53:15 -05:00
Harrison Booth
a0da53f576
Match T DIST zero degree errors by mode
2026-10-30 20:53:00 -05:00
Harrison Booth
ca44a5d68f
Avoid overflow in t density normalization
2026-10-30 20:52:05 -05:00
Harrison Booth
3b61d660e9
Return NUM for invalid T distribution degrees
2026-10-30 20:51:47 -05:00
Harrison Booth
cca8a58bfa
Stabilize F distribution CDF at extreme degrees
2026-10-30 20:51:07 -05:00
Harrison Booth
d3cd393dba
G719: return NA for empty harmonic mean input
2026-10-30 20:25:09 -05:00
Harrison Booth
8985685833
G718: match beta density endpoint errors
2026-10-30 20:24:21 -05:00
Harrison Booth
962a5df841
G717: cap binomial trial counts
2026-10-30 20:23:32 -05:00
Harrison Booth
fea4c03ca2
G709: use stable tail at F median
2026-10-30 20:18:56 -05:00
Harrison Booth
1d9096e5ec
G709: stabilize F upper tail at extreme degrees
2026-10-30 20:05:47 -05:00
Harrison Booth
a9bacdca4c
G711: keep T.DIST validation isolated
2026-10-30 19:56:36 -05:00
Harrison Booth
6aa2cb8223
G709: invert upper F probabilities through complementary tail
2026-10-30 19:49:32 -05:00
Harrison Booth
1b1224c67a
G713: simplify zero-shape boundary
2026-10-30 19:42:50 -05:00
Harrison Booth
4e5c86d842
G711: preserve small density term at huge degrees
2026-10-30 19:39:05 -05:00
Harrison Booth
ad69d4cbdd
G710: update zero-degree test error
2026-10-30 19:39:00 -05:00
Harrison Booth
48c6b57060
G714: return zero Weibull density at zero
2026-10-30 19:34:59 -05:00
Harrison Booth
ec2efe3246
G713: correct gamma density at zero
2026-10-30 19:34:36 -05:00
Harrison Booth
f1ff38504a
G712: return division error for zero T inverse probability
2026-10-30 19:34:12 -05:00
Harrison Booth
0435ff50f9
G711: stabilize large-degree t density
2026-10-30 19:33:50 -05:00
Harrison Booth
550085f8b8
G710: return division error for zero T degrees
2026-10-30 19:33:10 -05:00
Harrison Booth
dc691d52db
G709: accept F distribution boundary degrees
2026-10-30 19:32:22 -05:00
Harrison Booth
3de6cb1a3d
gc-fix-2657: tighten PERCENTRANK boundary tolerance
2026-10-30 16:09:50 -05:00
Harrison Booth
fbff1e301c
gc-fix-2657: isolate PERCENTRANK parity fix
2026-10-30 16:01:37 -05:00
Dylan M. Taylor
7898cc8cfd
Refactor functions for strict Clippy checks
2026-10-28 10:52:53 +00:00
aiongg
1ff44e5ba2
refactor(functions): move stat.rs items to stat/
2026-10-26 20:43:39 +00:00
aiongg
acade653ba
refactor(functions): move stat tests to src/stat/tests.rs
2026-10-26 18:15:44 +00:00