You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
4.3 KiB
Plaintext

! File c_code.pyf
python module c_library
interface
subroutine findrfc(y1, hmin, ind, n, info)
intent(c) findrfc ! findrfc is a C function
intent(c) ! all findrfc arguments are considered as C based
integer intent(hide), depend(y1) :: n=len(y1)
double precision dimension(n), intent(in) :: y1 ! input array
double precision intent(in) :: hmin
integer dimension(n), intent(out) :: ind ! output array,
integer dimension(1), intent(out) :: info
end subroutine findrfc
subroutine findcross(y, v, ind, n, info)
intent(c) findcross ! findcross is a C function
intent(c) ! all findcross arguments are considered as C based
integer intent(hide), depend(y) :: n=len(y)
double precision dimension(n), intent(in) :: y ! input array
double precision intent(in) :: v
integer dimension(n), intent(out) :: ind ! output array,
integer dimension(1),intent(out) :: info
end subroutine findcross
subroutine disufq(rvec, ivec, rA, iA, w, kw, h, g,nmin,nmax, m, n)
intent(c) disufq ! disufq is a C function
intent(c) ! all disufq arguments are considered as C based
!integer intent(hide), depend(rA),check(n*m==len(iA)) :: n=len(rA)/m
!integer intent(hide), depend(rA), check(m==shape(iA,1)) :: m=shape(rA,1)
double precision dimension(n*m), intent(in) :: rA, iA ! input array
double precision dimension(n/2+1), intent(in) :: w, kw ! input array
double precision intent(in) :: h, g
integer intent(in) :: nmin, nmax
double precision dimension(n*m), intent(out) :: rvec, ivec ! output array,
end subroutine disufq
subroutine disufq2(rsvec, isvec,rdvec, idvec, rA, iA, w, kw, h, g,nmin,nmax, m, n)
intent(c) disufq2 ! disufq2 is a C function
intent(c) ! all disufq2 arguments are considered as C based
!integer intent(hide), depend(rA),check(n*m==len(iA)) :: n=len(rA)/m
!integer intent(hide), depend(rA), check(m==shape(iA,1)) :: m=shape(rA,1)
double precision dimension(n*m), intent(in) :: rA, iA ! input array
double precision dimension(n/2+1), intent(in) :: w, kw ! input array
double precision intent(in) :: h, g
integer intent(in) :: nmin, nmax
double precision dimension(n*m), intent(out) :: rsvec, isvec, rdvec, idvec ! output array,
end subroutine disufq2
! ===== START NIESLONY RAINFLOW FUNCTIONS
! RAINFLOW Revision: 1.1
! by Adam Nieslony, 2009
subroutine findrfc3_astm(array_ext, array_out, n, nout)
intent(c) findrfc3_astm ! rf3 is a C function
intent(c) ! all rf3 arguments are
! considered as C based
! n is the length of the input array array_ext
integer intent(hide), depend(array_ext) :: n=len(array_ext)
! of input array x
double precision intent(in) :: array_ext(n)
! the output array
double precision intent(out) :: array_out(n,3)
! nout array, to output additional ints
integer dimension(2), intent(out) :: nout
end subroutine findrfc3_astm
subroutine findrfc5_astm(array_ext, array_t, array_out, n, nout)
intent(c) findrfc5_astm ! rf5 is a C function
intent(c) ! all rf5 arguments are
! considered as C based
! n is the length of the input array array_ext
integer intent(hide), depend(array_ext) :: n=len(array_ext)
! of input array x
double precision intent(in) :: array_ext(n), array_t(n)
! the output array
double precision intent(out) :: array_out(n,5)
! nout array, to output additional ints
integer dimension(2), intent(out) :: nout
end subroutine findrfc5_astm
! ===== END NIESLONY RAINFLOW FUNCTIONS
end interface
end python module c_library