Files
ManuelandClaude Fable 5 a262b4436d Add bit-pattern test for arrayMin/arrayMax NaN/zero handling, pin perf test to one thread
Address review comments: a stateless test asserts via reinterpretAsUInt32/
reinterpretAsUInt64 that `arrayMin`/`arrayMax` return the first NaN of an
all-NaN array and the first zero when the extreme is zero, so the fixups in
the vectorized fast path cannot silently regress. The new performance test
sets `max_threads` to 1 so it stays sensitive to the single-thread reduction
this fast path optimizes.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-12 18:57:12 +02:00

13 lines
1020 B
XML

<test>
<settings>
<max_threads>1</max_threads>
</settings>
<query>SELECT sum(arrayMin(a)) FROM (SELECT arrayMap(i -> toFloat64((number + i) % 97), range(1, 41)) AS a FROM numbers(5000000)) FORMAT Null</query>
<query>SELECT sum(arrayMax(a)) FROM (SELECT arrayMap(i -> toFloat64((number + i) % 97), range(1, 41)) AS a FROM numbers(5000000)) FORMAT Null</query>
<query>SELECT sum(arrayMin(a)) FROM (SELECT arrayMap(i -> toInt64((number * 3 + i) % 9973), range(1, 41)) AS a FROM numbers(5000000)) FORMAT Null</query>
<query>SELECT sum(arrayMax(a)) FROM (SELECT arrayMap(i -> toInt64((number * 3 + i) % 9973), range(1, 41)) AS a FROM numbers(5000000)) FORMAT Null</query>
<query>SELECT sum(arrayMin(a)) FROM (SELECT arrayMap(i -> toFloat64((number + i) % 97), range(1, 513)) AS a FROM numbers(400000)) FORMAT Null</query>
<query>SELECT sum(arrayMax(a)) FROM (SELECT arrayMap(i -> toInt64((number * 3 + i) % 9973), range(1, 513)) AS a FROM numbers(400000)) FORMAT Null</query>
</test>