annotate src/fftw-3.3.8/api/fftw3l.f03 @ 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
Chris@82 4 type, bind(C) :: fftwl_iodim
Chris@82 5 integer(C_INT) n, is, os
Chris@82 6 end type fftwl_iodim
Chris@82 7 type, bind(C) :: fftwl_iodim64
Chris@82 8 integer(C_INTPTR_T) n, is, os
Chris@82 9 end type fftwl_iodim64
Chris@82 10
Chris@82 11 interface
Chris@82 12 type(C_PTR) function fftwl_plan_dft(rank,n,in,out,sign,flags) bind(C, name='fftwl_plan_dft')
Chris@82 13 import
Chris@82 14 integer(C_INT), value :: rank
Chris@82 15 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 16 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 17 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 18 integer(C_INT), value :: sign
Chris@82 19 integer(C_INT), value :: flags
Chris@82 20 end function fftwl_plan_dft
Chris@82 21
Chris@82 22 type(C_PTR) function fftwl_plan_dft_1d(n,in,out,sign,flags) bind(C, name='fftwl_plan_dft_1d')
Chris@82 23 import
Chris@82 24 integer(C_INT), value :: n
Chris@82 25 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 26 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 27 integer(C_INT), value :: sign
Chris@82 28 integer(C_INT), value :: flags
Chris@82 29 end function fftwl_plan_dft_1d
Chris@82 30
Chris@82 31 type(C_PTR) function fftwl_plan_dft_2d(n0,n1,in,out,sign,flags) bind(C, name='fftwl_plan_dft_2d')
Chris@82 32 import
Chris@82 33 integer(C_INT), value :: n0
Chris@82 34 integer(C_INT), value :: n1
Chris@82 35 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 36 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 37 integer(C_INT), value :: sign
Chris@82 38 integer(C_INT), value :: flags
Chris@82 39 end function fftwl_plan_dft_2d
Chris@82 40
Chris@82 41 type(C_PTR) function fftwl_plan_dft_3d(n0,n1,n2,in,out,sign,flags) bind(C, name='fftwl_plan_dft_3d')
Chris@82 42 import
Chris@82 43 integer(C_INT), value :: n0
Chris@82 44 integer(C_INT), value :: n1
Chris@82 45 integer(C_INT), value :: n2
Chris@82 46 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 47 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 48 integer(C_INT), value :: sign
Chris@82 49 integer(C_INT), value :: flags
Chris@82 50 end function fftwl_plan_dft_3d
Chris@82 51
Chris@82 52 type(C_PTR) function fftwl_plan_many_dft(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,sign,flags) &
Chris@82 53 bind(C, name='fftwl_plan_many_dft')
Chris@82 54 import
Chris@82 55 integer(C_INT), value :: rank
Chris@82 56 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 57 integer(C_INT), value :: howmany
Chris@82 58 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 59 integer(C_INT), dimension(*), intent(in) :: inembed
Chris@82 60 integer(C_INT), value :: istride
Chris@82 61 integer(C_INT), value :: idist
Chris@82 62 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 63 integer(C_INT), dimension(*), intent(in) :: onembed
Chris@82 64 integer(C_INT), value :: ostride
Chris@82 65 integer(C_INT), value :: odist
Chris@82 66 integer(C_INT), value :: sign
Chris@82 67 integer(C_INT), value :: flags
Chris@82 68 end function fftwl_plan_many_dft
Chris@82 69
Chris@82 70 type(C_PTR) function fftwl_plan_guru_dft(rank,dims,howmany_rank,howmany_dims,in,out,sign,flags) &
Chris@82 71 bind(C, name='fftwl_plan_guru_dft')
Chris@82 72 import
Chris@82 73 integer(C_INT), value :: rank
Chris@82 74 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 75 integer(C_INT), value :: howmany_rank
Chris@82 76 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 77 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 78 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 79 integer(C_INT), value :: sign
Chris@82 80 integer(C_INT), value :: flags
Chris@82 81 end function fftwl_plan_guru_dft
Chris@82 82
Chris@82 83 type(C_PTR) function fftwl_plan_guru_split_dft(rank,dims,howmany_rank,howmany_dims,ri,ii,ro,io,flags) &
Chris@82 84 bind(C, name='fftwl_plan_guru_split_dft')
Chris@82 85 import
Chris@82 86 integer(C_INT), value :: rank
Chris@82 87 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 88 integer(C_INT), value :: howmany_rank
Chris@82 89 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 90 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ri
Chris@82 91 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ii
Chris@82 92 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 93 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 94 integer(C_INT), value :: flags
Chris@82 95 end function fftwl_plan_guru_split_dft
Chris@82 96
Chris@82 97 type(C_PTR) function fftwl_plan_guru64_dft(rank,dims,howmany_rank,howmany_dims,in,out,sign,flags) &
Chris@82 98 bind(C, name='fftwl_plan_guru64_dft')
Chris@82 99 import
Chris@82 100 integer(C_INT), value :: rank
Chris@82 101 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 102 integer(C_INT), value :: howmany_rank
Chris@82 103 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 104 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 105 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 106 integer(C_INT), value :: sign
Chris@82 107 integer(C_INT), value :: flags
Chris@82 108 end function fftwl_plan_guru64_dft
Chris@82 109
Chris@82 110 type(C_PTR) function fftwl_plan_guru64_split_dft(rank,dims,howmany_rank,howmany_dims,ri,ii,ro,io,flags) &
Chris@82 111 bind(C, name='fftwl_plan_guru64_split_dft')
Chris@82 112 import
Chris@82 113 integer(C_INT), value :: rank
Chris@82 114 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 115 integer(C_INT), value :: howmany_rank
Chris@82 116 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 117 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ri
Chris@82 118 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ii
Chris@82 119 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 120 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 121 integer(C_INT), value :: flags
Chris@82 122 end function fftwl_plan_guru64_split_dft
Chris@82 123
Chris@82 124 subroutine fftwl_execute_dft(p,in,out) bind(C, name='fftwl_execute_dft')
Chris@82 125 import
Chris@82 126 type(C_PTR), value :: p
Chris@82 127 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
Chris@82 128 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 129 end subroutine fftwl_execute_dft
Chris@82 130
Chris@82 131 subroutine fftwl_execute_split_dft(p,ri,ii,ro,io) bind(C, name='fftwl_execute_split_dft')
Chris@82 132 import
Chris@82 133 type(C_PTR), value :: p
Chris@82 134 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: ri
Chris@82 135 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: ii
Chris@82 136 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 137 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 138 end subroutine fftwl_execute_split_dft
Chris@82 139
Chris@82 140 type(C_PTR) function fftwl_plan_many_dft_r2c(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,flags) &
Chris@82 141 bind(C, name='fftwl_plan_many_dft_r2c')
Chris@82 142 import
Chris@82 143 integer(C_INT), value :: rank
Chris@82 144 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 145 integer(C_INT), value :: howmany
Chris@82 146 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 147 integer(C_INT), dimension(*), intent(in) :: inembed
Chris@82 148 integer(C_INT), value :: istride
Chris@82 149 integer(C_INT), value :: idist
Chris@82 150 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 151 integer(C_INT), dimension(*), intent(in) :: onembed
Chris@82 152 integer(C_INT), value :: ostride
Chris@82 153 integer(C_INT), value :: odist
Chris@82 154 integer(C_INT), value :: flags
Chris@82 155 end function fftwl_plan_many_dft_r2c
Chris@82 156
Chris@82 157 type(C_PTR) function fftwl_plan_dft_r2c(rank,n,in,out,flags) bind(C, name='fftwl_plan_dft_r2c')
Chris@82 158 import
Chris@82 159 integer(C_INT), value :: rank
Chris@82 160 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 161 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 162 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 163 integer(C_INT), value :: flags
Chris@82 164 end function fftwl_plan_dft_r2c
Chris@82 165
Chris@82 166 type(C_PTR) function fftwl_plan_dft_r2c_1d(n,in,out,flags) bind(C, name='fftwl_plan_dft_r2c_1d')
Chris@82 167 import
Chris@82 168 integer(C_INT), value :: n
Chris@82 169 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 170 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 171 integer(C_INT), value :: flags
Chris@82 172 end function fftwl_plan_dft_r2c_1d
Chris@82 173
Chris@82 174 type(C_PTR) function fftwl_plan_dft_r2c_2d(n0,n1,in,out,flags) bind(C, name='fftwl_plan_dft_r2c_2d')
Chris@82 175 import
Chris@82 176 integer(C_INT), value :: n0
Chris@82 177 integer(C_INT), value :: n1
Chris@82 178 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 179 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 180 integer(C_INT), value :: flags
Chris@82 181 end function fftwl_plan_dft_r2c_2d
Chris@82 182
Chris@82 183 type(C_PTR) function fftwl_plan_dft_r2c_3d(n0,n1,n2,in,out,flags) bind(C, name='fftwl_plan_dft_r2c_3d')
Chris@82 184 import
Chris@82 185 integer(C_INT), value :: n0
Chris@82 186 integer(C_INT), value :: n1
Chris@82 187 integer(C_INT), value :: n2
Chris@82 188 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 189 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 190 integer(C_INT), value :: flags
Chris@82 191 end function fftwl_plan_dft_r2c_3d
Chris@82 192
Chris@82 193 type(C_PTR) function fftwl_plan_many_dft_c2r(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,flags) &
Chris@82 194 bind(C, name='fftwl_plan_many_dft_c2r')
Chris@82 195 import
Chris@82 196 integer(C_INT), value :: rank
Chris@82 197 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 198 integer(C_INT), value :: howmany
Chris@82 199 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 200 integer(C_INT), dimension(*), intent(in) :: inembed
Chris@82 201 integer(C_INT), value :: istride
Chris@82 202 integer(C_INT), value :: idist
Chris@82 203 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 204 integer(C_INT), dimension(*), intent(in) :: onembed
Chris@82 205 integer(C_INT), value :: ostride
Chris@82 206 integer(C_INT), value :: odist
Chris@82 207 integer(C_INT), value :: flags
Chris@82 208 end function fftwl_plan_many_dft_c2r
Chris@82 209
Chris@82 210 type(C_PTR) function fftwl_plan_dft_c2r(rank,n,in,out,flags) bind(C, name='fftwl_plan_dft_c2r')
Chris@82 211 import
Chris@82 212 integer(C_INT), value :: rank
Chris@82 213 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 214 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 215 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 216 integer(C_INT), value :: flags
Chris@82 217 end function fftwl_plan_dft_c2r
Chris@82 218
Chris@82 219 type(C_PTR) function fftwl_plan_dft_c2r_1d(n,in,out,flags) bind(C, name='fftwl_plan_dft_c2r_1d')
Chris@82 220 import
Chris@82 221 integer(C_INT), value :: n
Chris@82 222 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 223 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 224 integer(C_INT), value :: flags
Chris@82 225 end function fftwl_plan_dft_c2r_1d
Chris@82 226
Chris@82 227 type(C_PTR) function fftwl_plan_dft_c2r_2d(n0,n1,in,out,flags) bind(C, name='fftwl_plan_dft_c2r_2d')
Chris@82 228 import
Chris@82 229 integer(C_INT), value :: n0
Chris@82 230 integer(C_INT), value :: n1
Chris@82 231 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 232 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 233 integer(C_INT), value :: flags
Chris@82 234 end function fftwl_plan_dft_c2r_2d
Chris@82 235
Chris@82 236 type(C_PTR) function fftwl_plan_dft_c2r_3d(n0,n1,n2,in,out,flags) bind(C, name='fftwl_plan_dft_c2r_3d')
Chris@82 237 import
Chris@82 238 integer(C_INT), value :: n0
Chris@82 239 integer(C_INT), value :: n1
Chris@82 240 integer(C_INT), value :: n2
Chris@82 241 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 242 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 243 integer(C_INT), value :: flags
Chris@82 244 end function fftwl_plan_dft_c2r_3d
Chris@82 245
Chris@82 246 type(C_PTR) function fftwl_plan_guru_dft_r2c(rank,dims,howmany_rank,howmany_dims,in,out,flags) &
Chris@82 247 bind(C, name='fftwl_plan_guru_dft_r2c')
Chris@82 248 import
Chris@82 249 integer(C_INT), value :: rank
Chris@82 250 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 251 integer(C_INT), value :: howmany_rank
Chris@82 252 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 253 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 254 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 255 integer(C_INT), value :: flags
Chris@82 256 end function fftwl_plan_guru_dft_r2c
Chris@82 257
Chris@82 258 type(C_PTR) function fftwl_plan_guru_dft_c2r(rank,dims,howmany_rank,howmany_dims,in,out,flags) &
Chris@82 259 bind(C, name='fftwl_plan_guru_dft_c2r')
Chris@82 260 import
Chris@82 261 integer(C_INT), value :: rank
Chris@82 262 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 263 integer(C_INT), value :: howmany_rank
Chris@82 264 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 265 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 266 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 267 integer(C_INT), value :: flags
Chris@82 268 end function fftwl_plan_guru_dft_c2r
Chris@82 269
Chris@82 270 type(C_PTR) function fftwl_plan_guru_split_dft_r2c(rank,dims,howmany_rank,howmany_dims,in,ro,io,flags) &
Chris@82 271 bind(C, name='fftwl_plan_guru_split_dft_r2c')
Chris@82 272 import
Chris@82 273 integer(C_INT), value :: rank
Chris@82 274 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 275 integer(C_INT), value :: howmany_rank
Chris@82 276 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 277 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 278 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 279 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 280 integer(C_INT), value :: flags
Chris@82 281 end function fftwl_plan_guru_split_dft_r2c
Chris@82 282
Chris@82 283 type(C_PTR) function fftwl_plan_guru_split_dft_c2r(rank,dims,howmany_rank,howmany_dims,ri,ii,out,flags) &
Chris@82 284 bind(C, name='fftwl_plan_guru_split_dft_c2r')
Chris@82 285 import
Chris@82 286 integer(C_INT), value :: rank
Chris@82 287 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 288 integer(C_INT), value :: howmany_rank
Chris@82 289 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 290 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ri
Chris@82 291 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ii
Chris@82 292 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 293 integer(C_INT), value :: flags
Chris@82 294 end function fftwl_plan_guru_split_dft_c2r
Chris@82 295
Chris@82 296 type(C_PTR) function fftwl_plan_guru64_dft_r2c(rank,dims,howmany_rank,howmany_dims,in,out,flags) &
Chris@82 297 bind(C, name='fftwl_plan_guru64_dft_r2c')
Chris@82 298 import
Chris@82 299 integer(C_INT), value :: rank
Chris@82 300 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 301 integer(C_INT), value :: howmany_rank
Chris@82 302 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 303 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 304 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 305 integer(C_INT), value :: flags
Chris@82 306 end function fftwl_plan_guru64_dft_r2c
Chris@82 307
Chris@82 308 type(C_PTR) function fftwl_plan_guru64_dft_c2r(rank,dims,howmany_rank,howmany_dims,in,out,flags) &
Chris@82 309 bind(C, name='fftwl_plan_guru64_dft_c2r')
Chris@82 310 import
Chris@82 311 integer(C_INT), value :: rank
Chris@82 312 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 313 integer(C_INT), value :: howmany_rank
Chris@82 314 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 315 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: in
Chris@82 316 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 317 integer(C_INT), value :: flags
Chris@82 318 end function fftwl_plan_guru64_dft_c2r
Chris@82 319
Chris@82 320 type(C_PTR) function fftwl_plan_guru64_split_dft_r2c(rank,dims,howmany_rank,howmany_dims,in,ro,io,flags) &
Chris@82 321 bind(C, name='fftwl_plan_guru64_split_dft_r2c')
Chris@82 322 import
Chris@82 323 integer(C_INT), value :: rank
Chris@82 324 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 325 integer(C_INT), value :: howmany_rank
Chris@82 326 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 327 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 328 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 329 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 330 integer(C_INT), value :: flags
Chris@82 331 end function fftwl_plan_guru64_split_dft_r2c
Chris@82 332
Chris@82 333 type(C_PTR) function fftwl_plan_guru64_split_dft_c2r(rank,dims,howmany_rank,howmany_dims,ri,ii,out,flags) &
Chris@82 334 bind(C, name='fftwl_plan_guru64_split_dft_c2r')
Chris@82 335 import
Chris@82 336 integer(C_INT), value :: rank
Chris@82 337 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 338 integer(C_INT), value :: howmany_rank
Chris@82 339 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 340 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ri
Chris@82 341 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ii
Chris@82 342 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 343 integer(C_INT), value :: flags
Chris@82 344 end function fftwl_plan_guru64_split_dft_c2r
Chris@82 345
Chris@82 346 subroutine fftwl_execute_dft_r2c(p,in,out) bind(C, name='fftwl_execute_dft_r2c')
Chris@82 347 import
Chris@82 348 type(C_PTR), value :: p
Chris@82 349 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
Chris@82 350 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(out) :: out
Chris@82 351 end subroutine fftwl_execute_dft_r2c
Chris@82 352
Chris@82 353 subroutine fftwl_execute_dft_c2r(p,in,out) bind(C, name='fftwl_execute_dft_c2r')
Chris@82 354 import
Chris@82 355 type(C_PTR), value :: p
Chris@82 356 complex(C_LONG_DOUBLE_COMPLEX), dimension(*), intent(inout) :: in
Chris@82 357 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 358 end subroutine fftwl_execute_dft_c2r
Chris@82 359
Chris@82 360 subroutine fftwl_execute_split_dft_r2c(p,in,ro,io) bind(C, name='fftwl_execute_split_dft_r2c')
Chris@82 361 import
Chris@82 362 type(C_PTR), value :: p
Chris@82 363 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
Chris@82 364 real(C_LONG_DOUBLE), dimension(*), intent(out) :: ro
Chris@82 365 real(C_LONG_DOUBLE), dimension(*), intent(out) :: io
Chris@82 366 end subroutine fftwl_execute_split_dft_r2c
Chris@82 367
Chris@82 368 subroutine fftwl_execute_split_dft_c2r(p,ri,ii,out) bind(C, name='fftwl_execute_split_dft_c2r')
Chris@82 369 import
Chris@82 370 type(C_PTR), value :: p
Chris@82 371 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: ri
Chris@82 372 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: ii
Chris@82 373 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 374 end subroutine fftwl_execute_split_dft_c2r
Chris@82 375
Chris@82 376 type(C_PTR) function fftwl_plan_many_r2r(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,kind,flags) &
Chris@82 377 bind(C, name='fftwl_plan_many_r2r')
Chris@82 378 import
Chris@82 379 integer(C_INT), value :: rank
Chris@82 380 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 381 integer(C_INT), value :: howmany
Chris@82 382 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 383 integer(C_INT), dimension(*), intent(in) :: inembed
Chris@82 384 integer(C_INT), value :: istride
Chris@82 385 integer(C_INT), value :: idist
Chris@82 386 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 387 integer(C_INT), dimension(*), intent(in) :: onembed
Chris@82 388 integer(C_INT), value :: ostride
Chris@82 389 integer(C_INT), value :: odist
Chris@82 390 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@82 391 integer(C_INT), value :: flags
Chris@82 392 end function fftwl_plan_many_r2r
Chris@82 393
Chris@82 394 type(C_PTR) function fftwl_plan_r2r(rank,n,in,out,kind,flags) bind(C, name='fftwl_plan_r2r')
Chris@82 395 import
Chris@82 396 integer(C_INT), value :: rank
Chris@82 397 integer(C_INT), dimension(*), intent(in) :: n
Chris@82 398 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 399 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 400 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@82 401 integer(C_INT), value :: flags
Chris@82 402 end function fftwl_plan_r2r
Chris@82 403
Chris@82 404 type(C_PTR) function fftwl_plan_r2r_1d(n,in,out,kind,flags) bind(C, name='fftwl_plan_r2r_1d')
Chris@82 405 import
Chris@82 406 integer(C_INT), value :: n
Chris@82 407 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 408 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 409 integer(C_FFTW_R2R_KIND), value :: kind
Chris@82 410 integer(C_INT), value :: flags
Chris@82 411 end function fftwl_plan_r2r_1d
Chris@82 412
Chris@82 413 type(C_PTR) function fftwl_plan_r2r_2d(n0,n1,in,out,kind0,kind1,flags) bind(C, name='fftwl_plan_r2r_2d')
Chris@82 414 import
Chris@82 415 integer(C_INT), value :: n0
Chris@82 416 integer(C_INT), value :: n1
Chris@82 417 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 418 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 419 integer(C_FFTW_R2R_KIND), value :: kind0
Chris@82 420 integer(C_FFTW_R2R_KIND), value :: kind1
Chris@82 421 integer(C_INT), value :: flags
Chris@82 422 end function fftwl_plan_r2r_2d
Chris@82 423
Chris@82 424 type(C_PTR) function fftwl_plan_r2r_3d(n0,n1,n2,in,out,kind0,kind1,kind2,flags) bind(C, name='fftwl_plan_r2r_3d')
Chris@82 425 import
Chris@82 426 integer(C_INT), value :: n0
Chris@82 427 integer(C_INT), value :: n1
Chris@82 428 integer(C_INT), value :: n2
Chris@82 429 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 430 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 431 integer(C_FFTW_R2R_KIND), value :: kind0
Chris@82 432 integer(C_FFTW_R2R_KIND), value :: kind1
Chris@82 433 integer(C_FFTW_R2R_KIND), value :: kind2
Chris@82 434 integer(C_INT), value :: flags
Chris@82 435 end function fftwl_plan_r2r_3d
Chris@82 436
Chris@82 437 type(C_PTR) function fftwl_plan_guru_r2r(rank,dims,howmany_rank,howmany_dims,in,out,kind,flags) &
Chris@82 438 bind(C, name='fftwl_plan_guru_r2r')
Chris@82 439 import
Chris@82 440 integer(C_INT), value :: rank
Chris@82 441 type(fftwl_iodim), dimension(*), intent(in) :: dims
Chris@82 442 integer(C_INT), value :: howmany_rank
Chris@82 443 type(fftwl_iodim), dimension(*), intent(in) :: howmany_dims
Chris@82 444 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 445 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 446 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@82 447 integer(C_INT), value :: flags
Chris@82 448 end function fftwl_plan_guru_r2r
Chris@82 449
Chris@82 450 type(C_PTR) function fftwl_plan_guru64_r2r(rank,dims,howmany_rank,howmany_dims,in,out,kind,flags) &
Chris@82 451 bind(C, name='fftwl_plan_guru64_r2r')
Chris@82 452 import
Chris@82 453 integer(C_INT), value :: rank
Chris@82 454 type(fftwl_iodim64), dimension(*), intent(in) :: dims
Chris@82 455 integer(C_INT), value :: howmany_rank
Chris@82 456 type(fftwl_iodim64), dimension(*), intent(in) :: howmany_dims
Chris@82 457 real(C_LONG_DOUBLE), dimension(*), intent(out) :: in
Chris@82 458 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 459 integer(C_FFTW_R2R_KIND), dimension(*), intent(in) :: kind
Chris@82 460 integer(C_INT), value :: flags
Chris@82 461 end function fftwl_plan_guru64_r2r
Chris@82 462
Chris@82 463 subroutine fftwl_execute_r2r(p,in,out) bind(C, name='fftwl_execute_r2r')
Chris@82 464 import
Chris@82 465 type(C_PTR), value :: p
Chris@82 466 real(C_LONG_DOUBLE), dimension(*), intent(inout) :: in
Chris@82 467 real(C_LONG_DOUBLE), dimension(*), intent(out) :: out
Chris@82 468 end subroutine fftwl_execute_r2r
Chris@82 469
Chris@82 470 subroutine fftwl_destroy_plan(p) bind(C, name='fftwl_destroy_plan')
Chris@82 471 import
Chris@82 472 type(C_PTR), value :: p
Chris@82 473 end subroutine fftwl_destroy_plan
Chris@82 474
Chris@82 475 subroutine fftwl_forget_wisdom() bind(C, name='fftwl_forget_wisdom')
Chris@82 476 import
Chris@82 477 end subroutine fftwl_forget_wisdom
Chris@82 478
Chris@82 479 subroutine fftwl_cleanup() bind(C, name='fftwl_cleanup')
Chris@82 480 import
Chris@82 481 end subroutine fftwl_cleanup
Chris@82 482
Chris@82 483 subroutine fftwl_set_timelimit(t) bind(C, name='fftwl_set_timelimit')
Chris@82 484 import
Chris@82 485 real(C_DOUBLE), value :: t
Chris@82 486 end subroutine fftwl_set_timelimit
Chris@82 487
Chris@82 488 subroutine fftwl_plan_with_nthreads(nthreads) bind(C, name='fftwl_plan_with_nthreads')
Chris@82 489 import
Chris@82 490 integer(C_INT), value :: nthreads
Chris@82 491 end subroutine fftwl_plan_with_nthreads
Chris@82 492
Chris@82 493 integer(C_INT) function fftwl_init_threads() bind(C, name='fftwl_init_threads')
Chris@82 494 import
Chris@82 495 end function fftwl_init_threads
Chris@82 496
Chris@82 497 subroutine fftwl_cleanup_threads() bind(C, name='fftwl_cleanup_threads')
Chris@82 498 import
Chris@82 499 end subroutine fftwl_cleanup_threads
Chris@82 500
Chris@82 501 subroutine fftwl_make_planner_thread_safe() bind(C, name='fftwl_make_planner_thread_safe')
Chris@82 502 import
Chris@82 503 end subroutine fftwl_make_planner_thread_safe
Chris@82 504
Chris@82 505 integer(C_INT) function fftwl_export_wisdom_to_filename(filename) bind(C, name='fftwl_export_wisdom_to_filename')
Chris@82 506 import
Chris@82 507 character(C_CHAR), dimension(*), intent(in) :: filename
Chris@82 508 end function fftwl_export_wisdom_to_filename
Chris@82 509
Chris@82 510 subroutine fftwl_export_wisdom_to_file(output_file) bind(C, name='fftwl_export_wisdom_to_file')
Chris@82 511 import
Chris@82 512 type(C_PTR), value :: output_file
Chris@82 513 end subroutine fftwl_export_wisdom_to_file
Chris@82 514
Chris@82 515 type(C_PTR) function fftwl_export_wisdom_to_string() bind(C, name='fftwl_export_wisdom_to_string')
Chris@82 516 import
Chris@82 517 end function fftwl_export_wisdom_to_string
Chris@82 518
Chris@82 519 subroutine fftwl_export_wisdom(write_char,data) bind(C, name='fftwl_export_wisdom')
Chris@82 520 import
Chris@82 521 type(C_FUNPTR), value :: write_char
Chris@82 522 type(C_PTR), value :: data
Chris@82 523 end subroutine fftwl_export_wisdom
Chris@82 524
Chris@82 525 integer(C_INT) function fftwl_import_system_wisdom() bind(C, name='fftwl_import_system_wisdom')
Chris@82 526 import
Chris@82 527 end function fftwl_import_system_wisdom
Chris@82 528
Chris@82 529 integer(C_INT) function fftwl_import_wisdom_from_filename(filename) bind(C, name='fftwl_import_wisdom_from_filename')
Chris@82 530 import
Chris@82 531 character(C_CHAR), dimension(*), intent(in) :: filename
Chris@82 532 end function fftwl_import_wisdom_from_filename
Chris@82 533
Chris@82 534 integer(C_INT) function fftwl_import_wisdom_from_file(input_file) bind(C, name='fftwl_import_wisdom_from_file')
Chris@82 535 import
Chris@82 536 type(C_PTR), value :: input_file
Chris@82 537 end function fftwl_import_wisdom_from_file
Chris@82 538
Chris@82 539 integer(C_INT) function fftwl_import_wisdom_from_string(input_string) bind(C, name='fftwl_import_wisdom_from_string')
Chris@82 540 import
Chris@82 541 character(C_CHAR), dimension(*), intent(in) :: input_string
Chris@82 542 end function fftwl_import_wisdom_from_string
Chris@82 543
Chris@82 544 integer(C_INT) function fftwl_import_wisdom(read_char,data) bind(C, name='fftwl_import_wisdom')
Chris@82 545 import
Chris@82 546 type(C_FUNPTR), value :: read_char
Chris@82 547 type(C_PTR), value :: data
Chris@82 548 end function fftwl_import_wisdom
Chris@82 549
Chris@82 550 subroutine fftwl_fprint_plan(p,output_file) bind(C, name='fftwl_fprint_plan')
Chris@82 551 import
Chris@82 552 type(C_PTR), value :: p
Chris@82 553 type(C_PTR), value :: output_file
Chris@82 554 end subroutine fftwl_fprint_plan
Chris@82 555
Chris@82 556 subroutine fftwl_print_plan(p) bind(C, name='fftwl_print_plan')
Chris@82 557 import
Chris@82 558 type(C_PTR), value :: p
Chris@82 559 end subroutine fftwl_print_plan
Chris@82 560
Chris@82 561 type(C_PTR) function fftwl_sprint_plan(p) bind(C, name='fftwl_sprint_plan')
Chris@82 562 import
Chris@82 563 type(C_PTR), value :: p
Chris@82 564 end function fftwl_sprint_plan
Chris@82 565
Chris@82 566 type(C_PTR) function fftwl_malloc(n) bind(C, name='fftwl_malloc')
Chris@82 567 import
Chris@82 568 integer(C_SIZE_T), value :: n
Chris@82 569 end function fftwl_malloc
Chris@82 570
Chris@82 571 type(C_PTR) function fftwl_alloc_real(n) bind(C, name='fftwl_alloc_real')
Chris@82 572 import
Chris@82 573 integer(C_SIZE_T), value :: n
Chris@82 574 end function fftwl_alloc_real
Chris@82 575
Chris@82 576 type(C_PTR) function fftwl_alloc_complex(n) bind(C, name='fftwl_alloc_complex')
Chris@82 577 import
Chris@82 578 integer(C_SIZE_T), value :: n
Chris@82 579 end function fftwl_alloc_complex
Chris@82 580
Chris@82 581 subroutine fftwl_free(p) bind(C, name='fftwl_free')
Chris@82 582 import
Chris@82 583 type(C_PTR), value :: p
Chris@82 584 end subroutine fftwl_free
Chris@82 585
Chris@82 586 subroutine fftwl_flops(p,add,mul,fmas) bind(C, name='fftwl_flops')
Chris@82 587 import
Chris@82 588 type(C_PTR), value :: p
Chris@82 589 real(C_DOUBLE), intent(out) :: add
Chris@82 590 real(C_DOUBLE), intent(out) :: mul
Chris@82 591 real(C_DOUBLE), intent(out) :: fmas
Chris@82 592 end subroutine fftwl_flops
Chris@82 593
Chris@82 594 real(C_DOUBLE) function fftwl_estimate_cost(p) bind(C, name='fftwl_estimate_cost')
Chris@82 595 import
Chris@82 596 type(C_PTR), value :: p
Chris@82 597 end function fftwl_estimate_cost
Chris@82 598
Chris@82 599 real(C_DOUBLE) function fftwl_cost(p) bind(C, name='fftwl_cost')
Chris@82 600 import
Chris@82 601 type(C_PTR), value :: p
Chris@82 602 end function fftwl_cost
Chris@82 603
Chris@82 604 integer(C_INT) function fftwl_alignment_of(p) bind(C, name='fftwl_alignment_of')
Chris@82 605 import
Chris@82 606 real(C_LONG_DOUBLE), dimension(*), intent(out) :: p
Chris@82 607 end function fftwl_alignment_of
Chris@82 608
Chris@82 609 end interface