annotate fft/fftw/fftw-3.3.4/mpi/fftw3l-mpi.f03.in @ 40:223f770b5341 kissfft-double tip

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