diff --git a/ext/LinearSolveBLISExt.jl b/ext/LinearSolveBLISExt.jl index b93203622..44177db90 100644 --- a/ext/LinearSolveBLISExt.jl +++ b/ext/LinearSolveBLISExt.jl @@ -27,7 +27,7 @@ function getrf!(A::AbstractMatrix{<:ComplexF64}; if isempty(ipiv) ipiv = similar(A, BlasInt, min(size(A, 1), size(A, 2))) end - ccall(("zgetrf_", liblapack), Cvoid, + ccall((@blasfunc(zgetrf_), liblapack), Cvoid, (Ref{BlasInt}, Ref{BlasInt}, Ptr{ComplexF64}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{BlasInt}), m, n, A, lda, ipiv, info) @@ -47,7 +47,7 @@ function getrf!(A::AbstractMatrix{<:ComplexF32}; if isempty(ipiv) ipiv = similar(A, BlasInt, min(size(A, 1), size(A, 2))) end - ccall(("cgetrf_", liblapack), Cvoid, + ccall((@blasfunc(cgetrf_), liblapack), Cvoid, (Ref{BlasInt}, Ref{BlasInt}, Ptr{ComplexF32}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{BlasInt}), m, n, A, lda, ipiv, info) @@ -67,7 +67,7 @@ function getrf!(A::AbstractMatrix{<:Float64}; if isempty(ipiv) ipiv = similar(A, BlasInt, min(size(A, 1), size(A, 2))) end - ccall(("dgetrf_", liblapack), Cvoid, + ccall((@blasfunc(dgetrf_), liblapack), Cvoid, (Ref{BlasInt}, Ref{BlasInt}, Ptr{Float64}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{BlasInt}), m, n, A, lda, ipiv, info) @@ -87,7 +87,7 @@ function getrf!(A::AbstractMatrix{<:Float32}; if isempty(ipiv) ipiv = similar(A, BlasInt, min(size(A, 1), size(A, 2))) end - ccall(("sgetrf_", liblapack), Cvoid, + ccall((@blasfunc(sgetrf_), liblapack), Cvoid, (Ref{BlasInt}, Ref{BlasInt}, Ptr{Float32}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{BlasInt}), m, n, A, lda, ipiv, info) @@ -111,7 +111,7 @@ function getrs!(trans::AbstractChar, throw(DimensionMismatch("ipiv has length $(length(ipiv)), but needs to be $n")) end nrhs = size(B, 2) - ccall(("zgetrs_", liblapack), Cvoid, + ccall((@blasfunc(zgetrs_), liblapack), Cvoid, (Ref{UInt8}, Ref{BlasInt}, Ref{BlasInt}, Ptr{ComplexF64}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{ComplexF64}, Ref{BlasInt}, Ptr{BlasInt}, Clong), trans, n, size(B, 2), A, max(1, stride(A, 2)), ipiv, B, max(1, stride(B, 2)), info, @@ -136,7 +136,7 @@ function getrs!(trans::AbstractChar, throw(DimensionMismatch("ipiv has length $(length(ipiv)), but needs to be $n")) end nrhs = size(B, 2) - ccall(("cgetrs_", liblapack), Cvoid, + ccall((@blasfunc(cgetrs_), liblapack), Cvoid, (Ref{UInt8}, Ref{BlasInt}, Ref{BlasInt}, Ptr{ComplexF32}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{ComplexF32}, Ref{BlasInt}, Ptr{BlasInt}, Clong), trans, n, size(B, 2), A, max(1, stride(A, 2)), ipiv, B, max(1, stride(B, 2)), info, @@ -161,7 +161,7 @@ function getrs!(trans::AbstractChar, throw(DimensionMismatch("ipiv has length $(length(ipiv)), but needs to be $n")) end nrhs = size(B, 2) - ccall(("dgetrs_", liblapack), Cvoid, + ccall((@blasfunc(dgetrs_), liblapack), Cvoid, (Ref{UInt8}, Ref{BlasInt}, Ref{BlasInt}, Ptr{Float64}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{Float64}, Ref{BlasInt}, Ptr{BlasInt}, Clong), trans, n, size(B, 2), A, max(1, stride(A, 2)), ipiv, B, max(1, stride(B, 2)), info, @@ -186,7 +186,7 @@ function getrs!(trans::AbstractChar, throw(DimensionMismatch("ipiv has length $(length(ipiv)), but needs to be $n")) end nrhs = size(B, 2) - ccall(("sgetrs_", liblapack), Cvoid, + ccall((@blasfunc(sgetrs_), liblapack), Cvoid, (Ref{UInt8}, Ref{BlasInt}, Ref{BlasInt}, Ptr{Float32}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{Float32}, Ref{BlasInt}, Ptr{BlasInt}, Clong), trans, n, size(B, 2), A, max(1, stride(A, 2)), ipiv, B, max(1, stride(B, 2)), info, @@ -248,4 +248,4 @@ function SciMLBase.solve!(cache::LinearCache, alg::BLISLUFactorization; SciMLBase.build_linear_solution(alg, cache.u, nothing, cache; retcode = ReturnCode.Success) end -end \ No newline at end of file +end