Skip to content

Commit

Permalink
modify varargs signatures to ensure at least one input (#126)
Browse files Browse the repository at this point in the history
  • Loading branch information
tkelman authored and Andy Ferris committed Mar 31, 2017
1 parent 549f1f4 commit 5df6dbd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions src/broadcast.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

# TODO: bad codegen for `broadcast(-, SVector(1,2,3))`

@propagate_inbounds function broadcast(f, a::Union{Number, StaticArray}...)
_broadcast(f, broadcast_sizes(a...), a...)
@propagate_inbounds function broadcast(f, a::Union{Number, StaticArray}, b::Union{Number, StaticArray}...)
_broadcast(f, broadcast_sizes(a, b...), a, b...)
end

@inline broadcast_sizes(a...) = _broadcast_sizes((), a...)
Expand Down
12 changes: 6 additions & 6 deletions src/mapreduce.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ end
## map / map! ##
################

@inline function map(f, a::StaticArray...)
_map(f, same_size(a...), a...)
@inline function map(f, a::StaticArray, b::StaticArray...)
_map(f, same_size(a, b...), a, b...)
end

@generated function _map(f, ::Size{S}, a::StaticArray...) where {S}
Expand Down Expand Up @@ -62,12 +62,12 @@ end
## mapreduce ##
###############

@inline function mapreduce(f, op, a::StaticArray...)
_mapreduce(f, op, same_size(a...), a...)
@inline function mapreduce(f, op, a::StaticArray, b::StaticArray...)
_mapreduce(f, op, same_size(a, b...), a, b...)
end

@inline function mapreduce(f, op, v0, a::StaticArray...)
_mapreduce(f, op, v0, same_size(a...), a...)
@inline function mapreduce(f, op, v0, a::StaticArray, b::StaticArray...)
_mapreduce(f, op, v0, same_size(a, b...), a, b...)
end

@generated function _mapreduce(f, op, ::Size{S}, a::StaticArray...) where {S}
Expand Down

0 comments on commit 5df6dbd

Please sign in to comment.