diff --git a/src/Quaternions.jl b/src/Quaternions.jl index 5641819..47e1f3d 100644 --- a/src/Quaternions.jl +++ b/src/Quaternions.jl @@ -32,8 +32,7 @@ end Base.:*(l::Quaternion, r::Quaternion) = QuaternionMultiplication(l::Quaternion, r::Quaternion) -Base.iterate(q::Quaternion) = (q.i, 1) -Base.iterate(q::Quaternion, state=1) = state > 4 ? nothing : ([q.i q.j q.k q.r][state], state + 1) +Base.iterate(q::Quaternion, state=1) = state > 4 ? nothing : (collect(q)[state], state + 1) Base.length(q::Quaternion) = 4 Base.collect(q::Quaternion) = [q.i q.j q.k q.r] Base.getindex(q::Quaternion, i) = collect(q)[i] @@ -42,5 +41,4 @@ Base.isapprox(a::Quaternion,b::Quaternion) = isapprox(collect(a), collect(b)) LinearAlgebra.norm(q::Quaternion) = norm(collect(q)) LinearAlgebra.normalize(q::Quaternion) = collect(q) / norm(q) - export Quaternion