diff --git a/REQUIRE b/REQUIRE index 3eba29b..c7eded8 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,2 +1,2 @@ julia 0.4 -Compat 0.9.2 +Compat 0.17.0 diff --git a/src/PDMats.jl b/src/PDMats.jl index 216e8bf..bfaafef 100644 --- a/src/PDMats.jl +++ b/src/PDMats.jl @@ -5,7 +5,7 @@ module PDMats using Compat import Base: +, *, \, /, == - import Base: full, logdet, inv, diag, diagm, scale, scale!, eigmax, eigmin, convert + import Base: full, logdet, inv, diag, diagm, eigmax, eigmin, convert export # Types @@ -43,7 +43,7 @@ module PDMats # The abstract base type - abstract AbstractPDMat{T<:Real} + @compat abstract type AbstractPDMat{T<:Real} end # source files diff --git a/src/pdiagmat.jl b/src/pdiagmat.jl index d49c871..cfc5821 100644 --- a/src/pdiagmat.jl +++ b/src/pdiagmat.jl @@ -1,10 +1,10 @@ # positive diagonal matrix -immutable PDiagMat{T<:Real,V<:AbstractVector} <: AbstractPDMat{T} +@compat immutable PDiagMat{T<:Real,V<:AbstractVector} <: AbstractPDMat{T} dim::Int diag::V inv_diag::V - PDiagMat(d::Int,v::AbstractVector{T},inv_v::AbstractVector{T}) = new(d,v,inv_v) + (::Type{PDiagMat{T,S}}){T,S}(d::Int,v::AbstractVector{T},inv_v::AbstractVector{T}) = new{T,S}(d,v,inv_v) end function PDiagMat(v::AbstractVector,inv_v::AbstractVector) diff --git a/src/pdmat.jl b/src/pdmat.jl index af8927c..ef5924c 100644 --- a/src/pdmat.jl +++ b/src/pdmat.jl @@ -1,9 +1,9 @@ # Full positive definite matrix together with a Cholesky factorization object -immutable PDMat{T<:Real,S<:AbstractMatrix} <: AbstractPDMat{T} +@compat immutable PDMat{T<:Real,S<:AbstractMatrix} <: AbstractPDMat{T} dim::Int mat::S chol::CholType{T,S} - PDMat(d::Int,m::AbstractMatrix{T},c::CholType{T,S}) = new(d,m,c) + (::Type{PDMat{T,S}}){T,S}(d::Int,m::AbstractMatrix{T},c::CholType{T,S}) = new{T,S}(d,m,c) end function PDMat(mat::AbstractMatrix,chol::CholType) diff --git a/src/pdsparsemat.jl b/src/pdsparsemat.jl index 892c495..148d45c 100644 --- a/src/pdsparsemat.jl +++ b/src/pdsparsemat.jl @@ -1,9 +1,9 @@ # Sparse positive definite matrix together with a Cholesky factorization object -immutable PDSparseMat{T<:Real,S<:AbstractSparseMatrix} <: AbstractPDMat{T} +@compat immutable PDSparseMat{T<:Real,S<:AbstractSparseMatrix} <: AbstractPDMat{T} dim::Int mat::S chol::CholTypeSparse - PDSparseMat(d::Int,m::AbstractSparseMatrix{T},c::CholTypeSparse) = new(d,m,c) #add {T} to CholTypeSparse argument once #14076 is implemented + (::Type{PDSparseMat{T,S}}){T,S}(d::Int,m::AbstractSparseMatrix{T},c::CholTypeSparse) = new{T,S}(d,m,c) #add {T} to CholTypeSparse argument once #14076 is implemented end function PDSparseMat(mat::AbstractSparseMatrix,chol::CholTypeSparse)