@@ -633,29 +633,35 @@ eigen2(A::Hermitian, tol = eps(float(real(one(eltype(A)))))) = eigen2!(copy(A),
633633
634634# First method of each type here is identical to the method defined in
635635# LinearAlgebra but is needed for disambiguation
636+ const _eigencopy_oftype = if VERSION >= v " 1.9"
637+ LinearAlgebra. eigencopy_oftype
638+ else
639+ LinearAlgebra. copy_oftype
640+ end
641+
636642function LinearAlgebra. eigvals (A:: Hermitian{<:Real} )
637643 T = typeof (sqrt (zero (eltype (A))))
638- return eigvals! (LinearAlgebra . copy_oftype (A, T))
644+ return eigvals! (_eigencopy_oftype (A, T))
639645end
640646function LinearAlgebra. eigvals (A:: Hermitian{<:Complex} )
641647 T = typeof (sqrt (zero (eltype (A))))
642- return eigvals! (LinearAlgebra . copy_oftype (A, T))
648+ return eigvals! (_eigencopy_oftype (A, T))
643649end
644650function LinearAlgebra. eigvals (A:: Hermitian )
645651 T = typeof (sqrt (zero (eltype (A))))
646- return eigvals! (LinearAlgebra . copy_oftype (A, T))
652+ return eigvals! (_eigencopy_oftype (A, T))
647653end
648654function LinearAlgebra. eigen (A:: Hermitian{<:Real} )
649655 T = typeof (sqrt (zero (eltype (A))))
650- return eigen! (LinearAlgebra . copy_oftype (A, T))
656+ return eigen! (_eigencopy_oftype (A, T))
651657end
652658function LinearAlgebra. eigen (A:: Hermitian{<:Complex} )
653659 T = typeof (sqrt (zero (eltype (A))))
654- return eigen! (LinearAlgebra . copy_oftype (A, T))
660+ return eigen! (_eigencopy_oftype (A, T))
655661end
656662function LinearAlgebra. eigen (A:: Hermitian )
657663 T = typeof (sqrt (zero (eltype (A))))
658- return eigen! (LinearAlgebra . copy_oftype (A, T))
664+ return eigen! (_eigencopy_oftype (A, T))
659665end
660666
661667# Aux (should go somewhere else at some point)
0 commit comments