Skip to content

Commit 80342bf

Browse files
committed
clean up
1 parent 2433157 commit 80342bf

File tree

3 files changed

+16
-29
lines changed

3 files changed

+16
-29
lines changed

src/FixedSizeArrays.jl

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -170,24 +170,13 @@ macro fixed_vector(name, parent)
170170
end
171171
size_or(::Type{$(name)}, or) = or
172172
eltype_or(::Type{$(name)}, or) = or
173+
eltype_or{T}(::Type{$(name){S, T} where S}, or) = T
174+
eltype_or{S}(::Type{$(name){S, T} where T}, or) = or
175+
eltype_or{S, T}(::Type{$(name){S, T}}, or) = T
173176

174-
if VERSION < v"0.6.0-dev"
175-
eltype_or{T}(::Type{$(name){TypeVar(:S), T}}, or) = T
176-
eltype_or{S}(::Type{$(name){S, TypeVar(:T)}}, or) = or
177-
eltype_or{S, T}(::Type{$(name){S, T}}, or) = T
178-
179-
size_or{T}(::Type{$(name){S where S, T}}, or) = or
180-
size_or{S}(::Type{$(name){S, T where T}}, or) = Size{(S,)}()
181-
size_or{S, T}(::Type{$(name){S, T}}, or) = (S,)
182-
else
183-
eltype_or{T}(::Type{$(name){S, T} where S}, or) = T
184-
eltype_or{S}(::Type{$(name){S, T} where T}, or) = or
185-
eltype_or{S, T}(::Type{$(name){S, T}}, or) = T
186-
187-
size_or{T}(::Type{$(name){S, T} where S}, or) = or
188-
size_or{S}(::Type{$(name){S, T} where T}, or) = Size{(S,)}()
189-
size_or{S, T}(::Type{$(name){S, T}}, or) = (S,)
190-
end
177+
size_or{T}(::Type{$(name){S, T} where S}, or) = or
178+
size_or{S}(::Type{$(name){S, T} where T}, or) = Size{(S,)}()
179+
size_or{S, T}(::Type{$(name){S, T}}, or) = (S,)
191180
end)
192181
end
193182

src/StaticArrays.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ include("eigen.jl")
9393
include("cholesky.jl")
9494
include("deque.jl")
9595

96-
include("FixedSizeArrays.jl") # Currently defunct
96+
include("FixedSizeArrays.jl")
9797
include("ImmutableArrays.jl")
9898

9999
end # module

src/util.jl

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,21 @@ end
3939
@pure tuple_minimum(T::Tuple) = minimum(T)
4040

4141
# Something doesn't match up type wise
42-
@generated function check_array_parameters(Size, T, N, L)
43-
(!isa(Size, DataType) || (Size.name !== Tuple.name)) && return :(throw(ArgumentError("Static Array parameter Size must be a Tuple type, got $Size")))
44-
!isa(T, Type) && return :(throw(ArgumentError("Static Array parameter T must be a type, got $T")))
45-
!isa(N.parameters[1], Int) && return :(throw(ArgumenError("Static Array parameter N must be an integer, got $(N.parameters[1])")))
46-
!isa(L.parameters[1], Int) && return :(throw(ArgumentError("Static Array parameter L must be an integer, got $(L.parameters[1])")))
42+
function check_array_parameters(Size, T, N, L)
43+
(!isa(Size, DataType) || (Size.name !== Tuple.name)) && return throw(ArgumentError("Static Array parameter Size must be a Tuple type, got $Size"))
44+
!isa(T, Type) && return throw(ArgumentError("Static Array parameter T must be a type, got $T"))
45+
!isa(N.parameters[1], Int) && return throw(ArgumenError("Static Array parameter N must be an integer, got $(N.parameters[1])"))
46+
!isa(L.parameters[1], Int) && return throw(ArgumentError("Static Array parameter L must be an integer, got $(L.parameters[1])"))
4747
# shouldn't reach here. Anything else should have made it to the function below
48-
return :(error("Internal error. Please file a bug"))
48+
return error("Internal error. Please file a bug")
4949
end
5050

51-
@generated function check_array_parameters{Size,T,N,L}(::Type{Size}, ::Type{T}, ::Type{Val{N}}, ::Type{Val{L}})
51+
function check_array_parameters{Size,T,N,L}(::Type{Size}, ::Type{T}, ::Type{Val{N}}, ::Type{Val{L}})
5252
if !all(x->isa(x, Int), Size.parameters)
53-
return :(throw(ArgumentError("Static Array parameter Size must be a tuple of Ints (e.g. `SArray{Tuple{3,3}}` or `SMatrix{3,3}`).")))
53+
return throw(ArgumentError("Static Array parameter Size must be a tuple of Ints (e.g. `SArray{Tuple{3,3}}` or `SMatrix{3,3}`)."))
5454
end
55-
5655
if L != tuple_prod(Size) || L < 0 || tuple_minimum(Size) < 0 || tuple_length(Size) != N
57-
return :(throw(ArgumentError("Size mismatch in Static Array parameters. Got size $Size, dimension $N and length $L.")))
56+
return throw(ArgumentError("Size mismatch in Static Array parameters. Got size $Size, dimension $N and length $L."))
5857
end
59-
6058
return nothing
6159
end

0 commit comments

Comments
 (0)