27 lines
570 B
Fortran
27 lines
570 B
Fortran
|
|
SUBROUTINE detcoef(m,coefs,n,longs,levels,num,d)
|
|
implicit none
|
|
|
|
integer :: m,n,levels,num
|
|
integer :: longs(n)
|
|
real*8 :: coefs(m),d(1000)
|
|
|
|
integer :: nmax,tfirst(n),first(n-2),longs2(n-2),last(n-2),i
|
|
|
|
d = 0
|
|
|
|
nmax = n-2
|
|
call cumsum(n,longs,tfirst)
|
|
tfirst = tfirst+1
|
|
|
|
do i=n-2,1,-1
|
|
first(n-i-1) = tfirst(i)
|
|
longs2(n-i-1) = longs(i+1)
|
|
end do
|
|
|
|
last = first+longs2-1
|
|
|
|
num = last(levels)-first(levels)+1
|
|
d(1:num) = coefs(first(levels):last(levels))
|
|
|
|
end subroutine |