annotate src/fftw-3.3.3/mpi/fftw3l-mpi.f03.in @ 23:619f715526df sv_v2.1

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