From 62361bd89de1615fb2ff1a68d6a67af9c92629d8 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Wed, 7 Aug 2024 12:25:21 +0100 Subject: [PATCH] Julia v1.11 support (#133) * Julia v1.11 support * tests pass * Update test_bidiag.jl --- .github/workflows/ci.yml | 1 + Project.toml | 2 +- src/LazyBandedMatrices.jl | 2 +- src/bidiag.jl | 2 +- src/tridiag.jl | 2 +- test/test_bidiag.jl | 1 + 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a5ace6..82fd9b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,7 @@ jobs: matrix: version: - '1.10' + - '^1.11.0-0' os: - ubuntu-latest - macOS-latest diff --git a/Project.toml b/Project.toml index dc05d4b..2129a21 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "LazyBandedMatrices" uuid = "d7e5e226-e90b-4449-9968-0f923699bf6f" authors = ["Sheehan Olver "] -version = "0.10.3" +version = "0.10.4" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" diff --git a/src/LazyBandedMatrices.jl b/src/LazyBandedMatrices.jl index 21d7d26..22b1228 100644 --- a/src/LazyBandedMatrices.jl +++ b/src/LazyBandedMatrices.jl @@ -3,7 +3,7 @@ using ArrayLayouts: symmetriclayout using BandedMatrices, BlockBandedMatrices, BlockArrays, LazyArrays, ArrayLayouts, MatrixFactorizations, Base, StaticArrays, LinearAlgebra -import Base: -, +, *, /, \, ==, AbstractMatrix, Matrix, Array, size, conj, real, imag, copy, +import Base: -, +, *, /, \, ==, AbstractMatrix, Matrix, Array, size, conj, real, imag, copy, copymutable, iszero, isone, one, zero, getindex, setindex!, copyto!, fill, fill!, promote_rule, show, print_matrix, permutedims, OneTo, oneto, require_one_based_indexing, similar, convert, axes, tail, tuple_type_tail, view, resize! import Base.Broadcast: Broadcasted, BroadcastStyle, broadcasted, instantiate diff --git a/src/bidiag.jl b/src/bidiag.jl index dd53ff1..d5c245e 100644 --- a/src/bidiag.jl +++ b/src/bidiag.jl @@ -160,7 +160,7 @@ Matrix(A::Bidiagonal{T}) where {T} = Matrix{T}(A) Array(A::Bidiagonal) = Matrix(A) promote_rule(::Type{Matrix{T}}, ::Type{<:Bidiagonal{S}}) where {T,S} = @isdefined(T) && @isdefined(S) ? Matrix{promote_type(T,S)} : Matrix -promote_rule(::Type{Matrix}, ::Type{<:Bidiagonal}) = Matrix +promote_rule(::Type{<:Matrix}, ::Type{<:Bidiagonal}) = Matrix # Converting to LinearAlgebra convert(::Type{LinearAlgebra.Bidiagonal}, B::Bidiagonal) = LinearAlgebra.Bidiagonal(B.dv, B.ev, B.uplo) diff --git a/src/tridiag.jl b/src/tridiag.jl index bb9ceb2..686d3e2 100644 --- a/src/tridiag.jl +++ b/src/tridiag.jl @@ -161,7 +161,7 @@ similar(S::SymTridiagonal, ::Type{T}) where {T} = SymTridiagonal(similar(S.dv, T # similar(S::SymTridiagonal, ::Type{T}, dims::Union{Dims{1},Dims{2}}) where {T} = spzeros(T, dims...) #Elementary operations -for func in (:conj, :copy, :real, :imag) +for func in (:conj, :copy, :real, :imag, :copymutable) @eval ($func)(M::SymTridiagonal) = SymTridiagonal(($func)(M.dv), ($func)(M.ev)) end diff --git a/test/test_bidiag.jl b/test/test_bidiag.jl index 2ac1c58..685e3df 100644 --- a/test/test_bidiag.jl +++ b/test/test_bidiag.jl @@ -301,6 +301,7 @@ import LinearAlgebra: mul!, istril, istriu, diagm, isdiag, triu, tril, triu!, tr B = rand(Float64,10,10) C = Tridiagonal(rand(Float64,9),rand(Float64,10),rand(Float64,9)) @test promote_rule(Matrix{Float64}, Bidiagonal{Float64}) == Matrix{Float64} + @test promote_rule(Matrix, Bidiagonal{Float64}) == Matrix @test promote(B,A) == (B, convert(Matrix{Float64}, A)) @test promote(B,A) isa Tuple{Matrix{Float64}, Matrix{Float64}} @test promote(C,A) == (C,Tridiagonal(zeros(Float64,9),convert(Vector{Float64},A.dv),convert(Vector{Float64},A.ev)))