Skip to content

Commit 5a134cb

Browse files
authored
Expand signature of normalize from StaticVector to StaticArray (fixes #887) (#945)
* Expand signature of `normalize` from `StaticVector` to `StaticArray` (fixes #887) * Bump patch version
1 parent 0d657aa commit 5a134cb

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "StaticArrays"
22
uuid = "90137ffa-7385-5640-81b9-e52037218182"
3-
version = "1.2.11"
3+
version = "1.2.12"
44

55
[deps]
66
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"

src/linalg.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,11 @@ end
275275
end
276276
end
277277

278-
@inline normalize(a::StaticVector) = inv(norm(a))*a
279-
@inline normalize(a::StaticVector, p::Real) = inv(norm(a, p))*a
278+
@inline normalize(a::StaticArray) = inv(norm(a))*a
279+
@inline normalize(a::StaticArray, p::Real) = inv(norm(a, p))*a
280280

281-
@inline normalize!(a::StaticVector) = (a .*= inv(norm(a)); return a)
282-
@inline normalize!(a::StaticVector, p::Real) = (a .*= inv(norm(a, p)); return a)
281+
@inline normalize!(a::StaticArray) = (a .*= inv(norm(a)); return a)
282+
@inline normalize!(a::StaticArray, p::Real) = (a .*= inv(norm(a, p)); return a)
283283

284284
@inline tr(a::StaticMatrix) = _tr(Size(a), a)
285285
@generated function _tr(::Size{S}, a::StaticMatrix) where {S}

test/linalg.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,17 @@ StaticArrays.similar_type(::Union{RotMat2,Type{RotMat2}}) = SMatrix{2,2,Float64,
221221
@test normalize!(MVector(1.,2.,3.)) normalize([1.,2.,3.])
222222
@test normalize!(MVector(1.,2.,3.), 1) normalize([1.,2.,3.], 1)
223223

224+
if VERSION v"1.5" # `normalize` with `AbstractArray` signature added in v1.5
225+
@test normalize(SA[1 2 3; 4 5 6; 7 8 9]) normalize([1 2 3; 4 5 6; 7 8 9])
226+
@test normalize(SA[1 2 3; 4 5 6; 7 8 9], 1) normalize([1 2 3; 4 5 6; 7 8 9], 1)
227+
@test normalize!((@MMatrix [1. 2. 3.; 4. 5. 6.; 7. 8. 9.])) normalize!([1. 2. 3.; 4. 5. 6.; 7. 8. 9.])
228+
@test normalize!((@MMatrix [1. 2. 3.; 4. 5. 6.; 7. 8. 9.]), 1) normalize!([1. 2. 3.; 4. 5. 6.; 7. 8. 9.], 1)
229+
230+
D3 = Array{Float64, 3}(undef, 2, 2, 3)
231+
D3[:] .= 1.0:12.0
232+
SA_D3 = convert(SArray{Tuple{2,2,3}, Float64, 3, 12}, D3)
233+
@test normalize(SA_D3) normalize(D3)
234+
end
224235
# nested vectors
225236
a = SA[SA[1, 2], SA[3, 4]]
226237
av = convert(Vector{Vector{Int}}, a)

0 commit comments

Comments
 (0)