module legendre
! Interfaces
public interface bddhmz2
public interface jacobl
public interface le_disk
public interface ledeig
public interface ledhmz1
public interface ledhmz2
public interface ledhmz2b
public interface lednhmz
public interface lednstof
public interface ledsyklisk
public interface legdb
public interface leinit
public interface lendhmz
public interface lendstof
public interface leneig
public interface lenhmz1ny
public interface lenhmz2
public interface lenstof2
public interface leptos
public interface leptos2
public interface lestof2
end module legendre
f90 module containing all the interfaces to the Legendre routines in SpecPack.
Author: Jan Ivar Moldekleiv, Jie Shen
public interface bddhmz2
subroutine bddhmz2 (n, m, un, nun, bn, bm)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(inout), dimension (0:nun,9) :: un
integer, intent(in) :: nun
double precision, intent(in), dimension (0:n,0:n) :: bn
double precision, intent(in), dimension (0:m,0:m) :: bm
end subroutine bddhmz2
end interface bddhmz2
public interface jacobl
subroutine jacobl (n, alpha, beta, xjac)
integer, intent(in) :: n
double precision, intent(in) :: alpha
double precision, intent(in) :: beta
double precision, intent(inout) :: xjac
end subroutine jacobl
end interface jacobl
public interface le_disk
subroutine le_disk (N, d, u, flag)
integer, intent(in) :: N
double precision, intent(out), dimension (1:N) :: d
double precision, intent(out), dimension (1:N) :: u
integer, intent(in) :: flag
end subroutine le_disk
end interface le_disk
public interface ledeig
subroutine ledeig (n1, d, z, wk, flag)
integer, intent(in) :: n1
double precision, intent(out), dimension (n1) :: d
double precision, intent(out), dimension (n1,n1) :: z
double precision, intent(inout), dimension (n1*(n1+2)) :: wk
integer, intent(in) :: flag
end subroutine ledeig
end interface ledeig
public interface ledhmz1
subroutine ledhmz1 (n, f, rm, alpha, flag)
integer, intent(in) :: n
double precision, intent(inout), dimension (0:n-1) :: f
double precision, intent(in) :: rm
double precision, intent(in) :: alpha
integer, intent(in) :: flag
end subroutine ledhmz1
end interface ledhmz1
public interface ledhmz2
subroutine ledhmz2 (n1, m1, rm, beta, f, nf, u, nu, e1, e2, w1, w2, init, flag1, flag2, fdim1, fdim2)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
double precision, intent(in), dimension (fdim1,fdim1) :: e1
double precision, intent(in), dimension (fdim1-flag1,fdim1-flag1) :: e2
double precision, intent(in), dimension (fdim1) :: w1
double precision, intent(in), dimension (fdim1-flag1) :: w2
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
end subroutine ledhmz2 end interface ledhmz2
public interface ledhmz2b
subroutine ledhmz2b (n1, m1, rm, beta, un, nun, bn, bm, f, nf, u, nu, e1, e2, w1, w2, flag1, flag2, fdim1, fdim2, ws, initb, init)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(in), dimension (0:nun,9) :: un
integer, intent(in) :: nun
double precision, intent(in), dimension (0:n1,0:n1) :: bn
double precision, intent(in), dimension (0:m1,0:m1) :: bm
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
double precision, intent(in), dimension (fdim1,fdim1) :: e1
double precision, intent(in), dimension (fdim1-flag1,fdim1-flag1) :: e2
double precision, intent(in), dimension (fdim1) :: w1
double precision, intent(in), dimension (fdim1-flag1) :: w2
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: initb
integer, intent(in) :: init
end subroutine ledhmz2b
end interface ledhmz2b
public interface lednhmz
subroutine lednhmz (n1, m1, rm, beta, f, nf, u, nu, e, w, aa, ww, ws, init)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
double precision, intent(in), dimension (n1/2,n1-1) :: e
double precision, intent(in), dimension (0:n1-2) :: w
double precision, intent(in), dimension (0:m1-2) :: aa
double precision, intent(in), dimension (0:m1-2) :: ww
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
end subroutine lednhmz
end interface lednhmz
public interface lednstof
subroutine lednstof (n, m, s, ns, ss, nss, aa, ww)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(inout), dimension (0:ns,0:m) :: s
integer, intent(in) :: ns
double precision, intent(inout), dimension (0:nss,0:m) :: ss
integer, intent(in) :: nss
double precision, intent(in), dimension (0:m-2) :: aa
double precision, intent(in), dimension (0:m-2) :: ww
end subroutine lednstof
end interface lednstof
public interface ledsyklisk
subroutine ledsyklisk (n1, m1, rm, beta, f, nf, u, nu, ws, init, flag1, flag2, fdim1, fdim2)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
end subroutine ledsyklisk
end interface ledsyklisk
public interface legdb
subroutine legdb (n, m, alpha, beta, f, s, flag1, flag2, fdim1, fdim2, un, nun, init, wtn, wtm)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(in) :: alpha
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:n,0:m) :: f
double precision, intent(inout), dimension (0:n,0:m) :: s
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(inout), dimension (0:nun,9) :: un
integer, intent(in) :: nun
integer, intent(in) :: init
double precision, intent(in), dimension (0:n) :: wtn
double precision, intent(in), dimension (0:m) :: wtm
end subroutine legdb
end interface legdb
public interface leinit
subroutine leinit (n, xjac, wt, a, b)
integer, intent(in) :: n
double precision, intent(out), dimension (0:n) :: xjac
double precision, intent(out), dimension (0:n) :: wt
double precision, intent(out), dimension (0:n,0:n) :: a
double precision, intent(out), dimension (0:n,0:n) :: b
end subroutine leinit
end interface leinit
public interface lendhmz
subroutine lendhmz (n1, m1, rm, beta, f, nf, u, nu, e, w, aa, ww, ws, init)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
double precision, intent(in), dimension (n1/2-1,n1-2) :: e
double precision, intent(in), dimension (n1-2) :: w
double precision, intent(in), dimension (0:n1-2) :: aa
double precision, intent(in), dimension (0:n1-2) :: ww
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
end subroutine lendhmz
end interface lendhmz
public interface lendstof
subroutine lendstof (n, m, s, ns, ss, nss, aa, ww)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(in), dimension (0:ns,0:m) :: s
integer, intent(in) :: ns
double precision, intent(inout), dimension (0:nss,0:m) :: ss
integer, intent(in) :: nss
double precision, intent(in), dimension (0:n-2) :: aa
double precision, intent(in), dimension (0:n-2) :: ww
end subroutine lendstof
end interface lendstof
public interface leneig
subroutine leneig (n1, d, z, wk, aa, ww, mx, flag)
integer, intent(in) :: n1
double precision, intent(out), dimension (n1) :: d
double precision, intent(out), dimension (n1,n1) :: z
double precision, intent(out), dimension (n1*(n1+2)) :: wk
double precision, intent(inout), dimension (0:mx) :: aa
double precision, intent(inout), dimension (0:mx) :: ww
integer, intent(in) :: mx
integer, intent(in) :: flag
end subroutine leneig
end interface leneig
public interface lenhmz1ny
subroutine lenhmz1ny (n, n1, f, rm, alpha, aa, ww, mx, flag)
integer, intent(in) :: n
integer, intent(in) :: n1
double precision, intent(out), dimension (0:n-1) :: f
double precision, intent(in) :: rm
double precision, intent(in) :: alpha
double precision, intent(in), dimension (0:mx) :: aa
double precision, intent(in), dimension (0:mx) :: ww
integer, intent(in) :: mx
integer, intent(in) :: flag
end subroutine lenhmz1ny
end interface lenhmz1ny
public interface lenhmz2
subroutine lenhmz2 (n1, m1, rm, beta, f, u, e1, e2, w1, w2, aa, ww, mx, init, flag1, flag2, fdim1, fdim2)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:n1,0:m1) :: f
double precision, intent(inout), dimension (0:n1,0:m1) :: u
double precision, intent(in), dimension (fdim1,fdim1) :: e1
double precision, intent(in), dimension (fdim1-flag1,fdim1-flag1) :: e2
double precision, intent(in), dimension (fdim1) :: w1
double precision, intent(in), dimension (fdim1-flag1) :: w2
double precision, intent(in), dimension (0:mx) :: aa
double precision, intent(in), dimension (0:mx) :: ww
integer, intent(in) :: mx
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
end subroutine lenhmz2
end interface lenhmz2
public interface lenstof2
subroutine lenstof2 (n, m, s, ns, ss, nss, aa, ww, mx)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(in), dimension (0:ns,0:m) :: s
integer, intent(in) :: ns
double precision, intent(inout), dimension (0:nss,0:m) :: ss
integer, intent(in) :: nss
double precision, intent(in), dimension (0:mx) :: aa
double precision, intent(in), dimension (0:mx) :: ww
integer, intent(in) :: mx
end subroutine lenstof2
end interface lenstof2
public interface leptos
subroutine leptos (n, p, s, b)
integer, intent(in) :: n
double precision, intent(in), dimension (0:n) :: p
double precision, intent(inout), dimension (0:n) :: s
double precision, intent(in), dimension (0:n,0:n) :: b
end subroutine leptos
end interface leptos
public interface leptos2
subroutine leptos2 (n, m, f, nf, s, bn, bm)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(inout), dimension (0:nf,0:m) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:n,0:m) :: s
double precision, intent(in), dimension (0:n,0:n) :: bn
double precision, intent(in), dimension (0:m,0:m) :: bm
end subroutine leptos2
end interface leptos2
public interface lestof2
subroutine lestof2 (n, m, s, ns, ss, nss)
integer, intent(in) :: n
integer, intent(in) :: m
double precision, intent(in), dimension (0:ns,0:m) :: s
integer, intent(in) :: ns
double precision, intent(inout), dimension (0:nss,0:(m-2)) :: ss
integer, intent(in) :: nss
end subroutine lestof2
end interface lestof2