annotate src/fftw-3.3.5/mpi/fftw3l-mpi.f03.in @ 43:5ea0608b923f

Current zlib source
author Chris Cannam
date Tue, 18 Oct 2016 14:33:52 +0100
parents 2cd0e3b3e1fd
children
rev   line source
Chris@42 1 ! Generated automatically. DO NOT EDIT!
Chris@42 2
Chris@42 3 include 'fftw3l.f03'
Chris@42 4
Chris@42 5
Chris@42 6 type, bind(C) :: fftwl_mpi_ddim
Chris@42 7 integer(C_INTPTR_T) n, ib, ob
Chris@42 8 end type fftwl_mpi_ddim
Chris@42 9
Chris@42 10 interface
Chris@42 11 subroutine fftwl_mpi_init() bind(C, name='fftwl_mpi_init')
Chris@42 12 import
Chris@42 13 end subroutine fftwl_mpi_init
Chris@42 14
Chris@42 15 subroutine fftwl_mpi_cleanup() bind(C, name='fftwl_mpi_cleanup')
Chris@42 16 import
Chris@42 17 end subroutine fftwl_mpi_cleanup
Chris@42 18
Chris@42 19 integer(C_INTPTR_T) function fftwl_mpi_local_size_many_transposed(rnk,n,howmany,block0,block1,comm,local_n0,local_0_start, &
Chris@42 20 local_n1,local_1_start) &
Chris@42 21 bind(C, name='fftwl_mpi_local_size_many_transposed_f03')
Chris@42 22 import
Chris@42 23 integer(C_INT), value :: rnk
Chris@42 24 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 25 integer(C_INTPTR_T), value :: howmany
Chris@42 26 integer(C_INTPTR_T), value :: block0
Chris@42 27 integer(C_INTPTR_T), value :: block1
Chris@42 28 integer(C_MPI_FINT), value :: comm
Chris@42 29 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 30 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 31 integer(C_INTPTR_T), intent(out) :: local_n1
Chris@42 32 integer(C_INTPTR_T), intent(out) :: local_1_start
Chris@42 33 end function fftwl_mpi_local_size_many_transposed
Chris@42 34
Chris@42 35 integer(C_INTPTR_T) function fftwl_mpi_local_size_many(rnk,n,howmany,block0,comm,local_n0,local_0_start) &
Chris@42 36 bind(C, name='fftwl_mpi_local_size_many_f03')
Chris@42 37 import
Chris@42 38 integer(C_INT), value :: rnk
Chris@42 39 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 40 integer(C_INTPTR_T), value :: howmany
Chris@42 41 integer(C_INTPTR_T), value :: block0
Chris@42 42 integer(C_MPI_FINT), value :: comm
Chris@42 43 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 44 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 45 end function fftwl_mpi_local_size_many
Chris@42 46
Chris@42 47 integer(C_INTPTR_T) function fftwl_mpi_local_size_transposed(rnk,n,comm,local_n0,local_0_start,local_n1,local_1_start) &
Chris@42 48 bind(C, name='fftwl_mpi_local_size_transposed_f03')
Chris@42 49 import
Chris@42 50 integer(C_INT), value :: rnk
Chris@42 51 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 52 integer(C_MPI_FINT), value :: comm
Chris@42 53 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 54 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 55 integer(C_INTPTR_T), intent(out) :: local_n1
Chris@42 56 integer(C_INTPTR_T), intent(out) :: local_1_start
Chris@42 57 end function fftwl_mpi_local_size_transposed
Chris@42 58
Chris@42 59 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@42 60 import
Chris@42 61 integer(C_INT), value :: rnk
Chris@42 62 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 63 integer(C_MPI_FINT), value :: comm
Chris@42 64 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 65 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 66 end function fftwl_mpi_local_size
Chris@42 67
Chris@42 68 integer(C_INTPTR_T) function fftwl_mpi_local_size_many_1d(n0,howmany,comm,sign,flags,local_ni,local_i_start,local_no, &
Chris@42 69 local_o_start) bind(C, name='fftwl_mpi_local_size_many_1d_f03')
Chris@42 70 import
Chris@42 71 integer(C_INTPTR_T), value :: n0
Chris@42 72 integer(C_INTPTR_T), value :: howmany
Chris@42 73 integer(C_MPI_FINT), value :: comm
Chris@42 74 integer(C_INT), value :: sign
Chris@42 75 integer(C_INT), value :: flags
Chris@42 76 integer(C_INTPTR_T), intent(out) :: local_ni
Chris@42 77 integer(C_INTPTR_T), intent(out) :: local_i_start
Chris@42 78 integer(C_INTPTR_T), intent(out) :: local_no
Chris@42 79 integer(C_INTPTR_T), intent(out) :: local_o_start
Chris@42 80 end function fftwl_mpi_local_size_many_1d
Chris@42 81
Chris@42 82 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@42 83 bind(C, name='fftwl_mpi_local_size_1d_f03')
Chris@42 84 import
Chris@42 85 integer(C_INTPTR_T), value :: n0
Chris@42 86 integer(C_MPI_FINT), value :: comm
Chris@42 87 integer(C_INT), value :: sign
Chris@42 88 integer(C_INT), value :: flags
Chris@42 89 integer(C_INTPTR_T), intent(out) :: local_ni
Chris@42 90 integer(C_INTPTR_T), intent(out) :: local_i_start
Chris@42 91 integer(C_INTPTR_T), intent(out) :: local_no
Chris@42 92 integer(C_INTPTR_T), intent(out) :: local_o_start
Chris@42 93 end function fftwl_mpi_local_size_1d
Chris@42 94
Chris@42 95 integer(C_INTPTR_T) function fftwl_mpi_local_size_2d(n0,n1,comm,local_n0,local_0_start) &
Chris@42 96 bind(C, name='fftwl_mpi_local_size_2d_f03')
Chris@42 97 import
Chris@42 98 integer(C_INTPTR_T), value :: n0
Chris@42 99 integer(C_INTPTR_T), value :: n1
Chris@42 100 integer(C_MPI_FINT), value :: comm
Chris@42 101 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 102 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 103 end function fftwl_mpi_local_size_2d
Chris@42 104
Chris@42 105 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@42 106 bind(C, name='fftwl_mpi_local_size_2d_transposed_f03')
Chris@42 107 import
Chris@42 108 integer(C_INTPTR_T), value :: n0
Chris@42 109 integer(C_INTPTR_T), value :: n1
Chris@42 110 integer(C_MPI_FINT), value :: comm
Chris@42 111 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 112 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 113 integer(C_INTPTR_T), intent(out) :: local_n1
Chris@42 114 integer(C_INTPTR_T), intent(out) :: local_1_start
Chris@42 115 end function fftwl_mpi_local_size_2d_transposed
Chris@42 116
Chris@42 117 integer(C_INTPTR_T) function fftwl_mpi_local_size_3d(n0,n1,n2,comm,local_n0,local_0_start) &
Chris@42 118 bind(C, name='fftwl_mpi_local_size_3d_f03')
Chris@42 119 import
Chris@42 120 integer(C_INTPTR_T), value :: n0
Chris@42 121 integer(C_INTPTR_T), value :: n1
Chris@42 122 integer(C_INTPTR_T), value :: n2
Chris@42 123 integer(C_MPI_FINT), value :: comm
Chris@42 124 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 125 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 126 end function fftwl_mpi_local_size_3d
Chris@42 127
Chris@42 128 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@42 129 bind(C, name='fftwl_mpi_local_size_3d_transposed_f03')
Chris@42 130 import
Chris@42 131 integer(C_INTPTR_T), value :: n0
Chris@42 132 integer(C_INTPTR_T), value :: n1
Chris@42 133 integer(C_INTPTR_T), value :: n2
Chris@42 134 integer(C_MPI_FINT), value :: comm
Chris@42 135 integer(C_INTPTR_T), intent(out) :: local_n0
Chris@42 136 integer(C_INTPTR_T), intent(out) :: local_0_start
Chris@42 137 integer(C_INTPTR_T), intent(out) :: local_n1
Chris@42 138 integer(C_INTPTR_T), intent(out) :: local_1_start
Chris@42 139 end function fftwl_mpi_local_size_3d_transposed
Chris@42 140
Chris@42 141 type(C_PTR) function fftwl_mpi_plan_many_transpose(n0,n1,howmany,block0,block1,in,out,comm,flags) &
Chris@42 142 bind(C, name='fftwl_mpi_plan_many_transpose_f03')
Chris@42 143 import
Chris@42 144 integer(C_INTPTR_T), value :: n0
Chris@42 145 integer(C_INTPTR_T), value :: n1
Chris@42 146 integer(C_INTPTR_T), value :: howmany
Chris@42 147 integer(C_INTPTR_T), value :: block0
Chris@42 148 integer(C_INTPTR_T), value :: block1
Chris@42 149 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 150 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 151 integer(C_MPI_FINT), value :: comm
Chris@42 152 integer(C_INT), value :: flags
Chris@42 153 end function fftwl_mpi_plan_many_transpose
Chris@42 154
Chris@42 155 type(C_PTR) function fftwl_mpi_plan_transpose(n0,n1,in,out,comm,flags) bind(C, name='fftwl_mpi_plan_transpose_f03')
Chris@42 156 import
Chris@42 157 integer(C_INTPTR_T), value :: n0
Chris@42 158 integer(C_INTPTR_T), value :: n1
Chris@42 159 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 160 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 161 integer(C_MPI_FINT), value :: comm
Chris@42 162 integer(C_INT), value :: flags
Chris@42 163 end function fftwl_mpi_plan_transpose
Chris@42 164
Chris@42 165 type(C_PTR) function fftwl_mpi_plan_many_dft(rnk,n,howmany,block,tblock,in,out,comm,sign,flags) &
Chris@42 166 bind(C, name='fftwl_mpi_plan_many_dft_f03')
Chris@42 167 import
Chris@42 168 integer(C_INT), value :: rnk
Chris@42 169 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 170 integer(C_INTPTR_T), value :: howmany
Chris@42 171 integer(C_INTPTR_T), value :: block
Chris@42 172 integer(C_INTPTR_T), value :: tblock
Chris@42 173 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 174 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 175 integer(C_MPI_FINT), value :: comm
Chris@42 176 integer(C_INT), value :: sign
Chris@42 177 integer(C_INT), value :: flags
Chris@42 178 end function fftwl_mpi_plan_many_dft
Chris@42 179
Chris@42 180 type(C_PTR) function fftwl_mpi_plan_dft(rnk,n,in,out,comm,sign,flags) bind(C, name='fftwl_mpi_plan_dft_f03')
Chris@42 181 import
Chris@42 182 integer(C_INT), value :: rnk
Chris@42 183 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 184 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 185 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 186 integer(C_MPI_FINT), value :: comm
Chris@42 187 integer(C_INT), value :: sign
Chris@42 188 integer(C_INT), value :: flags
Chris@42 189 end function fftwl_mpi_plan_dft
Chris@42 190
Chris@42 191 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@42 192 import
Chris@42 193 integer(C_INTPTR_T), value :: n0
Chris@42 194 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 195 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 196 integer(C_MPI_FINT), value :: comm
Chris@42 197 integer(C_INT), value :: sign
Chris@42 198 integer(C_INT), value :: flags
Chris@42 199 end function fftwl_mpi_plan_dft_1d
Chris@42 200
Chris@42 201 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@42 202 import
Chris@42 203 integer(C_INTPTR_T), value :: n0
Chris@42 204 integer(C_INTPTR_T), value :: n1
Chris@42 205 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 206 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 207 integer(C_MPI_FINT), value :: comm
Chris@42 208 integer(C_INT), value :: sign
Chris@42 209 integer(C_INT), value :: flags
Chris@42 210 end function fftwl_mpi_plan_dft_2d
Chris@42 211
Chris@42 212 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@42 213 import
Chris@42 214 integer(C_INTPTR_T), value :: n0
Chris@42 215 integer(C_INTPTR_T), value :: n1
Chris@42 216 integer(C_INTPTR_T), value :: n2
Chris@42 217 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 218 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 219 integer(C_MPI_FINT), value :: comm
Chris@42 220 integer(C_INT), value :: sign
Chris@42 221 integer(C_INT), value :: flags
Chris@42 222 end function fftwl_mpi_plan_dft_3d
Chris@42 223
Chris@42 224 type(C_PTR) function fftwl_mpi_plan_many_r2r(rnk,n,howmany,iblock,oblock,in,out,comm,kind,flags) &
Chris@42 225 bind(C, name='fftwl_mpi_plan_many_r2r_f03')
Chris@42 226 import
Chris@42 227 integer(C_INT), value :: rnk
Chris@42 228 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 229 integer(C_INTPTR_T), value :: howmany
Chris@42 230 integer(C_INTPTR_T), value :: iblock
Chris@42 231 integer(C_INTPTR_T), value :: oblock
Chris@42 232 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 233 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 234 integer(C_MPI_FINT), value :: comm
Chris@42 235 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@42 236 integer(C_INT), value :: flags
Chris@42 237 end function fftwl_mpi_plan_many_r2r
Chris@42 238
Chris@42 239 type(C_PTR) function fftwl_mpi_plan_r2r(rnk,n,in,out,comm,kind,flags) bind(C, name='fftwl_mpi_plan_r2r_f03')
Chris@42 240 import
Chris@42 241 integer(C_INT), value :: rnk
Chris@42 242 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 243 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 244 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 245 integer(C_MPI_FINT), value :: comm
Chris@42 246 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@42 247 integer(C_INT), value :: flags
Chris@42 248 end function fftwl_mpi_plan_r2r
Chris@42 249
Chris@42 250 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@42 251 import
Chris@42 252 integer(C_INTPTR_T), value :: n0
Chris@42 253 integer(C_INTPTR_T), value :: n1
Chris@42 254 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 255 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 256 integer(C_MPI_FINT), value :: comm
Chris@42 257 integer(C_FFTW_R2R_KIND), value :: kind0
Chris@42 258 integer(C_FFTW_R2R_KIND), value :: kind1
Chris@42 259 integer(C_INT), value :: flags
Chris@42 260 end function fftwl_mpi_plan_r2r_2d
Chris@42 261
Chris@42 262 type(C_PTR) function fftwl_mpi_plan_r2r_3d(n0,n1,n2,in,out,comm,kind0,kind1,kind2,flags) &
Chris@42 263 bind(C, name='fftwl_mpi_plan_r2r_3d_f03')
Chris@42 264 import
Chris@42 265 integer(C_INTPTR_T), value :: n0
Chris@42 266 integer(C_INTPTR_T), value :: n1
Chris@42 267 integer(C_INTPTR_T), value :: n2
Chris@42 268 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 269 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 270 integer(C_MPI_FINT), value :: comm
Chris@42 271 integer(C_FFTW_R2R_KIND), value :: kind0
Chris@42 272 integer(C_FFTW_R2R_KIND), value :: kind1
Chris@42 273 integer(C_FFTW_R2R_KIND), value :: kind2
Chris@42 274 integer(C_INT), value :: flags
Chris@42 275 end function fftwl_mpi_plan_r2r_3d
Chris@42 276
Chris@42 277 type(C_PTR) function fftwl_mpi_plan_many_dft_r2c(rnk,n,howmany,iblock,oblock,in,out,comm,flags) &
Chris@42 278 bind(C, name='fftwl_mpi_plan_many_dft_r2c_f03')
Chris@42 279 import
Chris@42 280 integer(C_INT), value :: rnk
Chris@42 281 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 282 integer(C_INTPTR_T), value :: howmany
Chris@42 283 integer(C_INTPTR_T), value :: iblock
Chris@42 284 integer(C_INTPTR_T), value :: oblock
Chris@42 285 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 286 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 287 integer(C_MPI_FINT), value :: comm
Chris@42 288 integer(C_INT), value :: flags
Chris@42 289 end function fftwl_mpi_plan_many_dft_r2c
Chris@42 290
Chris@42 291 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@42 292 import
Chris@42 293 integer(C_INT), value :: rnk
Chris@42 294 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 295 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 296 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 297 integer(C_MPI_FINT), value :: comm
Chris@42 298 integer(C_INT), value :: flags
Chris@42 299 end function fftwl_mpi_plan_dft_r2c
Chris@42 300
Chris@42 301 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@42 302 import
Chris@42 303 integer(C_INTPTR_T), value :: n0
Chris@42 304 integer(C_INTPTR_T), value :: n1
Chris@42 305 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 306 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 307 integer(C_MPI_FINT), value :: comm
Chris@42 308 integer(C_INT), value :: flags
Chris@42 309 end function fftwl_mpi_plan_dft_r2c_2d
Chris@42 310
Chris@42 311 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@42 312 import
Chris@42 313 integer(C_INTPTR_T), value :: n0
Chris@42 314 integer(C_INTPTR_T), value :: n1
Chris@42 315 integer(C_INTPTR_T), value :: n2
Chris@42 316 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@42 317 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 318 integer(C_MPI_FINT), value :: comm
Chris@42 319 integer(C_INT), value :: flags
Chris@42 320 end function fftwl_mpi_plan_dft_r2c_3d
Chris@42 321
Chris@42 322 type(C_PTR) function fftwl_mpi_plan_many_dft_c2r(rnk,n,howmany,iblock,oblock,in,out,comm,flags) &
Chris@42 323 bind(C, name='fftwl_mpi_plan_many_dft_c2r_f03')
Chris@42 324 import
Chris@42 325 integer(C_INT), value :: rnk
Chris@42 326 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 327 integer(C_INTPTR_T), value :: howmany
Chris@42 328 integer(C_INTPTR_T), value :: iblock
Chris@42 329 integer(C_INTPTR_T), value :: oblock
Chris@42 330 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 331 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 332 integer(C_MPI_FINT), value :: comm
Chris@42 333 integer(C_INT), value :: flags
Chris@42 334 end function fftwl_mpi_plan_many_dft_c2r
Chris@42 335
Chris@42 336 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@42 337 import
Chris@42 338 integer(C_INT), value :: rnk
Chris@42 339 integer(C_INTPTR_T), dimension(*), intent(in) :: n
Chris@42 340 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 341 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 342 integer(C_MPI_FINT), value :: comm
Chris@42 343 integer(C_INT), value :: flags
Chris@42 344 end function fftwl_mpi_plan_dft_c2r
Chris@42 345
Chris@42 346 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@42 347 import
Chris@42 348 integer(C_INTPTR_T), value :: n0
Chris@42 349 integer(C_INTPTR_T), value :: n1
Chris@42 350 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 351 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 352 integer(C_MPI_FINT), value :: comm
Chris@42 353 integer(C_INT), value :: flags
Chris@42 354 end function fftwl_mpi_plan_dft_c2r_2d
Chris@42 355
Chris@42 356 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@42 357 import
Chris@42 358 integer(C_INTPTR_T), value :: n0
Chris@42 359 integer(C_INTPTR_T), value :: n1
Chris@42 360 integer(C_INTPTR_T), value :: n2
Chris@42 361 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@42 362 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 363 integer(C_MPI_FINT), value :: comm
Chris@42 364 integer(C_INT), value :: flags
Chris@42 365 end function fftwl_mpi_plan_dft_c2r_3d
Chris@42 366
Chris@42 367 subroutine fftwl_mpi_gather_wisdom(comm_) bind(C, name='fftwl_mpi_gather_wisdom_f03')
Chris@42 368 import
Chris@42 369 integer(C_MPI_FINT), value :: comm_
Chris@42 370 end subroutine fftwl_mpi_gather_wisdom
Chris@42 371
Chris@42 372 subroutine fftwl_mpi_broadcast_wisdom(comm_) bind(C, name='fftwl_mpi_broadcast_wisdom_f03')
Chris@42 373 import
Chris@42 374 integer(C_MPI_FINT), value :: comm_
Chris@42 375 end subroutine fftwl_mpi_broadcast_wisdom
Chris@42 376
Chris@42 377 subroutine fftwl_mpi_execute_dft(p,in,out) bind(C, name='fftwl_mpi_execute_dft')
Chris@42 378 import
Chris@42 379 type(C_PTR), value :: p
Chris@42 380 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
Chris@42 381 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 382 end subroutine fftwl_mpi_execute_dft
Chris@42 383
Chris@42 384 subroutine fftwl_mpi_execute_dft_r2c(p,in,out) bind(C, name='fftwl_mpi_execute_dft_r2c')
Chris@42 385 import
Chris@42 386 type(C_PTR), value :: p
Chris@42 387 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
Chris@42 388 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@42 389 end subroutine fftwl_mpi_execute_dft_r2c
Chris@42 390
Chris@42 391 subroutine fftwl_mpi_execute_dft_c2r(p,in,out) bind(C, name='fftwl_mpi_execute_dft_c2r')
Chris@42 392 import
Chris@42 393 type(C_PTR), value :: p
Chris@42 394 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
Chris@42 395 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 396 end subroutine fftwl_mpi_execute_dft_c2r
Chris@42 397
Chris@42 398 subroutine fftwl_mpi_execute_r2r(p,in,out) bind(C, name='fftwl_mpi_execute_r2r')
Chris@42 399 import
Chris@42 400 type(C_PTR), value :: p
Chris@42 401 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
Chris@42 402 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@42 403 end subroutine fftwl_mpi_execute_r2r
Chris@42 404
Chris@42 405 end interface