Skip to content
Prev Previous commit
Next Next commit
rework signatures for ab08nd and ab08nz
  • Loading branch information
bnavigator authored and roryyorke committed Apr 12, 2020
commit 8f06d66047f22afd955d6afff09006643628f54c
65 changes: 33 additions & 32 deletions slycot/src/analysis.pyf
Original file line number Diff line number Diff line change
Expand Up @@ -155,17 +155,17 @@ subroutine ab07nd(n,m,a,lda,b,ldb,c,ldc,d,ldd,rcond,iwork,dwork,ldwork,info) ! i
end subroutine ab07nd
subroutine ab08nd(equil,n,m,p,a,lda,b,ldb,c,ldc,d,ldd,nu,rank_bn,dinfz,nkror,nkrol,infz,kronr,kronl,af,ldaf,bf,ldbf,tol,iwork,dwork,ldwork,info) ! in :new:AB08ND.f
character :: equil='N'
integer check(n>=0) :: n
integer check(m>=0) :: m
integer check(p>=0) :: p
double precision dimension(n,n),depend(n) :: a
integer intent(hide),depend(a) :: lda=shape(a,0)
double precision dimension(n,m),depend(n,m) :: b
integer intent(hide),depend(b) :: ldb=shape(b,0)
double precision dimension(p,n),depend(n,p) :: c
integer intent(hide),depend(c) :: ldc=shape(c,0)
double precision dimension(p,m),depend(m,p) :: d
integer intent(hide),depend(d) :: ldd=shape(d,0)
integer intent(in),check(n>=0),required :: n
integer intent(in),check(m>=0),required :: m
integer intent(in),check(p>=0),required :: p
double precision intent(in),dimension(lda,*),check(shape(a,1)>=n) :: a
integer intent(hide),check(lda>=max(1,n)) :: lda=shape(a,0)
double precision intent(in),dimension(ldb,*),check(shape(b,1)>=m) :: b
integer intent(hide),check(ldb>=max(1,n)) :: ldb=shape(b,0)
double precision intent(in),dimension(ldc,*),check(shape(c,1)>=n) :: c
integer intent(hide),check(ldc>=max(1,p)) :: ldc=shape(c,0)
double precision intent(in),dimension(ldd,*),check(shape(d,1)>=m) :: d
integer intent(hide),check(ldd>=max(1,p)) :: ldd=shape(d,0)
integer intent(out) :: nu
integer intent(out) :: rank_bn
integer intent(out) :: dinfz
Expand All @@ -184,35 +184,36 @@ subroutine ab08nd(equil,n,m,p,a,lda,b,ldb,c,ldc,d,ldd,nu,rank_bn,dinfz,nkror,nkr
integer optional :: ldwork = n + 3*max(m,p)
integer intent(out) :: info
end subroutine ab08nd
subroutine ab08nz(equil,n,m,p,a,lda,b,ldb,c,ldc,d,ldd,nu,rank_bn,dinfz,nkror,nkrol,infz,kronr,kronl,af,ldaf,bf,ldbf,tol,iwork,dwork,ldwork,info) ! in :new:AB08NZ.f
subroutine ab08nz(equil,n,m,p,a,lda,b,ldb,c,ldc,d,ldd,nu,rank_bn,dinfz,nkror,nkrol,infz,kronr,kronl,af,ldaf,bf,ldbf,tol,iwork,dwork,zwork,lzwork,info) ! in AB08NZ.f
character :: equil='N'
integer check(n>=0) :: n
integer check(m>=0) :: m
integer check(p>=0) :: p
complex*16 dimension(n,n),depend(n) :: a
integer intent(hide),depend(a) :: lda=shape(a,0)
complex*16 dimension(n,m),depend(n,m) :: b
integer intent(hide),depend(b) :: ldb=shape(b,0)
complex*16 dimension(p,n),depend(n,p) :: c
integer intent(hide),depend(c) :: ldc=shape(c,0)
complex*16 dimension(p,m),depend(m,p) :: d
integer intent(hide),depend(d) :: ldd=shape(d,0)
integer intent(in),check(n>=0),required :: n
integer intent(in),check(m>=0),required :: m
integer intent(in),check(p>=0),required :: p
complex*16 intent(in),dimension(lda,*),check(shape(a,1)>=n) :: a
integer intent(hide),check(lda>=max(1,n)) :: lda=shape(a,0)
complex*16 intent(in),dimension(ldb,*),check(shape(b,1)>=m) :: b
integer intent(hide),check(ldb>=max(1,n)) :: ldb=shape(b,0)
complex*16 intent(in),dimension(ldc,*),check(shape(c,1)>=n) :: c
integer intent(hide),check(ldc>=max(1,p)) :: ldc=shape(c,0)
complex*16 intent(in),dimension(ldd,*),check(shape(d,1)>=m) :: d
integer intent(hide),check(ldd>=max(1,p)) :: ldd=shape(d,0)
integer intent(out) :: nu
integer intent(out) :: rank_bn
integer intent(out) :: dinfz
integer intent(out) :: nkror
integer intent(out) :: nkrol
integer intent(out),dimension(n),depend(n) :: infz
integer intent(out),dimension(max(n,m)+1),depend([n,m]) :: kronr
integer intent(out),dimension(max(n,p)+1),depend([n,p]) :: kronl
integer intent(out),dimension(n) :: infz
integer intent(out),dimension(max(n,m)+1) :: kronr
integer intent(out),dimension(max(n,p)+1) :: kronl
complex*16 intent(out),dimension(max(1,n+m),n+min(p,m)) :: af
integer intent(hide),depend(af) :: ldaf=shape(af,0)
integer intent(hide),check(ldaf>=max(1,n+m)) :: ldaf=shape(af,0)
complex*16 intent(out),dimension(max(1,n+p),n+m) :: bf
integer intent(hide),depend(bf) :: ldbf=shape(bf,0)
double precision :: tol=0.0
integer intent(hide,cache),dimension(max(m,p)) :: iwork
double precision intent(hide,cache),dimension(ldwork) :: dwork
integer optional :: ldwork = n + 3*max(m,p)
integer intent(hide),check(ldbf>=max(1,n+p)) :: ldbf=shape(bf,0)
double precision intent(in) :: tol = 0.0
integer intent(hide),cache,dimension(max(m,p)) :: iwork
double precision intent(hide),cache,dimension(max(n,2*max(p,m))) :: dwork
complex*16 intent(out),cache,dimension(lzwork) :: zwork
integer intent(in),check(lzwork>=max(min(p,m) + max(3*m-1,n), max(min(p,n) + max(3*p-1,max(n+p,n+m)), min(m,n) + max(3*m-1,n+m)))) :: lzwork = max(min(p,m) + max(3*m-1,n), max(min(p,n) + max(3*p-1,max(n+p,n+m)), min(m,n) + max(3*m-1,n+m)))
integer intent(out) :: info
end subroutine ab08nz
subroutine ab09ad(dico,job,equil,ordsel,n,m,p,nr,a,lda,b,ldb,c,ldc,hsv,tol,iwork,dwork,ldwork,iwarn,info) !in :balred:AB09AD.f
Expand Down