@@ -284,13 +284,13 @@ reduce(::typeof(hcat), A::StaticArray{<:Tuple,<:StaticVecOrMatLike}) =
284
284
# TODO : change to use Base.reduce_empty/Base.reduce_first
285
285
@inline iszero (a:: StaticArray{<:Tuple,T} ) where {T} = reduce ((x,y) -> x && iszero (y), a, init= true )
286
286
287
- @inline sum (a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _reduce (+ , a, dims)
288
- @inline sum (f, a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _mapreduce (f, + , dims, _InitialValue () , Size (a), a)
289
- @inline sum (f:: Union{Function, Type} , a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _mapreduce (f, + , dims, _InitialValue () , Size (a), a) # avoid ambiguity
287
+ @inline sum (a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _reduce (+ , a, dims, init )
288
+ @inline sum (f, a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _mapreduce (f, + , dims, init , Size (a), a)
289
+ @inline sum (f:: Union{Function, Type} , a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _mapreduce (f, + , dims, init , Size (a), a) # avoid ambiguity
290
290
291
- @inline prod (a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _reduce (* , a, dims)
292
- @inline prod (f, a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _mapreduce (f, * , dims, _InitialValue () , Size (a), a)
293
- @inline prod (f:: Union{Function, Type} , a:: StaticArray{<:Tuple,T} ; dims= :) where {T} = _mapreduce (f, * , dims, _InitialValue () , Size (a), a)
291
+ @inline prod (a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _reduce (* , a, dims, init )
292
+ @inline prod (f, a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _mapreduce (f, * , dims, init , Size (a), a)
293
+ @inline prod (f:: Union{Function, Type} , a:: StaticArray{<:Tuple,T} ; dims= :, init = _IntialialValue ()) where {T} = _mapreduce (f, * , dims, init , Size (a), a)
294
294
295
295
@inline count (a:: StaticArray{<:Tuple,Bool} ; dims= :, init= 0 ) = _reduce (+ , a, dims, init)
296
296
@inline count (f, a:: StaticArray ; dims= :, init= 0 ) = _mapreduce (x-> f (x):: Bool , + , dims, init, Size (a), a)
0 commit comments