From 02f06e5c442c127c769bb3bd38cef16cdbaf10f9 Mon Sep 17 00:00:00 2001 From: Jishnu Bhattacharya Date: Wed, 10 Jan 2024 10:45:41 +0530 Subject: [PATCH] Don't specialize similar for Hankel (#124) --- src/hankel.jl | 2 +- test/runtests.jl | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hankel.jl b/src/hankel.jl index c3e396b..7e6ac80 100644 --- a/src/hankel.jl +++ b/src/hankel.jl @@ -72,7 +72,7 @@ Base.@propagate_inbounds function getindex(A::Hankel, i::Integer, j::Integer) return A.v[i+j-1] end AbstractMatrix{T}(A::Hankel) where {T} = Hankel{T}(AbstractVector{T}(A.v), A.size) -for fun in (:zero, :conj, :copy, :-, :similar, :real, :imag) +for fun in (:zero, :conj, :copy, :-, :real, :imag) @eval $fun(A::Hankel) = Hankel($fun(A.v), size(A)) end for op in (:+, :-) diff --git a/test/runtests.jl b/test/runtests.jl index eaa4e7e..4d8d121 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -233,6 +233,12 @@ end @test_throws ArgumentError Hankel(Int[], (3,4)) @test_throws ArgumentError Hankel(1:5, (3,4)) end + + @testset "similar" begin + H = Hankel(1:4) + M = copyto!(similar(H), H) + @test triu(M) == triu(Matrix(H)) + end end @testset "Convert" begin