|
91 | 91 | @test mapreduce(abs2, *, Float64[]) === 1.0 |
92 | 92 | @test mapreduce(abs2, max, Float64[]) === 0.0 |
93 | 93 | @test mapreduce(abs, max, Float64[]) === 0.0 |
| 94 | +@test mapreduce(abs2, min, Float64[]) === Inf |
| 95 | +@test mapreduce(abs, min, Float64[]) === Inf |
| 96 | +@test_throws ArgumentError mapreduce(abs2, &, Float64[]) |
| 97 | +@test_throws ArgumentError mapreduce(abs2, |, Float64[]) |
94 | 98 | @test_throws ["reducing over an empty collection is not allowed", |
95 | 99 | "consider supplying `init`"] mapreduce(abs2, &, Float64[]) |
96 | 100 | @test_throws str -> !occursin("Closest candidates are", str) mapreduce(abs2, &, Float64[]) |
@@ -260,6 +264,21 @@ prod2(itr) = invoke(prod, Tuple{Any}, itr) |
260 | 264 | @test minimum(sin, []; init=1) == 1 |
261 | 265 | @test extrema(sin, []; init=(1, -1)) == (1, -1) |
262 | 266 |
|
| 267 | +@test maximum(Float64[]) === -Inf |
| 268 | +@test minimum(Float64[]) === +Inf |
| 269 | + |
| 270 | +@test maximum(Float32[]) === -Inf32 |
| 271 | +@test minimum(Float32[]) === +Inf32 |
| 272 | + |
| 273 | +@test maximum(abs, Int[]) === 0 |
| 274 | +@test_throws ArgumentError minimum(abs, Int[]) |
| 275 | + |
| 276 | +@test maximum(abs, Float64[]) === 0.0 |
| 277 | +@test minimum(abs, Float64[]) === +Inf |
| 278 | + |
| 279 | +@test maximum(abs, Float32[]) === 0.0f0 |
| 280 | +@test minimum(abs, Float32[]) === +Inf32 |
| 281 | + |
263 | 282 | @test maximum(5) == 5 |
264 | 283 | @test minimum(5) == 5 |
265 | 284 | @test extrema(5) == (5, 5) |
|
0 commit comments