-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathmath.pyf
More file actions
131 lines (122 loc) · 6.92 KB
/
Copy pathmath.pyf
File metadata and controls
131 lines (122 loc) · 6.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
! -*- f90 -*-
! Note: the context of this file is case sensitive.
subroutine mc01td(dico,dp,p,stable,nz,dwork,iwarn,info) ! in :new:MC01TD.f
character :: dico
integer intent(in,out),check(dp>=0) :: dp
double precision intent(in),check(shape(p,0)==dp+1),dimension(dp+1),depend(dp) :: p
logical intent(out) :: stable
integer intent(out) :: nz
double precision intent(cache,hide),dimension(2*dp+2),depend(dp) :: dwork
integer intent(out) :: iwarn
integer intent(out) :: info
end subroutine mc01td
subroutine mb02ed(typet,k,n,nrhs,t,ldt,b,ldb,dwork,ldwork,info) ! in MB02ED.f
character :: typet
integer intent(in),required :: k
integer intent(in),required :: n
integer intent(in),required :: nrhs
double precision intent(in,out,copy),dimension(ldt,*) :: t
integer, intent(hide),optional,check(shape(t, 0) == ldt),depend(t) :: ldt=shape(t, 0)
double precision intent(in,out,copy),dimension(ldb,*) :: b
integer, intent(hide),optional,check(shape(b, 0) == ldb),depend(b) :: ldb=shape(b, 0)
double precision intent(cache,hide),dimension(ldwork) :: dwork
integer optional,check(ldwork>=n*k*k+(n+2)*k), depend(n,k) :: ldwork=max(1,n*k*k+(n+2)*k)
integer intent(out):: info
end subroutine mb02ed
subroutine mb03rd(jobx,sort,n,pmax,a,lda,x,ldx,nblcks,blsize,wr,wi,tol,dwork,info) ! in MB03RD.f
character intent(in) :: jobx
character intent(in),required :: sort
integer intent(in),required,check(n>=0) :: n
double precision intent(in),required,check(pmax>=1.0) :: pmax
double precision intent(in,out,copy),dimension(lda,n),depend(n) :: a
integer intent(hide),check(lda>=max(1,n)),depend(a,n) :: lda=shape(a,0)
double precision intent(in,out,copy),dimension(ldx,n),depend(n) :: x
integer intent(hide),check((*jobx == 'N' && ldx>=1) || (*jobx == 'U' && ldx >= max(1,n))),depend(x,n,jobx) :: ldx=shape(x,0)
integer intent(out) :: nblcks
integer intent(out),dimension(n) :: blsize
double precision intent(out),dimension(n) :: wr
double precision intent(out),dimension(n) :: wi
double precision intent(in) :: tol
double precision intent(cache,hide),dimension(n) :: dwork
integer intent(out) :: info
end subroutine mb03rd
subroutine mb03vd(n,p,ilo,ihi,a,lda1,lda2,tau,ldtau,dwork,info) ! in MB03VD.f
integer intent(in),check(n>=0) :: n
integer intent(hide),depend(a),check(p>=1) :: p=shape(a,2)
integer intent(in),depend(n),check(1<=ilo && ilo<=max(1,n)) :: ilo
integer intent(in),depend(n,ilo),check(min(ilo,n)<=ihi && ihi<=n) :: ihi
double precision intent(in,out,copy),dimension(lda1,lda2,p) :: a
integer intent(hide),depend(a,n),check(lda1>=max(1,n)) :: lda1=shape(a,0)
integer intent(hide),depend(a,n),check(lda2>=max(1,n)) :: lda2=shape(a,1)
double precision intent(out),depend(n,p),dimension(max(1,n-1),p) :: tau
integer intent(hide),depend(tau) :: ldtau=shape(tau,0)
double precision intent(hide,cache),depend(n),dimension(n) :: dwork
integer intent(out) :: info
end subroutine mb03vd
subroutine mb03vy(n,p,ilo,ihi,a,lda1,lda2,tau,ldtau,dwork,ldwork,info) ! in MB03VY.f
integer intent(in),check(n>=0) :: n
integer intent(hide),depend(a),check(p>=1) :: p=shape(a,2)
integer intent(in),depend(n),check(1<=ilo && ilo<=max(1,n)) :: ilo
integer intent(in),depend(n,ilo),check(min(ilo,n)<=ihi && ihi<=n) :: ihi
double precision intent(in,out,copy),dimension(lda1,lda2,p) :: a
integer intent(hide),depend(a,n),check(lda1>=max(1,n)) :: lda1=shape(a,0)
integer intent(hide),depend(a,n),check(lda2>=max(1,n)) :: lda2=shape(a,1)
double precision intent(in),depend(n,p),dimension(ldtau,p) :: tau
integer intent(hide),depend(tau),check(ldtau>=max(1,n-1)) :: ldtau=shape(tau,0)
double precision intent(hide,cache),depend(ldwork),dimension(ldwork) :: dwork
integer intent(in),optional,check(ldwork>=max(1,n)) :: ldwork=max(1,n)
integer intent(out) :: info
end subroutine mb03vy
subroutine mb03wd(job,compz,n,p,ilo,ihi,iloz,ihiz,h,ldh1,ldh2,z,ldz1,ldz2,wr,wi,dwork,ldwork,info) ! in MB03WD.f
character intent(in) :: job
character intent(in) :: compz
integer intent(in),check(n>=0) :: n
integer intent(hide),depend(h),check(p>=1) :: p=shape(h,2)
integer intent(in),depend(n),check(1<=ilo && ilo<=max(1,n)) :: ilo
integer intent(in),depend(n,ilo),check(min(ilo,n)<=ihi && ihi<=n) :: ihi
integer intent(in),depend(ilo),check(1<=iloz & iloz<=ilo) :: iloz
integer intent(in),depend(n,ihi),check(ihi<=ihiz && ihiz<=n) :: ihiz
double precision intent(in,out,copy),dimension(ldh1,ldh2,p) :: h
integer intent(hide),depend(h,n),check(ldh1>=max(1,n)) :: ldh1=shape(h,0)
integer intent(hide),depend(h,n),check(ldh2>=max(1,n)) :: ldh2=shape(h,1)
double precision intent(in,out,copy),depend(p),dimension(ldz1,ldz2,p) :: z
integer intent(hide),depend(z) :: ldz1=shape(z,0)
integer intent(hide),depend(z) :: ldz2=shape(z,1)
double precision intent(out), dimension(n), depend(n) :: wr
double precision intent(out), dimension(n), depend(n) :: wi
double precision intent(hide,cache), dimension(ldwork) :: dwork
integer optional,check(ldwork>=ihi-ilo+p-1), depend(ihi,ilo,p) :: ldwork=max(1,ihi-ilo+p-1)
integer intent(out) :: info
end subroutine mb03wd
subroutine mb05md(balanc,n,delta,a,lda,v,ldv,y,ldy,valr,vali,iwork,dwork,ldwork,info) ! in MB05MD.f
character intent(in):: balanc
integer intent(in),check(n>=0) :: n
double precision intent(in):: delta
double precision intent(in,out,copy),dimension(lda,*) :: a
integer intent(hide),depend(a) :: lda=shape(a,0)
double precision intent(out),depend(n),dimension(n,n) :: v
integer, intent(hide),depend(v) :: ldv=shape(v,0)
double precision intent(out),depend(n),dimension(n,n) :: y
integer, intent(hide),depend(y) :: ldy=shape(y,0)
double precision intent(out),depend(n),dimension(n) :: valr
double precision intent(out),depend(n),dimension(n) :: vali
integer intent(cache,hide),depend(n),dimension(n) :: iwork
double precision intent(cache,hide),depend(n),dimension(4*n) :: dwork
integer intent(hide),depend(dwork) :: ldwork=shape(dwork,0)
integer intent(out) :: info
end subroutine mb05md
subroutine mb05nd(n,delta,a,lda,ex,ldex,exint,ldexin,tol,iwork,dwork,ldwork,info) ! in :mb05nd:MB05ND.f
integer required,check(n>=0):: n
double precision required:: delta
double precision intent(in),dimension(n,n),depend(n) :: a
integer intent(hide),check(shape(a,0)==lda),depend(a) :: lda=shape(a,0)
double precision intent(out,copy),dimension(n,n) :: ex
integer intent(hide),check(shape(ex,0)==ldex),depend(ex) :: ldex=shape(ex,0)
double precision intent(out,copy),dimension(n,n) :: exint
integer intent(hide),check(shape(exint,0)==ldexin),depend(exint) :: ldexin=shape(exint,0)
double precision required :: tol
integer intent(cache,hide),dimension(n),depend(n) :: iwork
double precision intent(cache,hide),dimension(max(2*n*n,1)),depend(n) :: dwork
integer intent(hide),depend(dwork):: ldwork=shape(dwork,0)
integer intent(out) :: info
end subroutine mb05nd