Chris@10: ! Generated automatically. DO NOT EDIT! Chris@10: Chris@10: include 'fftw3l.f03' Chris@10: Chris@10: Chris@10: type, bind(C) :: fftwl_mpi_ddim Chris@10: integer(C_INTPTR_T) n, ib, ob Chris@10: end type fftwl_mpi_ddim Chris@10: Chris@10: interface Chris@10: subroutine fftwl_mpi_init() bind(C, name='fftwl_mpi_init') Chris@10: import Chris@10: end subroutine fftwl_mpi_init Chris@10: Chris@10: subroutine fftwl_mpi_cleanup() bind(C, name='fftwl_mpi_cleanup') Chris@10: import Chris@10: end subroutine fftwl_mpi_cleanup Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_many_transposed(rnk,n,howmany,block0,block1,comm,local_n0,local_0_start, & Chris@10: local_n1,local_1_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_many_transposed_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: block0 Chris@10: integer(C_INTPTR_T), value :: block1 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_n1 Chris@10: integer(C_INTPTR_T), intent(out) :: local_1_start Chris@10: end function fftwl_mpi_local_size_many_transposed Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_many(rnk,n,howmany,block0,comm,local_n0,local_0_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_many_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: block0 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: end function fftwl_mpi_local_size_many Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_transposed(rnk,n,comm,local_n0,local_0_start,local_n1,local_1_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_transposed_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_n1 Chris@10: integer(C_INTPTR_T), intent(out) :: local_1_start Chris@10: end function fftwl_mpi_local_size_transposed Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size(rnk,n,comm,local_n0,local_0_start) bind(C, name='fftwl_mpi_local_size_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: end function fftwl_mpi_local_size Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_many_1d(n0,howmany,comm,sign,flags,local_ni,local_i_start,local_no, & Chris@10: local_o_start) bind(C, name='fftwl_mpi_local_size_many_1d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: integer(C_INTPTR_T), intent(out) :: local_ni Chris@10: integer(C_INTPTR_T), intent(out) :: local_i_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_no Chris@10: integer(C_INTPTR_T), intent(out) :: local_o_start Chris@10: end function fftwl_mpi_local_size_many_1d Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_1d(n0,comm,sign,flags,local_ni,local_i_start,local_no,local_o_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_1d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: integer(C_INTPTR_T), intent(out) :: local_ni Chris@10: integer(C_INTPTR_T), intent(out) :: local_i_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_no Chris@10: integer(C_INTPTR_T), intent(out) :: local_o_start Chris@10: end function fftwl_mpi_local_size_1d Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_2d(n0,n1,comm,local_n0,local_0_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_2d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: end function fftwl_mpi_local_size_2d Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_2d_transposed(n0,n1,comm,local_n0,local_0_start,local_n1,local_1_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_2d_transposed_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_n1 Chris@10: integer(C_INTPTR_T), intent(out) :: local_1_start Chris@10: end function fftwl_mpi_local_size_2d_transposed Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_3d(n0,n1,n2,comm,local_n0,local_0_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_3d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: end function fftwl_mpi_local_size_3d Chris@10: Chris@10: integer(C_INTPTR_T) function fftwl_mpi_local_size_3d_transposed(n0,n1,n2,comm,local_n0,local_0_start,local_n1,local_1_start) & Chris@10: bind(C, name='fftwl_mpi_local_size_3d_transposed_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INTPTR_T), intent(out) :: local_n0 Chris@10: integer(C_INTPTR_T), intent(out) :: local_0_start Chris@10: integer(C_INTPTR_T), intent(out) :: local_n1 Chris@10: integer(C_INTPTR_T), intent(out) :: local_1_start Chris@10: end function fftwl_mpi_local_size_3d_transposed Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_many_transpose(n0,n1,howmany,block0,block1,in,out,comm,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_many_transpose_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: block0 Chris@10: integer(C_INTPTR_T), value :: block1 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_many_transpose Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_transpose(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_transpose_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_transpose Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_many_dft(rnk,n,howmany,block,tblock,in,out,comm,sign,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_many_dft_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: block Chris@10: integer(C_INTPTR_T), value :: tblock Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_many_dft Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft(rnk,n,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_1d(n0,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_1d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_1d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_2d(n0,n1,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_2d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_2d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_3d(n0,n1,n2,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_3d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: sign Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_3d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_many_r2r(rnk,n,howmany,iblock,oblock,in,out,comm,kind,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_many_r2r_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: iblock Chris@10: integer(C_INTPTR_T), value :: oblock Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_many_r2r Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_r2r(rnk,n,in,out,comm,kind,flags) bind(C, name='fftwl_mpi_plan_r2r_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_r2r Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_r2r_2d(n0,n1,in,out,comm,kind0,kind1,flags) bind(C, name='fftwl_mpi_plan_r2r_2d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_FFTW_R2R_KIND), value :: kind0 Chris@10: integer(C_FFTW_R2R_KIND), value :: kind1 Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_r2r_2d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_r2r_3d(n0,n1,n2,in,out,comm,kind0,kind1,kind2,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_r2r_3d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_FFTW_R2R_KIND), value :: kind0 Chris@10: integer(C_FFTW_R2R_KIND), value :: kind1 Chris@10: integer(C_FFTW_R2R_KIND), value :: kind2 Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_r2r_3d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_many_dft_r2c(rnk,n,howmany,iblock,oblock,in,out,comm,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_many_dft_r2c_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: iblock Chris@10: integer(C_INTPTR_T), value :: oblock Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_many_dft_r2c Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_r2c(rnk,n,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_r2c Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_r2c_2d(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_2d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_r2c_2d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_r2c_3d(n0,n1,n2,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_r2c_3d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_r2c_3d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_many_dft_c2r(rnk,n,howmany,iblock,oblock,in,out,comm,flags) & Chris@10: bind(C, name='fftwl_mpi_plan_many_dft_c2r_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: integer(C_INTPTR_T), value :: howmany Chris@10: integer(C_INTPTR_T), value :: iblock Chris@10: integer(C_INTPTR_T), value :: oblock Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_many_dft_c2r Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_c2r(rnk,n,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_f03') Chris@10: import Chris@10: integer(C_INT), value :: rnk Chris@10: integer(C_INTPTR_T), dimension(*), intent(in) :: n Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_c2r Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_c2r_2d(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_2d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_c2r_2d Chris@10: Chris@10: type(C_PTR) function fftwl_mpi_plan_dft_c2r_3d(n0,n1,n2,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_dft_c2r_3d_f03') Chris@10: import Chris@10: integer(C_INTPTR_T), value :: n0 Chris@10: integer(C_INTPTR_T), value :: n1 Chris@10: integer(C_INTPTR_T), value :: n2 Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: integer(C_MPI_FINT), value :: comm Chris@10: integer(C_INT), value :: flags Chris@10: end function fftwl_mpi_plan_dft_c2r_3d Chris@10: Chris@10: subroutine fftwl_mpi_gather_wisdom(comm_) bind(C, name='fftwl_mpi_gather_wisdom_f03') Chris@10: import Chris@10: integer(C_MPI_FINT), value :: comm_ Chris@10: end subroutine fftwl_mpi_gather_wisdom Chris@10: Chris@10: subroutine fftwl_mpi_broadcast_wisdom(comm_) bind(C, name='fftwl_mpi_broadcast_wisdom_f03') Chris@10: import Chris@10: integer(C_MPI_FINT), value :: comm_ Chris@10: end subroutine fftwl_mpi_broadcast_wisdom Chris@10: Chris@10: subroutine fftwl_mpi_execute_dft(p,in,out) bind(C, name='fftwl_mpi_execute_dft') Chris@10: import Chris@10: type(C_PTR), value :: p Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: end subroutine fftwl_mpi_execute_dft Chris@10: Chris@10: subroutine fftwl_mpi_execute_dft_r2c(p,in,out) bind(C, name='fftwl_mpi_execute_dft_r2c') Chris@10: import Chris@10: type(C_PTR), value :: p Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out Chris@10: end subroutine fftwl_mpi_execute_dft_r2c Chris@10: Chris@10: subroutine fftwl_mpi_execute_dft_c2r(p,in,out) bind(C, name='fftwl_mpi_execute_dft_c2r') Chris@10: import Chris@10: type(C_PTR), value :: p Chris@10: complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: end subroutine fftwl_mpi_execute_dft_c2r Chris@10: Chris@10: subroutine fftwl_mpi_execute_r2r(p,in,out) bind(C, name='fftwl_mpi_execute_r2r') Chris@10: import Chris@10: type(C_PTR), value :: p Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in Chris@10: real(C_LONG_DOUBLE), dimension(*), intent(out) :: out Chris@10: end subroutine fftwl_mpi_execute_r2r Chris@10: Chris@10: end interface