@@ -1372,7 +1372,7 @@ end
1372
1372
1373
1373
# ## Reduction
1374
1374
1375
- function _sum (f, x:: AbstractSparseVector )
1375
+ function sum (f, x:: AbstractSparseVector )
1376
1376
n = length (x)
1377
1377
n > 0 || return sum (f, nonzeros (x)) # return zero() of proper type
1378
1378
m = nnz (x)
@@ -1381,11 +1381,9 @@ function _sum(f, x::AbstractSparseVector)
1381
1381
Base. add_sum ((n - m) * f (zero (eltype (x))), sum (f, nonzeros (x))))
1382
1382
end
1383
1383
1384
- sum (f:: Union{Function, Type} , x:: AbstractSparseVector ) = _sum (f, x) # resolve ambiguity
1385
- sum (f, x:: AbstractSparseVector ) = _sum (f, x)
1386
1384
sum (x:: AbstractSparseVector ) = sum (nonzeros (x))
1387
1385
1388
- function _maximum (f, x:: AbstractSparseVector )
1386
+ function maximum (f, x:: AbstractSparseVector )
1389
1387
n = length (x)
1390
1388
if n == 0
1391
1389
if f === abs || f === abs2
@@ -1400,11 +1398,9 @@ function _maximum(f, x::AbstractSparseVector)
1400
1398
max (f (zero (eltype (x))), maximum (f, nonzeros (x))))
1401
1399
end
1402
1400
1403
- maximum (f:: Union{Function, Type} , x:: AbstractSparseVector ) = _maximum (f, x) # resolve ambiguity
1404
- maximum (f, x:: AbstractSparseVector ) = _maximum (f, x)
1405
1401
maximum (x:: AbstractSparseVector ) = maximum (identity, x)
1406
1402
1407
- function _minimum (f, x:: AbstractSparseVector )
1403
+ function minimum (f, x:: AbstractSparseVector )
1408
1404
n = length (x)
1409
1405
n > 0 || throw (ArgumentError (" minimum over an empty array is not allowed." ))
1410
1406
m = nnz (x)
@@ -1413,8 +1409,6 @@ function _minimum(f, x::AbstractSparseVector)
1413
1409
min (f (zero (eltype (x))), minimum (f, nonzeros (x))))
1414
1410
end
1415
1411
1416
- minimum (f:: Union{Function, Type} , x:: AbstractSparseVector ) = _minimum (f, x) # resolve ambiguity
1417
- minimum (f, x:: AbstractSparseVector ) = _minimum (f, x)
1418
1412
minimum (x:: AbstractSparseVector ) = minimum (identity, x)
1419
1413
1420
1414
norm (x:: SparseVectorUnion , p:: Real = 2 ) = norm (nonzeros (x), p)
0 commit comments