Skip to content

Commit

Permalink
Fix #6487 (ambiguity warnings)
Browse files Browse the repository at this point in the history
  • Loading branch information
carlobaldassi committed Apr 10, 2014
1 parent 9a98cb5 commit 0715b88
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
7 changes: 5 additions & 2 deletions base/linalg/ldlt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ size(S::LDLt) = size(S.data)
size(S::LDLt, i::Integer) = size(S.data, i)

convert{T,S}(::Type{LDLt{T,S}}, F::LDLt) = LDLt{T,S}(convert(S, F.data))
convert{T,S,U}(::Type{LDLt{T}}, F::LDLt{S,U}) = convert(LDLt{T,U}, F)
# NOTE: the annotaion <:AbstractMatrix shouldn't be necessary, it is introduced
# to avoid an ambiguity warning (see issue #6383)
convert{T,S,U<:AbstractMatrix}(::Type{LDLt{T}}, F::LDLt{S,U}) = convert(LDLt{T,U}, F)

convert{T,S,U}(::Type{Factorization{T}}, F::LDLt{S,U}) = convert(LDLt{T,U}, F)

# SymTridiagonal
Expand Down Expand Up @@ -51,4 +54,4 @@ function A_ldiv_B!{T}(S::LDLt{T,SymTridiagonal{T}}, B::AbstractVecOrMat{T})
end
end
return B
end
end
2 changes: 2 additions & 0 deletions base/linalg/sparse.jl
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ function (*){TvA,TiA,TX}(A::SparseMatrixCSC{TvA,TiA}, X::AbstractMatrix{TX})
end

*{TvA,TiA}(X::BitArray{2}, A::SparseMatrixCSC{TvA,TiA}) = invoke(*, (AbstractMatrix, SparseMatrixCSC), X, A)
# TODO: Tridiagonal * Sparse should be implemented more efficiently
*{TX,TvA,TiA}(X::Tridiagonal{TX}, A::SparseMatrixCSC{TvA,TiA}) = invoke(*, (Tridiagonal, AbstractMatrix), X, A)
function *{TX,TvA,TiA}(X::AbstractMatrix{TX}, A::SparseMatrixCSC{TvA,TiA})
mX, nX = size(X)
nX == A.m || throw(DimensionMismatch(""))
Expand Down

0 comments on commit 0715b88

Please sign in to comment.