RalphAS / SLICOTMath.jl

Julia wrappers for mathematical routines in the SLICOT library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SLICOT interface

andreasvarga opened this issue · comments

I wonder why there are three Clong, Clong, Clong trailing arguments in the call to :mb03bd_ ?

    ccall((:mb03bd_, libslicot), Cvoid, (Ref{UInt8}, Ref{UInt8},
            Ref{UInt8}, Ptr{BlasInt}, Ref{BlasInt}, Ref{BlasInt},
            Ref{BlasInt}, Ref{BlasInt}, Ref{BlasInt}, Ptr{BlasInt},
            Ptr{Float64}, Ref{BlasInt}, Ref{BlasInt}, Ptr{Float64},
            Ref{BlasInt}, Ref{BlasInt}, Ptr{Float64}, Ptr{Float64},
            Ptr{Float64}, Ptr{BlasInt}, Ptr{BlasInt}, Ref{BlasInt},
            Ptr{Float64}, Ref{BlasInt}, Ptr{BlasInt}, Ptr{BlasInt},
            Clong, Clong, Clong), job, defl, compq, qind, k, n, h,
            ilo, ihi, s, a, lda1, lda2, q, ldq1, ldq2, alphar,
            alphai, beta, scal, iwork, liwork, dwork, ldwork, iwarn,
            info, 1, 1, 1)

Those are the character length arguments, which could often be omitted in years gone by but are now needed. They are discussed in JuliaLang/julia#32870 and references therein.

Many thank for this useful information. It seems I have to update several wrappers in my packages.