diff --git a/src/generic.jl b/src/generic.jl index b1ec10db..8e99cafa 100644 --- a/src/generic.jl +++ b/src/generic.jl @@ -1349,7 +1349,7 @@ function issymmetric(A::AbstractMatrix) return true end -issymmetric(x::Number) = x == x +issymmetric(x::Number) = true """ ishermitian(A) -> Bool @@ -1388,7 +1388,7 @@ function ishermitian(A::AbstractMatrix) return true end -ishermitian(x::Number) = (x == conj(x)) +ishermitian(x::Number) = isreal(x) # helper function equivalent to `iszero(v)`, but potentially without the fast exit feature # of `all` if this improves performance diff --git a/test/generic.jl b/test/generic.jl index 986bb552..1860399b 100644 --- a/test/generic.jl +++ b/test/generic.jl @@ -951,6 +951,14 @@ end @test B == A2 end +@testset "issymmetric/ishermitian for Numbers" begin + fsym(x) = Val(issymmetric(x)) + @test @inferred(fsym(2)) isa Val{true} + @test @inferred(fsym(2im)) isa Val{true} + fherm(x) = Val(ishermitian(x)) + @test @inferred(fherm(2)) isa Val{true} +end + @testset "isapprox for Arrays" begin A = rand(3,3) n = @allocated isapprox(A, A)