Skip to content

Commit 71cd9f4

Browse files
committed
Fix errors with istriu and istril
1 parent 4de89f6 commit 71cd9f4

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

src/blas/highlevel.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ end
9090
# BLAS 2
9191
#
9292

93+
# work around upstream breakage from JuliaLang/julia#55547
94+
@static if VERSION >= v"1.11.2"
9395
const ROCUpperOrUnitUpperTriangular = LinearAlgebra.UpperOrUnitUpperTriangular{
9496
<:Any,<:Union{<:ROCArray, Adjoint{<:Any, <:ROCArray}, Transpose{<:Any, <:ROCArray}}}
9597
const ROCLowerOrUnitLowerTriangular = LinearAlgebra.LowerOrUnitLowerTriangular{
@@ -99,6 +101,7 @@ LinearAlgebra.istriu(::ROCUpperOrUnitUpperTriangular) = true
99101
LinearAlgebra.istril(::ROCUpperOrUnitUpperTriangular) = false
100102
LinearAlgebra.istriu(::ROCLowerOrUnitLowerTriangular) = false
101103
LinearAlgebra.istril(::ROCLowerOrUnitLowerTriangular) = true
104+
end
102105

103106
# multiplication
104107
LinearAlgebra.generic_trimatmul!(

src/sparse/array.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,10 +293,10 @@ LinearAlgebra.ishermitian(M::Union{ROCSparseMatrixCSC,ROCSparseMatrixCSR}) = fal
293293
LinearAlgebra.issymmetric(M::Symmetric{ROCSparseMatrixCSC}) = true
294294
LinearAlgebra.ishermitian(M::Hermitian{ROCSparseMatrixCSC}) = true
295295

296-
LinearAlgebra.istriu(M::UpperTriangular{T,S}) where {T<:BlasFloat, S<:AbstractROCSparseMatrix} = true
297-
LinearAlgebra.istril(M::UpperTriangular{T,S}) where {T<:BlasFloat, S<:AbstractROCSparseMatrix} = false
298-
LinearAlgebra.istriu(M::LowerTriangular{T,S}) where {T<:BlasFloat, S<:AbstractROCSparseMatrix} = false
299-
LinearAlgebra.istril(M::LowerTriangular{T,S}) where {T<:BlasFloat, S<:AbstractROCSparseMatrix} = true
296+
LinearAlgebra.istriu(M::UpperTriangular{T,S}) where {T<:BlasFloat, S<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}} = true
297+
LinearAlgebra.istril(M::UpperTriangular{T,S}) where {T<:BlasFloat, S<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}} = false
298+
LinearAlgebra.istriu(M::LowerTriangular{T,S}) where {T<:BlasFloat, S<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}} = false
299+
LinearAlgebra.istril(M::LowerTriangular{T,S}) where {T<:BlasFloat, S<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}} = true
300300

301301
Hermitian{T}(Mat::ROCSparseMatrix{T}) where T = Hermitian{T,typeof(Mat)}(Mat,'U')
302302

src/sparse/linalg.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,15 @@ function LinearAlgebra.opnorm(A::ROCSparseMatrixCSR, p::Real=2)
2929
end
3030

3131
LinearAlgebra.opnorm(A::ROCSparseMatrixCSC, p::Real=2) = opnorm(ROCSparseMatrixCSR(A), p)
32+
33+
# work around upstream breakage from JuliaLang/julia#55547
34+
@static if VERSION >= v"1.11.2"
35+
const ROCSparseUpperOrUnitUpperTriangular = LinearAlgebra.UpperOrUnitUpperTriangular{
36+
<:Any,<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}}
37+
const ROCSparseLowerOrUnitLowerTriangular = LinearAlgebra.LowerOrUnitLowerTriangular{
38+
<:Any,<:Union{<:AbstractROCSparseMatrix, Adjoint{<:Any, <:AbstractROCSparseMatrix}, Transpose{<:Any, <:AbstractROCSparseMatrix}}}
39+
LinearAlgebra.istriu(::ROCSparseUpperOrUnitUpperTriangular) = true
40+
LinearAlgebra.istril(::ROCSparseUpperOrUnitUpperTriangular) = false
41+
LinearAlgebra.istriu(::ROCSparseLowerOrUnitLowerTriangular) = false
42+
LinearAlgebra.istril(::ROCSparseLowerOrUnitLowerTriangular) = true
43+
end

0 commit comments

Comments
 (0)