annotate src/fftw-3.3.8/mpi/fftw3l-mpi.f03.in @ 84:08ae793730bd

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