├── README.md ├── build ├── fftw-windows-vs2012 │ ├── bench │ │ ├── bench.vcxproj │ │ └── bench.vcxproj.filters │ ├── benchf │ │ ├── benchf.vcxproj │ │ └── benchf.vcxproj.filters │ ├── fftw-3.6-libs.sln │ ├── libfftw-3.6 │ │ ├── config.h │ │ ├── libfftw-3.6.vcxproj │ │ └── libfftw-3.6.vcxproj.filters │ └── libfftwf-3.6 │ │ ├── config.h │ │ ├── libfftwf-3.6.vcxproj │ │ └── libfftwf-3.6.vcxproj.filters ├── fftw_android.sh ├── fftw_ios.sh ├── fftw_linux.sh └── fftw_macos.sh ├── include └── fftw3.h └── library ├── android └── libfftw3f.a ├── ios └── libfftw3f.a ├── linux └── libfftw3f.a ├── macos └── libfftw3f.a └── win_vs2012 ├── libfftw3f.lib ├── libfftwf-3.6.dll └── libfftwf-3.6.lib /README.md: -------------------------------------------------------------------------------- 1 | # fftw-build 2 | FFTW build solutions and precompiled libraries for linux/android/ios/macos/windows. 3 | 4 | ## Precompiled libraries 5 | 1. Get precompiled library for ***linux*** from [this git repository](https://github.com/godock/fftw-build/tree/master/library/linux). 6 | 2. Get precompiled library for ***android*** from [this git repository](https://github.com/godock/fftw-build/tree/master/library/android). 7 | 3. Get precompiled library for ***ios*** from [this git repository](https://github.com/godock/fftw-build/tree/master/library/ios). 8 | 4. Get precompiled library for ***macos*** from [this git repository](https://github.com/godock/fftw-build/tree/master/library/macos). 9 | 5. Get precompiled library for ***windows*** from [fftw.org windows install page](http://fftw.org/install/windows.html) ***or*** [this git repository](https://github.com/godock/fftw-build/tree/master/library/win_vs2012). 10 | 11 | ## Build Solutions 12 | Prepare fftw source from [fftw.org download](http://fftw.org/download.html). 13 | 14 | #### 1. Build FFTW for Linux/Android/IOS/MacOS 15 | Copy its buildscript in [build folder](https://github.com/godock/fftw-build/tree/master/build) to fftw source folder and run to generate the library. 16 | 17 | #### 2. Build FFTW for Windows 18 | Copy [fftw-windows-vs2012](https://github.com/godock/fftw-build/tree/master/build/fftw-windows-vs2012) to fftw source folder and then load the fftw-3.6-libs.sln by visual studio 2012. 19 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/bench/bench.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | Static-Debug 22 | Win32 23 | 24 | 25 | Static-Debug 26 | x64 27 | 28 | 29 | Static-Release 30 | Win32 31 | 32 | 33 | Static-Release 34 | x64 35 | 36 | 37 | 38 | 39 | $(IntDir)libbench2\ 40 | $(IntDir)libbench2\ 41 | $(IntDir)libbench2\ 42 | $(IntDir)libbench2\ 43 | $(IntDir)libbench2\ 44 | $(IntDir)libbench2\ 45 | 46 | 47 | $(IntDir)libbench2\ 48 | $(IntDir)libbench2\ 49 | $(IntDir)libbench2\ 50 | $(IntDir)libbench2\ 51 | $(IntDir)libbench2\ 52 | $(IntDir)libbench2\ 53 | 54 | 55 | $(IntDir)libbench2\ 56 | $(IntDir)libbench2\ 57 | $(IntDir)libbench2\ 58 | $(IntDir)libbench2\ 59 | $(IntDir)libbench2\ 60 | $(IntDir)libbench2\ 61 | 62 | 63 | $(IntDir)libbench2\ 64 | $(IntDir)libbench2\ 65 | $(IntDir)libbench2\ 66 | $(IntDir)libbench2\ 67 | $(IntDir)libbench2\ 68 | $(IntDir)libbench2\ 69 | 70 | 71 | $(IntDir)libbench2\ 72 | $(IntDir)libbench2\ 73 | $(IntDir)libbench2\ 74 | $(IntDir)libbench2\ 75 | $(IntDir)libbench2\ 76 | $(IntDir)libbench2\ 77 | 78 | 79 | $(IntDir)libbench2\ 80 | $(IntDir)libbench2\ 81 | $(IntDir)libbench2\ 82 | $(IntDir)libbench2\ 83 | $(IntDir)libbench2\ 84 | $(IntDir)libbench2\ 85 | 86 | 87 | $(IntDir)libbench2\ 88 | $(IntDir)libbench2\ 89 | $(IntDir)libbench2\ 90 | $(IntDir)libbench2\ 91 | $(IntDir)libbench2\ 92 | $(IntDir)libbench2\ 93 | 94 | 95 | $(IntDir)libbench2\ 96 | $(IntDir)libbench2\ 97 | $(IntDir)libbench2\ 98 | $(IntDir)libbench2\ 99 | $(IntDir)libbench2\ 100 | $(IntDir)libbench2\ 101 | 102 | 103 | $(IntDir)libbench2\ 104 | $(IntDir)libbench2\ 105 | $(IntDir)libbench2\ 106 | $(IntDir)libbench2\ 107 | $(IntDir)libbench2\ 108 | $(IntDir)libbench2\ 109 | 110 | 111 | $(IntDir)libbench2\ 112 | $(IntDir)libbench2\ 113 | $(IntDir)libbench2\ 114 | $(IntDir)libbench2\ 115 | $(IntDir)libbench2\ 116 | $(IntDir)libbench2\ 117 | 118 | 119 | $(IntDir)libbench2\ 120 | $(IntDir)libbench2\ 121 | $(IntDir)libbench2\ 122 | $(IntDir)libbench2\ 123 | $(IntDir)libbench2\ 124 | $(IntDir)libbench2\ 125 | 126 | 127 | $(IntDir)libbench2\ 128 | $(IntDir)libbench2\ 129 | $(IntDir)libbench2\ 130 | $(IntDir)libbench2\ 131 | $(IntDir)libbench2\ 132 | $(IntDir)libbench2\ 133 | 134 | 135 | $(IntDir)libbench2\ 136 | $(IntDir)libbench2\ 137 | $(IntDir)libbench2\ 138 | $(IntDir)libbench2\ 139 | $(IntDir)libbench2\ 140 | $(IntDir)libbench2\ 141 | 142 | 143 | $(IntDir)libbench2\ 144 | $(IntDir)libbench2\ 145 | $(IntDir)libbench2\ 146 | $(IntDir)libbench2\ 147 | $(IntDir)libbench2\ 148 | $(IntDir)libbench2\ 149 | 150 | 151 | $(IntDir)libbench2\ 152 | $(IntDir)libbench2\ 153 | $(IntDir)libbench2\ 154 | $(IntDir)libbench2\ 155 | $(IntDir)libbench2\ 156 | $(IntDir)libbench2\ 157 | 158 | 159 | $(IntDir)libbench2\ 160 | $(IntDir)libbench2\ 161 | $(IntDir)libbench2\ 162 | $(IntDir)libbench2\ 163 | $(IntDir)libbench2\ 164 | $(IntDir)libbench2\ 165 | 166 | 167 | $(IntDir)libbench2\ 168 | $(IntDir)libbench2\ 169 | $(IntDir)libbench2\ 170 | $(IntDir)libbench2\ 171 | $(IntDir)libbench2\ 172 | $(IntDir)libbench2\ 173 | 174 | 175 | $(IntDir)libbench2\ 176 | $(IntDir)libbench2\ 177 | $(IntDir)libbench2\ 178 | $(IntDir)libbench2\ 179 | $(IntDir)libbench2\ 180 | $(IntDir)libbench2\ 181 | 182 | 183 | $(IntDir)libbench2\ 184 | $(IntDir)libbench2\ 185 | $(IntDir)libbench2\ 186 | $(IntDir)libbench2\ 187 | $(IntDir)libbench2\ 188 | $(IntDir)libbench2\ 189 | 190 | 191 | $(IntDir)libbench2\ 192 | $(IntDir)libbench2\ 193 | $(IntDir)libbench2\ 194 | $(IntDir)libbench2\ 195 | $(IntDir)libbench2\ 196 | $(IntDir)libbench2\ 197 | 198 | 199 | $(IntDir)libbench2\ 200 | $(IntDir)libbench2\ 201 | $(IntDir)libbench2\ 202 | $(IntDir)libbench2\ 203 | $(IntDir)libbench2\ 204 | $(IntDir)libbench2\ 205 | 206 | 207 | $(IntDir)libbench2\ 208 | $(IntDir)libbench2\ 209 | $(IntDir)libbench2\ 210 | $(IntDir)libbench2\ 211 | $(IntDir)libbench2\ 212 | $(IntDir)libbench2\ 213 | 214 | 215 | $(IntDir)libbench2\ 216 | $(IntDir)libbench2\ 217 | $(IntDir)libbench2\ 218 | $(IntDir)libbench2\ 219 | $(IntDir)libbench2\ 220 | $(IntDir)libbench2\ 221 | 222 | 223 | $(IntDir)libbench2\ 224 | $(IntDir)libbench2\ 225 | $(IntDir)libbench2\ 226 | $(IntDir)libbench2\ 227 | $(IntDir)libbench2\ 228 | $(IntDir)libbench2\ 229 | 230 | 231 | $(IntDir)libbench2\ 232 | $(IntDir)libbench2\ 233 | $(IntDir)libbench2\ 234 | $(IntDir)libbench2\ 235 | $(IntDir)libbench2\ 236 | $(IntDir)libbench2\ 237 | 238 | 239 | $(IntDir)libbench2\ 240 | $(IntDir)libbench2\ 241 | $(IntDir)libbench2\ 242 | $(IntDir)libbench2\ 243 | $(IntDir)libbench2\ 244 | $(IntDir)libbench2\ 245 | 246 | 247 | $(IntDir)libbench2\ 248 | $(IntDir)libbench2\ 249 | $(IntDir)libbench2\ 250 | $(IntDir)libbench2\ 251 | $(IntDir)libbench2\ 252 | $(IntDir)libbench2\ 253 | 254 | 255 | $(IntDir)libbench2\ 256 | $(IntDir)libbench2\ 257 | $(IntDir)libbench2\ 258 | $(IntDir)libbench2\ 259 | $(IntDir)libbench2\ 260 | $(IntDir)libbench2\ 261 | 262 | 263 | $(IntDir)libbench2\ 264 | $(IntDir)libbench2\ 265 | $(IntDir)libbench2\ 266 | $(IntDir)libbench2\ 267 | $(IntDir)libbench2\ 268 | $(IntDir)libbench2\ 269 | 270 | 271 | $(IntDir)libbench2\ 272 | $(IntDir)libbench2\ 273 | $(IntDir)libbench2\ 274 | $(IntDir)libbench2\ 275 | $(IntDir)libbench2\ 276 | $(IntDir)libbench2\ 277 | 278 | 279 | $(IntDir)libbench2\ 280 | $(IntDir)libbench2\ 281 | $(IntDir)libbench2\ 282 | $(IntDir)libbench2\ 283 | $(IntDir)libbench2\ 284 | $(IntDir)libbench2\ 285 | 286 | 287 | $(IntDir)libbench2\ 288 | $(IntDir)libbench2\ 289 | $(IntDir)libbench2\ 290 | $(IntDir)libbench2\ 291 | $(IntDir)libbench2\ 292 | $(IntDir)libbench2\ 293 | 294 | 295 | $(IntDir)libbench2\ 296 | $(IntDir)libbench2\ 297 | $(IntDir)libbench2\ 298 | $(IntDir)libbench2\ 299 | $(IntDir)libbench2\ 300 | $(IntDir)libbench2\ 301 | 302 | 303 | $(IntDir)bench\ 304 | $(IntDir)bench\ 305 | $(IntDir)bench\ 306 | $(IntDir)bench\ 307 | $(IntDir)bench\ 308 | $(IntDir)bench\ 309 | 310 | 311 | $(IntDir)bench\ 312 | $(IntDir)bench\ 313 | $(IntDir)bench\ 314 | $(IntDir)bench\ 315 | $(IntDir)bench\ 316 | $(IntDir)bench\ 317 | 318 | 319 | $(IntDir)bench\ 320 | $(IntDir)bench\ 321 | $(IntDir)bench\ 322 | $(IntDir)bench\ 323 | $(IntDir)bench\ 324 | $(IntDir)bench\ 325 | 326 | 327 | 328 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5} 329 | Win32Proj 330 | bench 331 | 332 | 333 | 334 | Application 335 | true 336 | Unicode 337 | v110 338 | 339 | 340 | Application 341 | true 342 | Unicode 343 | v110 344 | 345 | 346 | Application 347 | false 348 | true 349 | MultiByte 350 | v110 351 | 352 | 353 | Application 354 | false 355 | true 356 | Unicode 357 | v110 358 | 359 | 360 | Application 361 | false 362 | true 363 | Unicode 364 | v110 365 | 366 | 367 | Application 368 | false 369 | true 370 | Unicode 371 | v110 372 | 373 | 374 | Application 375 | false 376 | false 377 | Unicode 378 | v110 379 | 380 | 381 | Application 382 | false 383 | false 384 | Unicode 385 | v110 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | true 417 | 418 | 419 | true 420 | 421 | 422 | false 423 | 424 | 425 | false 426 | 427 | 428 | false 429 | 430 | 431 | false 432 | 433 | 434 | false 435 | 436 | 437 | false 438 | 439 | 440 | 441 | 442 | 443 | Level3 444 | Disabled 445 | FFTW_DLL;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 446 | true 447 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 448 | AdvancedVectorExtensions 449 | true 450 | MultiThreadedDebug 451 | 452 | 453 | Console 454 | true 455 | $(ProjectDir)..\Debug\ 456 | libfftw-3.6.lib;%(AdditionalDependencies) 457 | 458 | 459 | 460 | 461 | 462 | 463 | Level3 464 | Disabled 465 | FFTW_DLL;WIN64;_WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 466 | false 467 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 468 | StreamingSIMDExtensions2 469 | true 470 | MultiThreadedDebug 471 | 472 | 473 | Console 474 | true 475 | $(ProjectDir)..\X64\Debug\ 476 | libfftw-3.6.lib;%(AdditionalDependencies) 477 | 478 | 479 | 480 | 481 | Level3 482 | 483 | 484 | MaxSpeed 485 | true 486 | true 487 | FFTW_DLL;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 488 | true 489 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 490 | AdvancedVectorExtensions 491 | 492 | 493 | Console 494 | true 495 | true 496 | true 497 | $(ProjectDir)..\Release\ 498 | libfftw-3.6.lib;%(AdditionalDependencies) 499 | 500 | 501 | 502 | 503 | Level3 504 | 505 | 506 | MaxSpeed 507 | true 508 | true 509 | FFTW_DLL;WIN64;_WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 510 | true 511 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 512 | StreamingSIMDExtensions2 513 | MultiThreaded 514 | 515 | 516 | Console 517 | true 518 | true 519 | true 520 | $(ProjectDir)..\X64\Release\ 521 | libfftw-3.6.lib;%(AdditionalDependencies) 522 | 523 | 524 | 525 | 526 | Level3 527 | 528 | 529 | MaxSpeed 530 | true 531 | true 532 | _WIN32;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 533 | true 534 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 535 | AdvancedVectorExtensions 536 | 537 | 538 | Console 539 | true 540 | true 541 | true 542 | $(ProjectDir)..\Static-Release\;%(AdditionalLibraryDirectories) 543 | libfftw-3.6.lib;%(AdditionalDependencies) 544 | 545 | 546 | 547 | 548 | Level3 549 | 550 | 551 | MaxSpeed 552 | true 553 | true 554 | _WIN64;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 555 | true 556 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 557 | StreamingSIMDExtensions2 558 | MultiThreaded 559 | 560 | 561 | Console 562 | true 563 | true 564 | true 565 | $(ProjectDir)..\X64\Static-Release\;%(AdditionalLibraryDirectories) 566 | libfftw-3.6.lib;%(AdditionalDependencies) 567 | 568 | 569 | 570 | 571 | Level3 572 | 573 | 574 | Disabled 575 | 576 | 577 | false 578 | WIN32;_WIN32;_DEBUG;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) 579 | true 580 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 581 | AdvancedVectorExtensions 582 | MultiThreadedDebug 583 | Default 584 | ProgramDatabase 585 | 586 | 587 | Console 588 | true 589 | true 590 | true 591 | $(ProjectDir)..\Static-Debug\;%(AdditionalLibraryDirectories) 592 | libfftw-3.6.lib;%(AdditionalDependencies) 593 | 594 | 595 | 596 | 597 | Level3 598 | 599 | 600 | Disabled 601 | 602 | 603 | false 604 | WIN64;_WIN64;_DEBUG;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) 605 | true 606 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftw-3.6\;%(AdditionalIncludeDirectories) 607 | StreamingSIMDExtensions2 608 | MultiThreadedDebug 609 | Default 610 | ProgramDatabase 611 | 612 | 613 | Console 614 | true 615 | true 616 | true 617 | $(ProjectDir)..\X64\Static-Debug\;%(AdditionalLibraryDirectories) 618 | libfftw-3.6.lib;%(AdditionalDependencies) 619 | 620 | 621 | 622 | 623 | 624 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/bench/bench.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {b2aeefc3-9e90-448f-bd9b-06dba0c8cdc0} 18 | 19 | 20 | {def61918-8019-481a-a18b-3aceecd21315} 21 | 22 | 23 | 24 | 25 | Source Files\libbench2 26 | 27 | 28 | Source Files\libbench2 29 | 30 | 31 | Source Files\libbench2 32 | 33 | 34 | Source Files\libbench2 35 | 36 | 37 | Source Files\libbench2 38 | 39 | 40 | Source Files\libbench2 41 | 42 | 43 | Source Files\libbench2 44 | 45 | 46 | Source Files\libbench2 47 | 48 | 49 | Source Files\libbench2 50 | 51 | 52 | Source Files\libbench2 53 | 54 | 55 | Source Files\libbench2 56 | 57 | 58 | Source Files\libbench2 59 | 60 | 61 | Source Files\libbench2 62 | 63 | 64 | Source Files\libbench2 65 | 66 | 67 | Source Files\libbench2 68 | 69 | 70 | Source Files\libbench2 71 | 72 | 73 | Source Files\libbench2 74 | 75 | 76 | Source Files\libbench2 77 | 78 | 79 | Source Files\libbench2 80 | 81 | 82 | Source Files\libbench2 83 | 84 | 85 | Source Files\libbench2 86 | 87 | 88 | Source Files\libbench2 89 | 90 | 91 | Source Files\libbench2 92 | 93 | 94 | Source Files\libbench2 95 | 96 | 97 | Source Files\libbench2 98 | 99 | 100 | Source Files\libbench2 101 | 102 | 103 | Source Files\libbench2 104 | 105 | 106 | Source Files\libbench2 107 | 108 | 109 | Source Files\libbench2 110 | 111 | 112 | Source Files\libbench2 113 | 114 | 115 | Source Files\libbench2 116 | 117 | 118 | Source Files\libbench2 119 | 120 | 121 | Source Files\libbench2 122 | 123 | 124 | Source Files\bench 125 | 126 | 127 | Source Files\bench 128 | 129 | 130 | Source Files\bench 131 | 132 | 133 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/benchf/benchf.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | Static-Debug 22 | Win32 23 | 24 | 25 | Static-Debug 26 | x64 27 | 28 | 29 | Static-Release 30 | Win32 31 | 32 | 33 | Static-Release 34 | x64 35 | 36 | 37 | 38 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6} 39 | Win32Proj 40 | benchf 41 | 42 | 43 | 44 | Application 45 | true 46 | Unicode 47 | v110 48 | 49 | 50 | Application 51 | true 52 | Unicode 53 | v110 54 | 55 | 56 | Application 57 | true 58 | Unicode 59 | v110 60 | 61 | 62 | Application 63 | true 64 | Unicode 65 | v110 66 | 67 | 68 | Application 69 | false 70 | true 71 | Unicode 72 | v110 73 | 74 | 75 | Application 76 | false 77 | true 78 | Unicode 79 | v110 80 | 81 | 82 | Application 83 | false 84 | true 85 | Unicode 86 | v110 87 | 88 | 89 | Application 90 | false 91 | true 92 | Unicode 93 | v110 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | true 125 | 126 | 127 | true 128 | 129 | 130 | true 131 | 132 | 133 | true 134 | 135 | 136 | false 137 | 138 | 139 | false 140 | 141 | 142 | false 143 | 144 | 145 | false 146 | 147 | 148 | 149 | 150 | 151 | Level3 152 | Disabled 153 | FFTW_DLL;_WIN32;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 154 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 155 | AdvancedVectorExtensions 156 | true 157 | MultiThreadedDebug 158 | 159 | 160 | Console 161 | true 162 | $(ProjectDir)..\Debug\ 163 | libfftwf-3.6.lib;%(AdditionalDependencies) 164 | 165 | 166 | 167 | 168 | 169 | 170 | Level3 171 | Disabled 172 | FFTW_DLL;_WIN64;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 173 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 174 | StreamingSIMDExtensions 175 | true 176 | MultiThreadedDebug 177 | 178 | 179 | Console 180 | true 181 | $(ProjectDir)..\X64\Debug\ 182 | libfftwf-3.6.lib;%(AdditionalDependencies) 183 | 184 | 185 | 186 | 187 | 188 | 189 | Level3 190 | Disabled 191 | _WIN32;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 192 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 193 | AdvancedVectorExtensions 194 | true 195 | MultiThreadedDebug 196 | 197 | 198 | Console 199 | true 200 | $(ProjectDir)..\Static-Debug\ 201 | libfftwf-3.6.lib;%(AdditionalDependencies) 202 | 203 | 204 | 205 | 206 | 207 | 208 | Level3 209 | Disabled 210 | _WIN64;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 211 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 212 | StreamingSIMDExtensions 213 | true 214 | MultiThreadedDebug 215 | 216 | 217 | Console 218 | true 219 | $(ProjectDir)..\X64\Static-Debug\ 220 | libfftwf-3.6.lib;%(AdditionalDependencies) 221 | 222 | 223 | 224 | 225 | Level3 226 | 227 | 228 | MaxSpeed 229 | true 230 | true 231 | FFTW_DLL;_WIN32;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 232 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 233 | AdvancedVectorExtensions 234 | true 235 | 236 | 237 | Console 238 | true 239 | true 240 | true 241 | $(ProjectDir)..\Release\ 242 | libfftwf-3.6.lib;%(AdditionalDependencies) 243 | 244 | 245 | 246 | 247 | Level3 248 | 249 | 250 | MaxSpeed 251 | true 252 | true 253 | FFTW_DLL;_WIN64;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 254 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 255 | StreamingSIMDExtensions 256 | true 257 | MultiThreaded 258 | 259 | 260 | Console 261 | true 262 | true 263 | true 264 | $(ProjectDir)..\X64\Release\ 265 | libfftwf-3.6.lib;%(AdditionalDependencies) 266 | 267 | 268 | 269 | 270 | Level3 271 | 272 | 273 | MaxSpeed 274 | true 275 | true 276 | _WIN32;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 277 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 278 | AdvancedVectorExtensions 279 | true 280 | 281 | 282 | Console 283 | true 284 | true 285 | true 286 | $(ProjectDir)..\Static-Release\ 287 | libfftwf-3.6.lib;%(AdditionalDependencies) 288 | 289 | 290 | 291 | 292 | Level3 293 | 294 | 295 | MaxSpeed 296 | true 297 | true 298 | _WIN64;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 299 | $(ProjectDir)..\..\api\;$(ProjectDir)..\..\dft\;$(ProjectDir)..\..\rdft\;$(ProjectDir)..\..\kernel\;$(ProjectDir)..\..\libbench2\;$(ProjectDir)..\libfftwf-3.6\ 300 | StreamingSIMDExtensions 301 | true 302 | MultiThreaded 303 | 304 | 305 | Console 306 | true 307 | true 308 | true 309 | $(ProjectDir)..\X64\Static-Release\ 310 | libfftwf-3.6.lib;%(AdditionalDependencies) 311 | 312 | 313 | 314 | 315 | $(IntDir)libbench2\ 316 | $(IntDir)libbench2\ 317 | $(IntDir)libbench2\ 318 | $(IntDir)libbench2\ 319 | $(IntDir)libbench2\ 320 | $(IntDir)libbench2\ 321 | $(IntDir)libbench2\ 322 | $(IntDir)libbench2\ 323 | 324 | 325 | $(IntDir)libbench2\ 326 | $(IntDir)libbench2\ 327 | $(IntDir)libbench2\ 328 | $(IntDir)libbench2\ 329 | $(IntDir)libbench2\ 330 | $(IntDir)libbench2\ 331 | $(IntDir)libbench2\ 332 | $(IntDir)libbench2\ 333 | 334 | 335 | $(IntDir)libbench2\ 336 | $(IntDir)libbench2\ 337 | $(IntDir)libbench2\ 338 | $(IntDir)libbench2\ 339 | $(IntDir)libbench2\ 340 | $(IntDir)libbench2\ 341 | $(IntDir)libbench2\ 342 | $(IntDir)libbench2\ 343 | 344 | 345 | $(IntDir)libbench2\ 346 | $(IntDir)libbench2\ 347 | $(IntDir)libbench2\ 348 | $(IntDir)libbench2\ 349 | $(IntDir)libbench2\ 350 | $(IntDir)libbench2\ 351 | $(IntDir)libbench2\ 352 | $(IntDir)libbench2\ 353 | 354 | 355 | $(IntDir)libbench2\ 356 | $(IntDir)libbench2\ 357 | $(IntDir)libbench2\ 358 | $(IntDir)libbench2\ 359 | $(IntDir)libbench2\ 360 | $(IntDir)libbench2\ 361 | $(IntDir)libbench2\ 362 | $(IntDir)libbench2\ 363 | 364 | 365 | $(IntDir)libbench2\ 366 | $(IntDir)libbench2\ 367 | $(IntDir)libbench2\ 368 | $(IntDir)libbench2\ 369 | $(IntDir)libbench2\ 370 | $(IntDir)libbench2\ 371 | $(IntDir)libbench2\ 372 | $(IntDir)libbench2\ 373 | 374 | 375 | $(IntDir)libbench2\ 376 | $(IntDir)libbench2\ 377 | $(IntDir)libbench2\ 378 | $(IntDir)libbench2\ 379 | $(IntDir)libbench2\ 380 | $(IntDir)libbench2\ 381 | $(IntDir)libbench2\ 382 | $(IntDir)libbench2\ 383 | 384 | 385 | $(IntDir)libbench2\ 386 | $(IntDir)libbench2\ 387 | $(IntDir)libbench2\ 388 | $(IntDir)libbench2\ 389 | $(IntDir)libbench2\ 390 | $(IntDir)libbench2\ 391 | $(IntDir)libbench2\ 392 | $(IntDir)libbench2\ 393 | 394 | 395 | $(IntDir)libbench2\ 396 | $(IntDir)libbench2\ 397 | $(IntDir)libbench2\ 398 | $(IntDir)libbench2\ 399 | $(IntDir)libbench2\ 400 | $(IntDir)libbench2\ 401 | $(IntDir)libbench2\ 402 | $(IntDir)libbench2\ 403 | 404 | 405 | $(IntDir)libbench2\ 406 | $(IntDir)libbench2\ 407 | $(IntDir)libbench2\ 408 | $(IntDir)libbench2\ 409 | $(IntDir)libbench2\ 410 | $(IntDir)libbench2\ 411 | $(IntDir)libbench2\ 412 | $(IntDir)libbench2\ 413 | 414 | 415 | $(IntDir)libbench2\ 416 | $(IntDir)libbench2\ 417 | $(IntDir)libbench2\ 418 | $(IntDir)libbench2\ 419 | $(IntDir)libbench2\ 420 | $(IntDir)libbench2\ 421 | $(IntDir)libbench2\ 422 | $(IntDir)libbench2\ 423 | 424 | 425 | $(IntDir)libbench2\ 426 | $(IntDir)libbench2\ 427 | $(IntDir)libbench2\ 428 | $(IntDir)libbench2\ 429 | $(IntDir)libbench2\ 430 | $(IntDir)libbench2\ 431 | $(IntDir)libbench2\ 432 | $(IntDir)libbench2\ 433 | 434 | 435 | $(IntDir)libbench2\ 436 | $(IntDir)libbench2\ 437 | $(IntDir)libbench2\ 438 | $(IntDir)libbench2\ 439 | $(IntDir)libbench2\ 440 | $(IntDir)libbench2\ 441 | $(IntDir)libbench2\ 442 | $(IntDir)libbench2\ 443 | 444 | 445 | $(IntDir)libbench2\ 446 | $(IntDir)libbench2\ 447 | $(IntDir)libbench2\ 448 | $(IntDir)libbench2\ 449 | $(IntDir)libbench2\ 450 | $(IntDir)libbench2\ 451 | $(IntDir)libbench2\ 452 | $(IntDir)libbench2\ 453 | 454 | 455 | $(IntDir)libbench2\ 456 | $(IntDir)libbench2\ 457 | $(IntDir)libbench2\ 458 | $(IntDir)libbench2\ 459 | $(IntDir)libbench2\ 460 | $(IntDir)libbench2\ 461 | $(IntDir)libbench2\ 462 | $(IntDir)libbench2\ 463 | 464 | 465 | $(IntDir)libbench2\ 466 | $(IntDir)libbench2\ 467 | $(IntDir)libbench2\ 468 | $(IntDir)libbench2\ 469 | $(IntDir)libbench2\ 470 | $(IntDir)libbench2\ 471 | $(IntDir)libbench2\ 472 | $(IntDir)libbench2\ 473 | 474 | 475 | $(IntDir)libbench2\ 476 | $(IntDir)libbench2\ 477 | $(IntDir)libbench2\ 478 | $(IntDir)libbench2\ 479 | $(IntDir)libbench2\ 480 | $(IntDir)libbench2\ 481 | $(IntDir)libbench2\ 482 | $(IntDir)libbench2\ 483 | 484 | 485 | $(IntDir)libbench2\ 486 | $(IntDir)libbench2\ 487 | $(IntDir)libbench2\ 488 | $(IntDir)libbench2\ 489 | $(IntDir)libbench2\ 490 | $(IntDir)libbench2\ 491 | $(IntDir)libbench2\ 492 | $(IntDir)libbench2\ 493 | 494 | 495 | $(IntDir)libbench2\ 496 | $(IntDir)libbench2\ 497 | $(IntDir)libbench2\ 498 | $(IntDir)libbench2\ 499 | $(IntDir)libbench2\ 500 | $(IntDir)libbench2\ 501 | $(IntDir)libbench2\ 502 | $(IntDir)libbench2\ 503 | 504 | 505 | $(IntDir)libbench2\ 506 | $(IntDir)libbench2\ 507 | $(IntDir)libbench2\ 508 | $(IntDir)libbench2\ 509 | $(IntDir)libbench2\ 510 | $(IntDir)libbench2\ 511 | $(IntDir)libbench2\ 512 | $(IntDir)libbench2\ 513 | 514 | 515 | $(IntDir)libbench2\ 516 | $(IntDir)libbench2\ 517 | $(IntDir)libbench2\ 518 | $(IntDir)libbench2\ 519 | $(IntDir)libbench2\ 520 | $(IntDir)libbench2\ 521 | $(IntDir)libbench2\ 522 | $(IntDir)libbench2\ 523 | 524 | 525 | $(IntDir)libbench2\ 526 | $(IntDir)libbench2\ 527 | $(IntDir)libbench2\ 528 | $(IntDir)libbench2\ 529 | $(IntDir)libbench2\ 530 | $(IntDir)libbench2\ 531 | $(IntDir)libbench2\ 532 | $(IntDir)libbench2\ 533 | 534 | 535 | $(IntDir)libbench2\ 536 | $(IntDir)libbench2\ 537 | $(IntDir)libbench2\ 538 | $(IntDir)libbench2\ 539 | $(IntDir)libbench2\ 540 | $(IntDir)libbench2\ 541 | $(IntDir)libbench2\ 542 | $(IntDir)libbench2\ 543 | 544 | 545 | $(IntDir)libbench2\ 546 | $(IntDir)libbench2\ 547 | $(IntDir)libbench2\ 548 | $(IntDir)libbench2\ 549 | $(IntDir)libbench2\ 550 | $(IntDir)libbench2\ 551 | $(IntDir)libbench2\ 552 | $(IntDir)libbench2\ 553 | 554 | 555 | $(IntDir)libbench2\ 556 | $(IntDir)libbench2\ 557 | $(IntDir)libbench2\ 558 | $(IntDir)libbench2\ 559 | $(IntDir)libbench2\ 560 | $(IntDir)libbench2\ 561 | $(IntDir)libbench2\ 562 | $(IntDir)libbench2\ 563 | 564 | 565 | $(IntDir)libbench2\ 566 | $(IntDir)libbench2\ 567 | $(IntDir)libbench2\ 568 | $(IntDir)libbench2\ 569 | $(IntDir)libbench2\ 570 | $(IntDir)libbench2\ 571 | $(IntDir)libbench2\ 572 | $(IntDir)libbench2\ 573 | 574 | 575 | $(IntDir)libbench2\ 576 | $(IntDir)libbench2\ 577 | $(IntDir)libbench2\ 578 | $(IntDir)libbench2\ 579 | $(IntDir)libbench2\ 580 | $(IntDir)libbench2\ 581 | $(IntDir)libbench2\ 582 | $(IntDir)libbench2\ 583 | 584 | 585 | $(IntDir)libbench2\ 586 | $(IntDir)libbench2\ 587 | $(IntDir)libbench2\ 588 | $(IntDir)libbench2\ 589 | $(IntDir)libbench2\ 590 | $(IntDir)libbench2\ 591 | $(IntDir)libbench2\ 592 | $(IntDir)libbench2\ 593 | 594 | 595 | $(IntDir)libbench2\ 596 | $(IntDir)libbench2\ 597 | $(IntDir)libbench2\ 598 | $(IntDir)libbench2\ 599 | $(IntDir)libbench2\ 600 | $(IntDir)libbench2\ 601 | $(IntDir)libbench2\ 602 | $(IntDir)libbench2\ 603 | 604 | 605 | $(IntDir)libbench2\ 606 | $(IntDir)libbench2\ 607 | $(IntDir)libbench2\ 608 | $(IntDir)libbench2\ 609 | $(IntDir)libbench2\ 610 | $(IntDir)libbench2\ 611 | $(IntDir)libbench2\ 612 | $(IntDir)libbench2\ 613 | 614 | 615 | $(IntDir)libbench2\ 616 | $(IntDir)libbench2\ 617 | $(IntDir)libbench2\ 618 | $(IntDir)libbench2\ 619 | $(IntDir)libbench2\ 620 | $(IntDir)libbench2\ 621 | $(IntDir)libbench2\ 622 | $(IntDir)libbench2\ 623 | 624 | 625 | $(IntDir)libbench2\ 626 | $(IntDir)libbench2\ 627 | $(IntDir)libbench2\ 628 | $(IntDir)libbench2\ 629 | $(IntDir)libbench2\ 630 | $(IntDir)libbench2\ 631 | $(IntDir)libbench2\ 632 | $(IntDir)libbench2\ 633 | 634 | 635 | $(IntDir)libbench2\ 636 | $(IntDir)libbench2\ 637 | $(IntDir)libbench2\ 638 | $(IntDir)libbench2\ 639 | $(IntDir)libbench2\ 640 | $(IntDir)libbench2\ 641 | $(IntDir)libbench2\ 642 | $(IntDir)libbench2\ 643 | 644 | 645 | $(IntDir)bench\ 646 | $(IntDir)bench\ 647 | $(IntDir)bench\ 648 | $(IntDir)bench\ 649 | $(IntDir)bench\ 650 | $(IntDir)bench\ 651 | $(IntDir)bench\ 652 | $(IntDir)bench\ 653 | 654 | 655 | $(IntDir)bench\ 656 | $(IntDir)bench\ 657 | $(IntDir)bench\ 658 | $(IntDir)bench\ 659 | $(IntDir)bench\ 660 | $(IntDir)bench\ 661 | $(IntDir)bench\ 662 | $(IntDir)bench\ 663 | 664 | 665 | $(IntDir)bench\ 666 | $(IntDir)bench\ 667 | $(IntDir)bench\ 668 | $(IntDir)bench\ 669 | $(IntDir)bench\ 670 | $(IntDir)bench\ 671 | $(IntDir)bench\ 672 | $(IntDir)bench\ 673 | 674 | 675 | 676 | 677 | 678 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/benchf/benchf.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {39facc6e-60e6-4ded-986f-1dd15e28bcb9} 18 | 19 | 20 | {ae53eb16-dec2-4cc0-bcd5-1f79c5a30d04} 21 | 22 | 23 | 24 | 25 | Source Files\libbench2 26 | 27 | 28 | Source Files\libbench2 29 | 30 | 31 | Source Files\libbench2 32 | 33 | 34 | Source Files\libbench2 35 | 36 | 37 | Source Files\libbench2 38 | 39 | 40 | Source Files\libbench2 41 | 42 | 43 | Source Files\libbench2 44 | 45 | 46 | Source Files\libbench2 47 | 48 | 49 | Source Files\libbench2 50 | 51 | 52 | Source Files\libbench2 53 | 54 | 55 | Source Files\libbench2 56 | 57 | 58 | Source Files\libbench2 59 | 60 | 61 | Source Files\libbench2 62 | 63 | 64 | Source Files\libbench2 65 | 66 | 67 | Source Files\libbench2 68 | 69 | 70 | Source Files\libbench2 71 | 72 | 73 | Source Files\libbench2 74 | 75 | 76 | Source Files\libbench2 77 | 78 | 79 | Source Files\libbench2 80 | 81 | 82 | Source Files\libbench2 83 | 84 | 85 | Source Files\libbench2 86 | 87 | 88 | Source Files\libbench2 89 | 90 | 91 | Source Files\libbench2 92 | 93 | 94 | Source Files\libbench2 95 | 96 | 97 | Source Files\libbench2 98 | 99 | 100 | Source Files\libbench2 101 | 102 | 103 | Source Files\libbench2 104 | 105 | 106 | Source Files\libbench2 107 | 108 | 109 | Source Files\libbench2 110 | 111 | 112 | Source Files\libbench2 113 | 114 | 115 | Source Files\libbench2 116 | 117 | 118 | Source Files\libbench2 119 | 120 | 121 | Source Files\libbench2 122 | 123 | 124 | Source Files\bench 125 | 126 | 127 | Source Files\bench 128 | 129 | 130 | Source Files\bench 131 | 132 | 133 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/fftw-3.6-libs.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfftwf-3.6", "libfftwf-3.6\libfftwf-3.6.vcxproj", "{2482251C-2F99-4779-B61D-B091852B4A36}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfftw-3.6", "libfftw-3.6\libfftw-3.6.vcxproj", "{EA3DCC95-2423-4EA0-A508-7A427B4C0594}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "benchf", "benchf\benchf.vcxproj", "{456BCE80-9C5E-46D1-9597-CC3E2FE647E6}" 9 | ProjectSection(ProjectDependencies) = postProject 10 | {2482251C-2F99-4779-B61D-B091852B4A36} = {2482251C-2F99-4779-B61D-B091852B4A36} 11 | EndProjectSection 12 | EndProject 13 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bench", "bench\bench.vcxproj", "{64D2C338-62CF-4443-B8A3-FD1EB571BCA5}" 14 | ProjectSection(ProjectDependencies) = postProject 15 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594} = {EA3DCC95-2423-4EA0-A508-7A427B4C0594} 16 | EndProjectSection 17 | EndProject 18 | Global 19 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 20 | Debug|Win32 = Debug|Win32 21 | Debug|x64 = Debug|x64 22 | Release|Win32 = Release|Win32 23 | Release|x64 = Release|x64 24 | Static-Debug|Win32 = Static-Debug|Win32 25 | Static-Debug|x64 = Static-Debug|x64 26 | Static-Release|Win32 = Static-Release|Win32 27 | Static-Release|x64 = Static-Release|x64 28 | EndGlobalSection 29 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 30 | {2482251C-2F99-4779-B61D-B091852B4A36}.Debug|Win32.ActiveCfg = Debug|Win32 31 | {2482251C-2F99-4779-B61D-B091852B4A36}.Debug|Win32.Build.0 = Debug|Win32 32 | {2482251C-2F99-4779-B61D-B091852B4A36}.Debug|x64.ActiveCfg = Debug|x64 33 | {2482251C-2F99-4779-B61D-B091852B4A36}.Debug|x64.Build.0 = Debug|x64 34 | {2482251C-2F99-4779-B61D-B091852B4A36}.Release|Win32.ActiveCfg = Release|Win32 35 | {2482251C-2F99-4779-B61D-B091852B4A36}.Release|Win32.Build.0 = Release|Win32 36 | {2482251C-2F99-4779-B61D-B091852B4A36}.Release|x64.ActiveCfg = Release|x64 37 | {2482251C-2F99-4779-B61D-B091852B4A36}.Release|x64.Build.0 = Release|x64 38 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Debug|Win32.ActiveCfg = Static-Debug|Win32 39 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Debug|Win32.Build.0 = Static-Debug|Win32 40 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 41 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Debug|x64.Build.0 = Static-Debug|x64 42 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Release|Win32.ActiveCfg = Static-Release|Win32 43 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Release|Win32.Build.0 = Static-Release|Win32 44 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Release|x64.ActiveCfg = Static-Release|x64 45 | {2482251C-2F99-4779-B61D-B091852B4A36}.Static-Release|x64.Build.0 = Static-Release|x64 46 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Debug|Win32.ActiveCfg = Debug|Win32 47 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Debug|Win32.Build.0 = Debug|Win32 48 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Debug|x64.ActiveCfg = Debug|x64 49 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Debug|x64.Build.0 = Debug|x64 50 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Release|Win32.ActiveCfg = Release|Win32 51 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Release|Win32.Build.0 = Release|Win32 52 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Release|x64.ActiveCfg = Release|x64 53 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Release|x64.Build.0 = Release|x64 54 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Debug|Win32.ActiveCfg = Static-Debug|Win32 55 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Debug|Win32.Build.0 = Static-Debug|Win32 56 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 57 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Debug|x64.Build.0 = Static-Debug|x64 58 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Release|Win32.ActiveCfg = Static-Release|Win32 59 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Release|Win32.Build.0 = Static-Release|Win32 60 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Release|x64.ActiveCfg = Static-Release|x64 61 | {EA3DCC95-2423-4EA0-A508-7A427B4C0594}.Static-Release|x64.Build.0 = Static-Release|x64 62 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Debug|Win32.ActiveCfg = Debug|Win32 63 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Debug|Win32.Build.0 = Debug|Win32 64 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Debug|x64.ActiveCfg = Debug|x64 65 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Debug|x64.Build.0 = Debug|x64 66 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Release|Win32.ActiveCfg = Release|Win32 67 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Release|Win32.Build.0 = Release|Win32 68 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Release|x64.ActiveCfg = Release|x64 69 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Release|x64.Build.0 = Release|x64 70 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Debug|Win32.ActiveCfg = Static-Debug|Win32 71 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Debug|Win32.Build.0 = Static-Debug|Win32 72 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 73 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Debug|x64.Build.0 = Static-Debug|x64 74 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Release|Win32.ActiveCfg = Static-Release|Win32 75 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Release|Win32.Build.0 = Static-Release|Win32 76 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Release|x64.ActiveCfg = Static-Release|x64 77 | {456BCE80-9C5E-46D1-9597-CC3E2FE647E6}.Static-Release|x64.Build.0 = Static-Release|x64 78 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Debug|Win32.ActiveCfg = Debug|Win32 79 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Debug|Win32.Build.0 = Debug|Win32 80 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Debug|x64.ActiveCfg = Debug|x64 81 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Debug|x64.Build.0 = Debug|x64 82 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Release|Win32.ActiveCfg = Release|Win32 83 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Release|Win32.Build.0 = Release|Win32 84 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Release|x64.ActiveCfg = Release|x64 85 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Release|x64.Build.0 = Release|x64 86 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Debug|Win32.ActiveCfg = Static-Debug|Win32 87 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Debug|Win32.Build.0 = Static-Debug|Win32 88 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 89 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Debug|x64.Build.0 = Static-Debug|x64 90 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Release|Win32.ActiveCfg = Static-Release|Win32 91 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Release|Win32.Build.0 = Static-Release|Win32 92 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Release|x64.ActiveCfg = Static-Release|x64 93 | {64D2C338-62CF-4443-B8A3-FD1EB571BCA5}.Static-Release|x64.Build.0 = Static-Release|x64 94 | EndGlobalSection 95 | GlobalSection(SolutionProperties) = preSolution 96 | HideSolutionNode = FALSE 97 | EndGlobalSection 98 | EndGlobal 99 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/libfftw-3.6/config.h: -------------------------------------------------------------------------------- 1 | /* config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Define to compile in long-double precision. */ 4 | #undef BENCHFFT_LDOUBLE 5 | 6 | /* Define to compile in quad precision. */ 7 | #undef BENCHFFT_QUAD 8 | 9 | /* Define to compile in single precision. */ 10 | #undef BENCHFFT_SINGLE 11 | 12 | /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 13 | systems. This function is required for `alloca.c' support on those systems. 14 | */ 15 | #undef CRAY_STACKSEG_END 16 | 17 | /* Define to 1 if using `alloca.c'. */ 18 | #undef C_ALLOCA 19 | 20 | /* Define to disable Fortran wrappers. */ 21 | #define DISABLE_FORTRAN 1 22 | 23 | /* Define to dummy `main' function (if any) required to link to the Fortran 24 | libraries. */ 25 | #undef F77_DUMMY_MAIN 26 | 27 | /* Define to a macro mangling the given C identifier (in lower and upper 28 | case), which must not contain underscores, for linking with Fortran. */ 29 | #undef F77_FUNC 30 | 31 | /* As F77_FUNC, but for C identifiers containing underscores. */ 32 | #undef F77_FUNC_ 33 | 34 | /* Define if F77_FUNC and F77_FUNC_ are equivalent. */ 35 | #undef F77_FUNC_EQUIV 36 | 37 | /* Define if F77 and FC dummy `main' functions are identical. */ 38 | #undef FC_DUMMY_MAIN_EQ_F77 39 | 40 | /* C compiler name and flags */ 41 | #define FFTW_CC "cl" 42 | 43 | /* Define to enable extra FFTW debugging code. */ 44 | #undef FFTW_DEBUG 45 | 46 | /* Define to enable alignment debugging hacks. */ 47 | #undef FFTW_DEBUG_ALIGNMENT 48 | 49 | /* Define to enable debugging malloc. */ 50 | #undef FFTW_DEBUG_MALLOC 51 | 52 | /* Define to enable the use of alloca(). */ 53 | #undef FFTW_ENABLE_ALLOCA 54 | 55 | /* Define to compile in long-double precision. */ 56 | #undef FFTW_LDOUBLE 57 | 58 | /* Define to compile in quad precision. */ 59 | #undef FFTW_QUAD 60 | 61 | /* Define to enable pseudorandom estimate planning for debugging. */ 62 | #undef FFTW_RANDOM_ESTIMATOR 63 | 64 | /* Define to compile in single precision. */ 65 | #undef FFTW_SINGLE 66 | 67 | /* Define to 1 if you have the `abort' function. */ 68 | #define HAVE_ABORT 1 69 | 70 | /* Define to 1 if you have `alloca', as a function or macro. */ 71 | #undef HAVE_ALLOCA 72 | 73 | /* Define to 1 if you have and it should be used (not on Ultrix). 74 | */ 75 | #undef HAVE_ALLOCA_H 76 | 77 | /* Define to enable Altivec optimizations. */ 78 | #undef HAVE_ALTIVEC 79 | 80 | /* Define to 1 if you have the header file. */ 81 | #undef HAVE_ALTIVEC_H 82 | 83 | /* Define to enable AVX optimizations. */ 84 | #define HAVE_AVX 1 85 | 86 | /* Define to 1 if you have the `BSDgettimeofday' function. */ 87 | #undef HAVE_BSDGETTIMEOFDAY 88 | 89 | /* Define to 1 if you have the `clock_gettime' function. */ 90 | #undef HAVE_CLOCK_GETTIME 91 | 92 | /* Define to 1 if you have the `cosl' function. */ 93 | #define HAVE_COSL 1 94 | 95 | /* Define to 1 if you have the header file. */ 96 | #undef HAVE_C_ASM_H 97 | 98 | /* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. 99 | */ 100 | #define HAVE_DECL_COSL 1 101 | 102 | /* Define to 1 if you have the declaration of `cosq', and to 0 if you don't. */ 103 | #define HAVE_DECL_COSQ 0 104 | 105 | /* Define to 1 if you have the declaration of `drand48', and to 0 if you don't. */ 106 | #define HAVE_DECL_DRAND48 0 107 | 108 | /* Define to 1 if you have the declaration of `memalign', and to 0 if you don't. */ 109 | #define HAVE_DECL_MEMALIGN 0 110 | 111 | /* Define to 1 if you have the declaration of `posix_memalign', and to 0 if you don't. */ 112 | #define HAVE_DECL_POSIX_MEMALIGN 0 113 | 114 | /* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. */ 115 | #define HAVE_DECL_SINL 1 116 | 117 | /* Define to 1 if you have the declaration of `sinq', and to 0 if you don't. 118 | */ 119 | #define HAVE_DECL_SINQ 0 120 | 121 | /* Define to 1 if you have the declaration of `srand48', and to 0 if you 122 | don't. */ 123 | #define HAVE_DECL_SRAND48 0 124 | 125 | /* Define to 1 if you have the header file. */ 126 | #undef HAVE_DLFCN_H 127 | 128 | /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ 129 | #undef HAVE_DOPRNT 130 | 131 | /* Define to 1 if you have the `drand48' function. */ 132 | #undef HAVE_DRAND48 133 | 134 | /* Define if you have a machine with fused multiply-add */ 135 | #undef HAVE_FMA 136 | 137 | /* Define to 1 if you have the `gethrtime' function. */ 138 | #undef HAVE_GETHRTIME 139 | 140 | /* Define to 1 if you have the `gettimeofday' function. */ 141 | #undef HAVE_GETTIMEOFDAY 142 | 143 | /* Define to 1 if hrtime_t is defined in */ 144 | #undef HAVE_HRTIME_T 145 | 146 | /* Define to 1 if you have the header file. */ 147 | #undef HAVE_INTRINSICS_H 148 | 149 | /* Define to 1 if you have the header file. */ 150 | #undef HAVE_INTTYPES_H 151 | 152 | /* Define if the isnan() function/macro is available. */ 153 | #undef HAVE_ISNAN 154 | 155 | /* Define to 1 if you have the header file. */ 156 | #undef HAVE_LIBINTL_H 157 | 158 | /* Define to 1 if you have the `m' library (-lm). */ 159 | #undef HAVE_LIBM 160 | 161 | /* Define to 1 if you have the `quadmath' library (-lquadmath). */ 162 | #undef HAVE_LIBQUADMATH 163 | 164 | /* Define to 1 if you have the header file. */ 165 | #define HAVE_LIMITS_H 1 166 | 167 | /* Define to 1 if the compiler supports `long double' */ 168 | #define HAVE_LONG_DOUBLE 1 169 | 170 | /* Define to 1 if you have the `mach_absolute_time' function. */ 171 | #undef HAVE_MACH_ABSOLUTE_TIME 172 | 173 | /* Define to 1 if you have the header file. */ 174 | #undef HAVE_MACH_MACH_TIME_H 175 | 176 | /* Define to 1 if you have the header file. */ 177 | #define HAVE_MALLOC_H 1 178 | 179 | /* Define to 1 if you have the `memalign' function. */ 180 | #undef HAVE_MEMALIGN 181 | 182 | /* Define to 1 if you have the header file. */ 183 | #define HAVE_MEMORY_H 1 184 | 185 | /* Define to 1 if you have the `memset' function. */ 186 | #define HAVE_MEMSET 1 187 | 188 | /* Define to enable MIPS paired-single optimizations. */ 189 | #undef HAVE_MIPS_PS 190 | 191 | /* Define to enable use of MIPS ZBus cycle-counter. */ 192 | #undef HAVE_MIPS_ZBUS_TIMER 193 | 194 | /* Define if you have the MPI library. */ 195 | #undef HAVE_MPI 196 | 197 | /* Define if OpenMP is enabled */ 198 | #define HAVE_OPENMP 1 199 | 200 | /* Define to 1 if you have the `posix_memalign' function. */ 201 | #undef HAVE_POSIX_MEMALIGN 202 | 203 | /* Define if you have POSIX threads libraries and header files. */ 204 | #undef HAVE_PTHREAD 205 | 206 | /* Define to 1 if you have the `read_real_time' function. */ 207 | #undef HAVE_READ_REAL_TIME 208 | 209 | /* Define to 1 if you have the `sinl' function. */ 210 | #define HAVE_SINL 1 211 | 212 | /* Define to 1 if you have the `snprintf' function. */ 213 | #undef HAVE_SNPRINTF 214 | 215 | /* Define to 1 if you have the `sqrt' function. */ 216 | #define HAVE_SQRT 1 217 | 218 | /* Define to enable SSE/SSE2 optimizations. */ 219 | #define HAVE_SSE2 1 220 | 221 | /* Define to 1 if you have the header file. */ 222 | #define HAVE_STDDEF_H 1 223 | 224 | /* Define to 1 if you have the header file. */ 225 | #define HAVE_STDINT_H 1 226 | 227 | /* Define to 1 if you have the header file. */ 228 | #define HAVE_STDLIB_H 1 229 | 230 | /* Define to 1 if you have the header file. */ 231 | #undef HAVE_STRINGS_H 232 | 233 | /* Define to 1 if you have the header file. */ 234 | #define HAVE_STRING_H 1 235 | 236 | /* Define to 1 if you have the `sysctl' function. */ 237 | #undef HAVE_SYSCTL 238 | 239 | /* Define to 1 if you have the header file. */ 240 | #define HAVE_SYS_STAT_H 1 241 | 242 | /* Define to 1 if you have the header file. */ 243 | #undef HAVE_SYS_SYSCTL_H 244 | 245 | /* Define to 1 if you have the header file. */ 246 | #undef HAVE_SYS_TIME_H 247 | 248 | /* Define to 1 if you have the header file. */ 249 | #define HAVE_SYS_TYPES_H 1 250 | 251 | /* Define to 1 if you have the `tanl' function. */ 252 | #define HAVE_TANL 1 253 | 254 | /* Define if we have a threads library. */ 255 | #undef HAVE_THREADS 256 | 257 | /* Define to 1 if you have the `time_base_to_time' function. */ 258 | #undef HAVE_TIME_BASE_TO_TIME 259 | 260 | /* Define to 1 if the system has the type `uintptr_t'. */ 261 | #define HAVE_UINTPTR_T 1 262 | 263 | /* Define to 1 if you have the header file. */ 264 | #undef HAVE_UNISTD_H 265 | 266 | /* Define to 1 if you have the `vprintf' function. */ 267 | #define HAVE_VPRINTF 1 268 | 269 | /* Define to 1 if you have the `_mm_free' function. */ 270 | #undef HAVE__MM_FREE 271 | 272 | /* Define to 1 if you have the `_mm_malloc' function. */ 273 | #undef HAVE__MM_MALLOC 274 | 275 | /* Define if you have the UNICOS _rtc() intrinsic. */ 276 | #undef HAVE__RTC 277 | 278 | /* Define to the sub-directory in which libtool stores uninstalled libraries. 279 | */ 280 | #undef LT_OBJDIR 281 | 282 | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ 283 | #undef NO_MINUS_C_MINUS_O 284 | 285 | /* Name of package */ 286 | #define PACKAGE "fftw" 287 | 288 | /* Define to the address where bug reports for this package should be sent. */ 289 | #define PACKAGE_BUGREPORT "fftw@fftw.org" 290 | 291 | /* Define to the full name of this package. */ 292 | #define PACKAGE_NAME "fftw" 293 | 294 | /* Define to the full name and version of this package. */ 295 | #define PACKAGE_STRING "fftw-3.6" 296 | 297 | /* Define to the one symbol short name of this package. */ 298 | #define PACKAGE_TARNAME "fftw" 299 | 300 | /* Define to the home page for this package. */ 301 | #define PACKAGE_URL "http://www.fftw.org" 302 | 303 | /* Define to the version of this package. */ 304 | #define PACKAGE_VERSION "3.6" 305 | 306 | /* Define to necessary symbol if this constant uses a non-standard name on 307 | your system. */ 308 | #undef PTHREAD_CREATE_JOINABLE 309 | 310 | /* The size of `double', as computed by sizeof. */ 311 | #define SIZEOF_DOUBLE 8 312 | 313 | /* The size of `fftw_r2r_kind', as computed by sizeof. */ 314 | #undef SIZEOF_FFTW_R2R_KIND 315 | 316 | /* The size of `float', as computed by sizeof. */ 317 | #define SIZEOF_FLOAT 4 318 | 319 | /* The size of `int', as computed by sizeof. */ 320 | #define SIZEOF_INT 4 321 | 322 | /* The size of `long', as computed by sizeof. */ 323 | #define SIZEOF_LONG 4 324 | 325 | /* The size of `long long', as computed by sizeof. */ 326 | #define SIZEOF_LONG_LONG 8 327 | 328 | /* The size of `MPI_Fint', as computed by sizeof. */ 329 | #undef SIZEOF_MPI_FINT 330 | 331 | /* The size of `ptrdiff_t', as computed by sizeof. */ 332 | #define SIZEOF_PTRDIFF_T 4 333 | 334 | /* The size of `size_t', as computed by sizeof. */ 335 | #define SIZEOF_SIZE_T 4 336 | 337 | /* The size of `unsigned int', as computed by sizeof. */ 338 | #define SIZEOF_UNSIGNED_INT 4 339 | 340 | /* The size of `unsigned long', as computed by sizeof. */ 341 | #define SIZEOF_UNSIGNED_LONG 4 342 | 343 | /* The size of `unsigned long long', as computed by sizeof. */ 344 | #define SIZEOF_UNSIGNED_LONG_LONG 8 345 | 346 | /* The size of `void *', as computed by sizeof. */ 347 | #define SIZEOF_VOID_P 4 348 | 349 | /* If using the C implementation of alloca, define if you know the 350 | direction of stack growth for your system; otherwise it will be 351 | automatically deduced at runtime. 352 | STACK_DIRECTION > 0 => grows toward higher addresses 353 | STACK_DIRECTION < 0 => grows toward lower addresses 354 | STACK_DIRECTION = 0 => direction of growth unknown */ 355 | #undef STACK_DIRECTION 356 | 357 | /* Define to 1 if you have the ANSI C header files. */ 358 | #define STDC_HEADERS 1 359 | 360 | /* Define to 1 if you can safely include both and . */ 361 | #undef TIME_WITH_SYS_TIME 362 | 363 | /* Define if we have and are using POSIX threads. */ 364 | #undef USING_POSIX_THREADS 365 | 366 | /* Version number of package */ 367 | #define VERSION "3.6" 368 | 369 | /* Use common Windows Fortran mangling styles for the Fortran interfaces. */ 370 | #undef WINDOWS_F77_MANGLING 371 | 372 | /* Include g77-compatible wrappers in addition to any other Fortran wrappers. 373 | */ 374 | #undef WITH_G77_WRAPPERS 375 | 376 | /* Use our own aligned malloc routine; mainly helpful for Windows systems 377 | lacking aligned allocation system-library routines. */ 378 | #define WITH_OUR_MALLOC 1 379 | 380 | /* Use low-precision timers, making planner very slow */ 381 | #undef WITH_SLOW_TIMER 382 | 383 | /* Define to empty if `const' does not conform to ANSI C. */ 384 | #undef const 385 | 386 | /* Define to `__inline__' or `__inline' if that's what the C compiler 387 | calls it, or to nothing if 'inline' is not supported under any name. */ 388 | #ifndef __cplusplus 389 | #define inline __inline 390 | #endif 391 | 392 | /* Define to `unsigned int' if does not define. */ 393 | #undef size_t 394 | -------------------------------------------------------------------------------- /build/fftw-windows-vs2012/libfftwf-3.6/config.h: -------------------------------------------------------------------------------- 1 | /* config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Define to compile in long-double precision. */ 4 | #undef BENCHFFT_LDOUBLE 5 | 6 | /* Define to compile in quad precision. */ 7 | #undef BENCHFFT_QUAD 8 | 9 | /* Define to compile in single precision. */ 10 | #define BENCHFFT_SINGLE 1 11 | 12 | /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 13 | systems. This function is required for `alloca.c' support on those systems. 14 | */ 15 | #undef CRAY_STACKSEG_END 16 | 17 | /* Define to 1 if using `alloca.c'. */ 18 | #undef C_ALLOCA 19 | 20 | /* Define to disable Fortran wrappers. */ 21 | #define DISABLE_FORTRAN 1 22 | 23 | /* Define to dummy `main' function (if any) required to link to the Fortran 24 | libraries. */ 25 | #undef F77_DUMMY_MAIN 26 | 27 | /* Define to a macro mangling the given C identifier (in lower and upper 28 | case), which must not contain underscores, for linking with Fortran. */ 29 | #undef F77_FUNC 30 | 31 | /* As F77_FUNC, but for C identifiers containing underscores. */ 32 | #undef F77_FUNC_ 33 | 34 | /* Define if F77_FUNC and F77_FUNC_ are equivalent. */ 35 | #undef F77_FUNC_EQUIV 36 | 37 | /* Define if F77 and FC dummy `main' functions are identical. */ 38 | #undef FC_DUMMY_MAIN_EQ_F77 39 | 40 | /* C compiler name and flags */ 41 | #define FFTW_CC "cl" 42 | 43 | /* Define to enable extra FFTW debugging code. */ 44 | #undef FFTW_DEBUG 45 | 46 | /* Define to enable alignment debugging hacks. */ 47 | #undef FFTW_DEBUG_ALIGNMENT 48 | 49 | /* Define to enable debugging malloc. */ 50 | #undef FFTW_DEBUG_MALLOC 51 | 52 | /* Define to enable the use of alloca(). */ 53 | #undef FFTW_ENABLE_ALLOCA 54 | 55 | /* Define to compile in long-double precision. */ 56 | #undef FFTW_LDOUBLE 57 | 58 | /* Define to compile in quad precision. */ 59 | #undef FFTW_QUAD 60 | 61 | /* Define to enable pseudorandom estimate planning for debugging. */ 62 | #undef FFTW_RANDOM_ESTIMATOR 63 | 64 | /* Define to compile in single precision. */ 65 | #define FFTW_SINGLE 1 66 | 67 | /* Define to 1 if you have the `abort' function. */ 68 | #define HAVE_ABORT 1 69 | 70 | /* Define to 1 if you have `alloca', as a function or macro. */ 71 | #undef HAVE_ALLOCA 72 | 73 | /* Define to 1 if you have and it should be used (not on Ultrix). */ 74 | #undef HAVE_ALLOCA_H 75 | 76 | /* Define to enable Altivec optimizations. */ 77 | #undef HAVE_ALTIVEC 78 | 79 | /* Define to 1 if you have the header file. */ 80 | #undef HAVE_ALTIVEC_H 81 | 82 | /* Define to enable AVX optimizations. */ 83 | #define HAVE_AVX 1 84 | 85 | /* Define to 1 if you have the `BSDgettimeofday' function. */ 86 | #undef HAVE_BSDGETTIMEOFDAY 87 | 88 | /* Define to 1 if you have the `clock_gettime' function. */ 89 | #undef HAVE_CLOCK_GETTIME 90 | 91 | /* Define to 1 if you have the `cosl' function. */ 92 | #define HAVE_COSL 1 93 | 94 | /* Define to 1 if you have the header file. */ 95 | #undef HAVE_C_ASM_H 96 | 97 | /* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. 98 | */ 99 | #define HAVE_DECL_COSL 1 100 | 101 | /* Define to 1 if you have the declaration of `cosq', and to 0 if you don't. */ 102 | #define HAVE_DECL_COSQ 0 103 | 104 | /* Define to 1 if you have the declaration of `drand48', and to 0 if you don't. */ 105 | #define HAVE_DECL_DRAND48 0 106 | 107 | /* Define to 1 if you have the declaration of `memalign', and to 0 if you don't. */ 108 | #define HAVE_DECL_MEMALIGN 0 109 | 110 | /* Define to 1 if you have the declaration of `posix_memalign', and to 0 if you don't. */ 111 | #define HAVE_DECL_POSIX_MEMALIGN 0 112 | 113 | /* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. */ 114 | #define HAVE_DECL_SINL 1 115 | 116 | /* Define to 1 if you have the declaration of `sinq', and to 0 if you don't. 117 | */ 118 | #define HAVE_DECL_SINQ 0 119 | 120 | /* Define to 1 if you have the declaration of `srand48', and to 0 if you 121 | don't. */ 122 | #define HAVE_DECL_SRAND48 0 123 | 124 | /* Define to 1 if you have the header file. */ 125 | #undef HAVE_DLFCN_H 126 | 127 | /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ 128 | #undef HAVE_DOPRNT 129 | 130 | /* Define to 1 if you have the `drand48' function. */ 131 | #undef HAVE_DRAND48 132 | 133 | /* Define if you have a machine with fused multiply-add */ 134 | #undef HAVE_FMA 135 | 136 | /* Define to 1 if you have the `gethrtime' function. */ 137 | #undef HAVE_GETHRTIME 138 | 139 | /* Define to 1 if you have the `gettimeofday' function. */ 140 | #undef HAVE_GETTIMEOFDAY 141 | 142 | /* Define to 1 if hrtime_t is defined in */ 143 | #undef HAVE_HRTIME_T 144 | 145 | /* Define to 1 if you have the header file. */ 146 | #undef HAVE_INTRINSICS_H 147 | 148 | /* Define to 1 if you have the header file. */ 149 | #undef HAVE_INTTYPES_H 150 | 151 | /* Define if the isnan() function/macro is available. */ 152 | #undef HAVE_ISNAN 153 | 154 | /* Define to 1 if you have the header file. */ 155 | #undef HAVE_LIBINTL_H 156 | 157 | /* Define to 1 if you have the `m' library (-lm). */ 158 | #undef HAVE_LIBM 159 | 160 | /* Define to 1 if you have the `quadmath' library (-lquadmath). */ 161 | #undef HAVE_LIBQUADMATH 162 | 163 | /* Define to 1 if you have the header file. */ 164 | #define HAVE_LIMITS_H 1 165 | 166 | /* Define to 1 if the compiler supports `long double' */ 167 | #define HAVE_LONG_DOUBLE 1 168 | 169 | /* Define to 1 if you have the `mach_absolute_time' function. */ 170 | #undef HAVE_MACH_ABSOLUTE_TIME 171 | 172 | /* Define to 1 if you have the header file. */ 173 | #undef HAVE_MACH_MACH_TIME_H 174 | 175 | /* Define to 1 if you have the header file. */ 176 | #define HAVE_MALLOC_H 1 177 | 178 | /* Define to 1 if you have the `memalign' function. */ 179 | #undef HAVE_MEMALIGN 180 | 181 | /* Define to 1 if you have the header file. */ 182 | #define HAVE_MEMORY_H 1 183 | 184 | /* Define to 1 if you have the `memset' function. */ 185 | #define HAVE_MEMSET 1 186 | 187 | /* Define to enable MIPS paired-single optimizations. */ 188 | #undef HAVE_MIPS_PS 189 | 190 | /* Define to enable use of MIPS ZBus cycle-counter. */ 191 | #undef HAVE_MIPS_ZBUS_TIMER 192 | 193 | /* Define if you have the MPI library. */ 194 | #undef HAVE_MPI 195 | 196 | /* Define if OpenMP is enabled */ 197 | #define HAVE_OPENMP 1 198 | 199 | /* Define to 1 if you have the `posix_memalign' function. */ 200 | #undef HAVE_POSIX_MEMALIGN 201 | 202 | /* Define if you have POSIX threads libraries and header files. */ 203 | #undef HAVE_PTHREAD 204 | 205 | /* Define to 1 if you have the `read_real_time' function. */ 206 | #undef HAVE_READ_REAL_TIME 207 | 208 | /* Define to 1 if you have the `sinl' function. */ 209 | #define HAVE_SINL 1 210 | 211 | /* Define to 1 if you have the `snprintf' function. */ 212 | #undef HAVE_SNPRINTF 213 | 214 | /* Define to 1 if you have the `sqrt' function. */ 215 | #define HAVE_SQRT 1 216 | 217 | /* Define to enable SSE/SSE2 optimizations. */ 218 | #define HAVE_SSE2 1 219 | 220 | /* Define to 1 if you have the header file. */ 221 | #define HAVE_STDDEF_H 1 222 | 223 | /* Define to 1 if you have the header file. */ 224 | #define HAVE_STDINT_H 1 225 | 226 | /* Define to 1 if you have the header file. */ 227 | #define HAVE_STDLIB_H 1 228 | 229 | /* Define to 1 if you have the header file. */ 230 | #undef HAVE_STRINGS_H 231 | 232 | /* Define to 1 if you have the header file. */ 233 | #define HAVE_STRING_H 1 234 | 235 | /* Define to 1 if you have the `sysctl' function. */ 236 | #undef HAVE_SYSCTL 237 | 238 | /* Define to 1 if you have the header file. */ 239 | #define HAVE_SYS_STAT_H 1 240 | 241 | /* Define to 1 if you have the header file. */ 242 | #undef HAVE_SYS_SYSCTL_H 243 | 244 | /* Define to 1 if you have the header file. */ 245 | #undef HAVE_SYS_TIME_H 246 | 247 | /* Define to 1 if you have the header file. */ 248 | #define HAVE_SYS_TYPES_H 1 249 | 250 | /* Define to 1 if you have the `tanl' function. */ 251 | #define HAVE_TANL 1 252 | 253 | /* Define if we have a threads library. */ 254 | #undef HAVE_THREADS 255 | 256 | /* Define to 1 if you have the `time_base_to_time' function. */ 257 | #undef HAVE_TIME_BASE_TO_TIME 258 | 259 | /* Define to 1 if the system has the type `uintptr_t'. */ 260 | #define HAVE_UINTPTR_T 1 261 | 262 | /* Define to 1 if you have the header file. */ 263 | #undef HAVE_UNISTD_H 264 | 265 | /* Define to 1 if you have the `vprintf' function. */ 266 | #define HAVE_VPRINTF 1 267 | 268 | /* Define to 1 if you have the `_mm_free' function. */ 269 | #undef HAVE__MM_FREE 270 | 271 | /* Define to 1 if you have the `_mm_malloc' function. */ 272 | #undef HAVE__MM_MALLOC 273 | 274 | /* Define if you have the UNICOS _rtc() intrinsic. */ 275 | #undef HAVE__RTC 276 | 277 | /* Define to the sub-directory in which libtool stores uninstalled libraries. 278 | */ 279 | #undef LT_OBJDIR 280 | 281 | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ 282 | #undef NO_MINUS_C_MINUS_O 283 | 284 | /* Name of package */ 285 | #define PACKAGE "fftw" 286 | 287 | /* Define to the address where bug reports for this package should be sent. */ 288 | #define PACKAGE_BUGREPORT "fftw@fftw.org" 289 | 290 | /* Define to the full name of this package. */ 291 | #define PACKAGE_NAME "fftw" 292 | 293 | /* Define to the full name and version of this package. */ 294 | #define PACKAGE_STRING "fftw-3.6" 295 | 296 | /* Define to the one symbol short name of this package. */ 297 | #define PACKAGE_TARNAME "fftw" 298 | 299 | /* Define to the home page for this package. */ 300 | #define PACKAGE_URL "http://www.fftw.org" 301 | 302 | /* Define to the version of this package. */ 303 | #define PACKAGE_VERSION "3.6" 304 | 305 | /* Define to necessary symbol if this constant uses a non-standard name on 306 | your system. */ 307 | #undef PTHREAD_CREATE_JOINABLE 308 | 309 | /* The size of `double', as computed by sizeof. */ 310 | #define SIZEOF_DOUBLE 8 311 | 312 | /* The size of `fftw_r2r_kind', as computed by sizeof. */ 313 | #undef SIZEOF_FFTW_R2R_KIND 314 | 315 | /* The size of `float', as computed by sizeof. */ 316 | #define SIZEOF_FLOAT 4 317 | 318 | /* The size of `int', as computed by sizeof. */ 319 | #define SIZEOF_INT 4 320 | 321 | /* The size of `long', as computed by sizeof. */ 322 | #define SIZEOF_LONG 4 323 | 324 | /* The size of `long long', as computed by sizeof. */ 325 | #define SIZEOF_LONG_LONG 8 326 | 327 | /* The size of `MPI_Fint', as computed by sizeof. */ 328 | #undef SIZEOF_MPI_FINT 329 | 330 | /* The size of `ptrdiff_t', as computed by sizeof. */ 331 | #define SIZEOF_PTRDIFF_T 4 332 | 333 | /* The size of `size_t', as computed by sizeof. */ 334 | #define SIZEOF_SIZE_T 4 335 | 336 | /* The size of `unsigned int', as computed by sizeof. */ 337 | #define SIZEOF_UNSIGNED_INT 4 338 | 339 | /* The size of `unsigned long', as computed by sizeof. */ 340 | #define SIZEOF_UNSIGNED_LONG 4 341 | 342 | /* The size of `unsigned long long', as computed by sizeof. */ 343 | #define SIZEOF_UNSIGNED_LONG_LONG 8 344 | 345 | /* The size of `void *', as computed by sizeof. */ 346 | #define SIZEOF_VOID_P 4 347 | 348 | /* If using the C implementation of alloca, define if you know the 349 | direction of stack growth for your system; otherwise it will be 350 | automatically deduced at runtime. 351 | STACK_DIRECTION > 0 => grows toward higher addresses 352 | STACK_DIRECTION < 0 => grows toward lower addresses 353 | STACK_DIRECTION = 0 => direction of growth unknown */ 354 | #undef STACK_DIRECTION 355 | 356 | /* Define to 1 if you have the ANSI C header files. */ 357 | #define STDC_HEADERS 1 358 | 359 | /* Define to 1 if you can safely include both and . */ 360 | #undef TIME_WITH_SYS_TIME 361 | 362 | /* Define if we have and are using POSIX threads. */ 363 | #undef USING_POSIX_THREADS 364 | 365 | /* Version number of package */ 366 | #define VERSION "3.6" 367 | 368 | /* Use common Windows Fortran mangling styles for the Fortran interfaces. */ 369 | #undef WINDOWS_F77_MANGLING 370 | 371 | /* Include g77-compatible wrappers in addition to any other Fortran wrappers. 372 | */ 373 | #undef WITH_G77_WRAPPERS 374 | 375 | /* Use our own aligned malloc routine; mainly helpful for Windows systems 376 | lacking aligned allocation system-library routines. */ 377 | #define WITH_OUR_MALLOC 1 378 | 379 | /* Use low-precision timers, making planner very slow */ 380 | #undef WITH_SLOW_TIMER 381 | 382 | /* Define to empty if `const' does not conform to ANSI C. */ 383 | #undef const 384 | 385 | /* Define to `__inline__' or `__inline' if that's what the C compiler 386 | calls it, or to nothing if 'inline' is not supported under any name. */ 387 | #ifndef __cplusplus 388 | #define inline __inline 389 | #endif 390 | 391 | /* Define to `unsigned int' if does not define. */ 392 | #undef size_t 393 | -------------------------------------------------------------------------------- /build/fftw_android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # build fftw3 lib for android 4 | 5 | ANDROID_NDK=/opt/androidbuild/ndk/android-ndk-r9b 6 | INSTALL_DIR=android-install 7 | 8 | export PATH="$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/:$PATH" 9 | export SYS_ROOT="$ANDROID_NDK/platforms/android-9/arch-arm/" 10 | export CC="arm-linux-androideabi-gcc --sysroot=$SYS_ROOT -mfloat-abi=softfp -mfpu=neon" 11 | export LD="arm-linux-androideabi-ld" 12 | export AR="arm-linux-androideabi-ar" 13 | export RANLIB="arm-linux-androideabi-ranlib" 14 | export STRIP="arm-linux-androideabi-strip" 15 | 16 | set -e 17 | 18 | mkdir -p $INSTALL_DIR 19 | rm -rf $INSTALL_DIR/* 20 | 21 | ./configure --host=arm-eabi --enable-float --enable-neon 22 | make -j4 23 | cp .libs/libfftw3f.a $INSTALL_DIR/libfftw3f.a 24 | make distclean 25 | 26 | -------------------------------------------------------------------------------- /build/fftw_ios.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # build fftw3 lib for ios 4 | 5 | XCODE_TOOLCHAINS=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain 6 | IOS_SYSROOT=`xcrun --sdk iphoneos --show-sdk-path` 7 | INSTALL_DIR=ios-install 8 | 9 | set -e 10 | 11 | mkdir -p $INSTALL_DIR 12 | rm -rf $INSTALL_DIR/* 13 | 14 | 15 | for arch in armv7 armv7s arm64; do 16 | export CC="$XCODE_TOOLCHAINS/usr/bin/cc -arch ${arch} -std=gnu99 -mfpu=neon" 17 | export CFLAGS="-O3 -arch ${arch} -mfpu=neon -miphoneos-version-min=8.0 -pipe -isysroot ${IOS_SYSROOT}" 18 | export CPPFLAGS="-I$IOS_SYSROOT/usr/include" 19 | 20 | ./configure --host=arm-apple-darwin --enable-float --enable-neon 21 | make -j4 22 | 23 | cp .libs/libfftw3f.a $INSTALL_DIR/libfftw3f_${arch}.a 24 | make distclean 25 | done 26 | 27 | lipo -arch armv7 $INSTALL_DIR/libfftw3f_armv7.a -arch armv7s $INSTALL_DIR/libfftw3f_armv7s.a -arch arm64 $INSTALL_DIR/libfftw3f_arm64.a -create -output $INSTALL_DIR/libfftw3f.a 28 | 29 | -------------------------------------------------------------------------------- /build/fftw_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # build fftw3 lib for linux 4 | 5 | INSTALL_DIR=linux-install 6 | 7 | set -e 8 | 9 | mkdir -p $INSTALL_DIR 10 | rm -rf $INSTALL_DIR/* 11 | 12 | for arch in i386 x86_64; do 13 | export CC="gcc -arch ${arch}" 14 | 15 | ./configure --enable-float 16 | make -j4 17 | 18 | cp .libs/libfftw3f.a $INSTALL_DIR/libfftw3f_${arch}.a 19 | make distclean 20 | done 21 | 22 | -------------------------------------------------------------------------------- /build/fftw_macos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # build fftw3 lib for macos 4 | 5 | INSTALL_DIR=macos-install 6 | 7 | set -e 8 | 9 | mkdir -p $INSTALL_DIR 10 | rm -rf $INSTALL_DIR/* 11 | 12 | for arch in i386 x86_64; do 13 | export CC="gcc -arch ${arch}" 14 | 15 | ./configure --enable-float 16 | make -j4 17 | 18 | cp .libs/libfftw3f.a $INSTALL_DIR/libfftw3f_${arch}.a 19 | make distclean 20 | done 21 | 22 | lipo -arch i386 $INSTALL_DIR/libfftw3f_i386.a -arch x86_64 $INSTALL_DIR/libfftw3f_x86_64.a -create -output $INSTALL_DIR/libfftw3f.a 23 | 24 | -------------------------------------------------------------------------------- /include/fftw3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2003, 2007-14 Matteo Frigo 3 | * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology 4 | * 5 | * The following statement of license applies *only* to this header file, 6 | * and *not* to the other files distributed with FFTW or derived therefrom: 7 | * 8 | * Redistribution and use in source and binary forms, with or without 9 | * modification, are permitted provided that the following conditions 10 | * are met: 11 | * 12 | * 1. Redistributions of source code must retain the above copyright 13 | * notice, this list of conditions and the following disclaimer. 14 | * 15 | * 2. Redistributions in binary form must reproduce the above copyright 16 | * notice, this list of conditions and the following disclaimer in the 17 | * documentation and/or other materials provided with the distribution. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 20 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 23 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 25 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 27 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 28 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | /***************************** NOTE TO USERS ********************************* 33 | * 34 | * THIS IS A HEADER FILE, NOT A MANUAL 35 | * 36 | * If you want to know how to use FFTW, please read the manual, 37 | * online at http://www.fftw.org/doc/ and also included with FFTW. 38 | * For a quick start, see the manual's tutorial section. 39 | * 40 | * (Reading header files to learn how to use a library is a habit 41 | * stemming from code lacking a proper manual. Arguably, it's a 42 | * *bad* habit in most cases, because header files can contain 43 | * interfaces that are not part of the public, stable API.) 44 | * 45 | ****************************************************************************/ 46 | 47 | #ifndef FFTW3_H 48 | #define FFTW3_H 49 | 50 | #include 51 | 52 | #ifdef __cplusplus 53 | extern "C" 54 | { 55 | #endif /* __cplusplus */ 56 | 57 | /* If is included, use the C99 complex type. Otherwise 58 | define a type bit-compatible with C99 complex */ 59 | #if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I) 60 | # define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C 61 | #else 62 | # define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2] 63 | #endif 64 | 65 | #define FFTW_CONCAT(prefix, name) prefix ## name 66 | #define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name) 67 | #define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name) 68 | #define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name) 69 | #define FFTW_MANGLE_QUAD(name) FFTW_CONCAT(fftwq_, name) 70 | 71 | /* IMPORTANT: for Windows compilers, you should add a line 72 | #define FFTW_DLL 73 | here and in kernel/ifftw.h if you are compiling/using FFTW as a 74 | DLL, in order to do the proper importing/exporting, or 75 | alternatively compile with -DFFTW_DLL or the equivalent 76 | command-line flag. This is not necessary under MinGW/Cygwin, where 77 | libtool does the imports/exports automatically. */ 78 | #if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__)) 79 | /* annoying Windows syntax for shared-library declarations */ 80 | # if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */ 81 | # define FFTW_EXTERN extern __declspec(dllexport) 82 | # else /* user is calling FFTW; import symbol */ 83 | # define FFTW_EXTERN extern __declspec(dllimport) 84 | # endif 85 | #else 86 | # define FFTW_EXTERN extern 87 | #endif 88 | 89 | enum fftw_r2r_kind_do_not_use_me { 90 | FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2, 91 | FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6, 92 | FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10 93 | }; 94 | 95 | struct fftw_iodim_do_not_use_me { 96 | int n; /* dimension size */ 97 | int is; /* input stride */ 98 | int os; /* output stride */ 99 | }; 100 | 101 | #include /* for ptrdiff_t */ 102 | struct fftw_iodim64_do_not_use_me { 103 | ptrdiff_t n; /* dimension size */ 104 | ptrdiff_t is; /* input stride */ 105 | ptrdiff_t os; /* output stride */ 106 | }; 107 | 108 | typedef void (*fftw_write_char_func_do_not_use_me)(char c, void *); 109 | typedef int (*fftw_read_char_func_do_not_use_me)(void *); 110 | 111 | /* 112 | huge second-order macro that defines prototypes for all API 113 | functions. We expand this macro for each supported precision 114 | 115 | X: name-mangling macro 116 | R: real data type 117 | C: complex data type 118 | */ 119 | 120 | #define FFTW_DEFINE_API(X, R, C) \ 121 | \ 122 | FFTW_DEFINE_COMPLEX(R, C); \ 123 | \ 124 | typedef struct X(plan_s) *X(plan); \ 125 | \ 126 | typedef struct fftw_iodim_do_not_use_me X(iodim); \ 127 | typedef struct fftw_iodim64_do_not_use_me X(iodim64); \ 128 | \ 129 | typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind); \ 130 | \ 131 | typedef fftw_write_char_func_do_not_use_me X(write_char_func); \ 132 | typedef fftw_read_char_func_do_not_use_me X(read_char_func); \ 133 | \ 134 | FFTW_EXTERN void X(execute)(const X(plan) p); \ 135 | \ 136 | FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n, \ 137 | C *in, C *out, int sign, unsigned flags); \ 138 | \ 139 | FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign, \ 140 | unsigned flags); \ 141 | FFTW_EXTERN X(plan) X(plan_dft_2d)(int n0, int n1, \ 142 | C *in, C *out, int sign, unsigned flags); \ 143 | FFTW_EXTERN X(plan) X(plan_dft_3d)(int n0, int n1, int n2, \ 144 | C *in, C *out, int sign, unsigned flags); \ 145 | \ 146 | FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n, \ 147 | int howmany, \ 148 | C *in, const int *inembed, \ 149 | int istride, int idist, \ 150 | C *out, const int *onembed, \ 151 | int ostride, int odist, \ 152 | int sign, unsigned flags); \ 153 | \ 154 | FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims, \ 155 | int howmany_rank, \ 156 | const X(iodim) *howmany_dims, \ 157 | C *in, C *out, \ 158 | int sign, unsigned flags); \ 159 | FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \ 160 | int howmany_rank, \ 161 | const X(iodim) *howmany_dims, \ 162 | R *ri, R *ii, R *ro, R *io, \ 163 | unsigned flags); \ 164 | \ 165 | FFTW_EXTERN X(plan) X(plan_guru64_dft)(int rank, \ 166 | const X(iodim64) *dims, \ 167 | int howmany_rank, \ 168 | const X(iodim64) *howmany_dims, \ 169 | C *in, C *out, \ 170 | int sign, unsigned flags); \ 171 | FFTW_EXTERN X(plan) X(plan_guru64_split_dft)(int rank, \ 172 | const X(iodim64) *dims, \ 173 | int howmany_rank, \ 174 | const X(iodim64) *howmany_dims, \ 175 | R *ri, R *ii, R *ro, R *io, \ 176 | unsigned flags); \ 177 | \ 178 | FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out); \ 179 | FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii, \ 180 | R *ro, R *io); \ 181 | \ 182 | FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n, \ 183 | int howmany, \ 184 | R *in, const int *inembed, \ 185 | int istride, int idist, \ 186 | C *out, const int *onembed, \ 187 | int ostride, int odist, \ 188 | unsigned flags); \ 189 | \ 190 | FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n, \ 191 | R *in, C *out, unsigned flags); \ 192 | \ 193 | FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \ 194 | FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int n0, int n1, \ 195 | R *in, C *out, unsigned flags); \ 196 | FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int n0, int n1, \ 197 | int n2, \ 198 | R *in, C *out, unsigned flags); \ 199 | \ 200 | \ 201 | FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n, \ 202 | int howmany, \ 203 | C *in, const int *inembed, \ 204 | int istride, int idist, \ 205 | R *out, const int *onembed, \ 206 | int ostride, int odist, \ 207 | unsigned flags); \ 208 | \ 209 | FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n, \ 210 | C *in, R *out, unsigned flags); \ 211 | \ 212 | FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \ 213 | FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int n0, int n1, \ 214 | C *in, R *out, unsigned flags); \ 215 | FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int n0, int n1, \ 216 | int n2, \ 217 | C *in, R *out, unsigned flags); \ 218 | \ 219 | FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims, \ 220 | int howmany_rank, \ 221 | const X(iodim) *howmany_dims, \ 222 | R *in, C *out, \ 223 | unsigned flags); \ 224 | FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims, \ 225 | int howmany_rank, \ 226 | const X(iodim) *howmany_dims, \ 227 | C *in, R *out, \ 228 | unsigned flags); \ 229 | \ 230 | FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)( \ 231 | int rank, const X(iodim) *dims, \ 232 | int howmany_rank, \ 233 | const X(iodim) *howmany_dims, \ 234 | R *in, R *ro, R *io, \ 235 | unsigned flags); \ 236 | FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)( \ 237 | int rank, const X(iodim) *dims, \ 238 | int howmany_rank, \ 239 | const X(iodim) *howmany_dims, \ 240 | R *ri, R *ii, R *out, \ 241 | unsigned flags); \ 242 | \ 243 | FFTW_EXTERN X(plan) X(plan_guru64_dft_r2c)(int rank, \ 244 | const X(iodim64) *dims, \ 245 | int howmany_rank, \ 246 | const X(iodim64) *howmany_dims, \ 247 | R *in, C *out, \ 248 | unsigned flags); \ 249 | FFTW_EXTERN X(plan) X(plan_guru64_dft_c2r)(int rank, \ 250 | const X(iodim64) *dims, \ 251 | int howmany_rank, \ 252 | const X(iodim64) *howmany_dims, \ 253 | C *in, R *out, \ 254 | unsigned flags); \ 255 | \ 256 | FFTW_EXTERN X(plan) X(plan_guru64_split_dft_r2c)( \ 257 | int rank, const X(iodim64) *dims, \ 258 | int howmany_rank, \ 259 | const X(iodim64) *howmany_dims, \ 260 | R *in, R *ro, R *io, \ 261 | unsigned flags); \ 262 | FFTW_EXTERN X(plan) X(plan_guru64_split_dft_c2r)( \ 263 | int rank, const X(iodim64) *dims, \ 264 | int howmany_rank, \ 265 | const X(iodim64) *howmany_dims, \ 266 | R *ri, R *ii, R *out, \ 267 | unsigned flags); \ 268 | \ 269 | FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out); \ 270 | FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out); \ 271 | \ 272 | FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p, \ 273 | R *in, R *ro, R *io); \ 274 | FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p, \ 275 | R *ri, R *ii, R *out); \ 276 | \ 277 | FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n, \ 278 | int howmany, \ 279 | R *in, const int *inembed, \ 280 | int istride, int idist, \ 281 | R *out, const int *onembed, \ 282 | int ostride, int odist, \ 283 | const X(r2r_kind) *kind, unsigned flags); \ 284 | \ 285 | FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out, \ 286 | const X(r2r_kind) *kind, unsigned flags); \ 287 | \ 288 | FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out, \ 289 | X(r2r_kind) kind, unsigned flags); \ 290 | FFTW_EXTERN X(plan) X(plan_r2r_2d)(int n0, int n1, R *in, R *out, \ 291 | X(r2r_kind) kind0, X(r2r_kind) kind1, \ 292 | unsigned flags); \ 293 | FFTW_EXTERN X(plan) X(plan_r2r_3d)(int n0, int n1, int n2, \ 294 | R *in, R *out, X(r2r_kind) kind0, \ 295 | X(r2r_kind) kind1, X(r2r_kind) kind2, \ 296 | unsigned flags); \ 297 | \ 298 | FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims, \ 299 | int howmany_rank, \ 300 | const X(iodim) *howmany_dims, \ 301 | R *in, R *out, \ 302 | const X(r2r_kind) *kind, unsigned flags); \ 303 | \ 304 | FFTW_EXTERN X(plan) X(plan_guru64_r2r)(int rank, const X(iodim64) *dims, \ 305 | int howmany_rank, \ 306 | const X(iodim64) *howmany_dims, \ 307 | R *in, R *out, \ 308 | const X(r2r_kind) *kind, unsigned flags); \ 309 | \ 310 | FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out); \ 311 | \ 312 | FFTW_EXTERN void X(destroy_plan)(X(plan) p); \ 313 | FFTW_EXTERN void X(forget_wisdom)(void); \ 314 | FFTW_EXTERN void X(cleanup)(void); \ 315 | \ 316 | FFTW_EXTERN void X(set_timelimit)(double t); \ 317 | \ 318 | FFTW_EXTERN void X(plan_with_nthreads)(int nthreads); \ 319 | FFTW_EXTERN int X(init_threads)(void); \ 320 | FFTW_EXTERN void X(cleanup_threads)(void); \ 321 | FFTW_EXTERN void X(make_planner_thread_safe)(void); \ 322 | \ 323 | FFTW_EXTERN int X(export_wisdom_to_filename)(const char *filename); \ 324 | FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file); \ 325 | FFTW_EXTERN char *X(export_wisdom_to_string)(void); \ 326 | FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char, \ 327 | void *data); \ 328 | FFTW_EXTERN int X(import_system_wisdom)(void); \ 329 | FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename); \ 330 | FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file); \ 331 | FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string); \ 332 | FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \ 333 | \ 334 | FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file); \ 335 | FFTW_EXTERN void X(print_plan)(const X(plan) p); \ 336 | FFTW_EXTERN char *X(sprint_plan)(const X(plan) p); \ 337 | \ 338 | FFTW_EXTERN void *X(malloc)(size_t n); \ 339 | FFTW_EXTERN R *X(alloc_real)(size_t n); \ 340 | FFTW_EXTERN C *X(alloc_complex)(size_t n); \ 341 | FFTW_EXTERN void X(free)(void *p); \ 342 | \ 343 | FFTW_EXTERN void X(flops)(const X(plan) p, \ 344 | double *add, double *mul, double *fmas); \ 345 | FFTW_EXTERN double X(estimate_cost)(const X(plan) p); \ 346 | FFTW_EXTERN double X(cost)(const X(plan) p); \ 347 | \ 348 | FFTW_EXTERN int X(alignment_of)(R *p); \ 349 | FFTW_EXTERN const char X(version)[]; \ 350 | FFTW_EXTERN const char X(cc)[]; \ 351 | FFTW_EXTERN const char X(codelet_optim)[]; 352 | 353 | 354 | /* end of FFTW_DEFINE_API macro */ 355 | 356 | FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex) 357 | FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex) 358 | FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex) 359 | 360 | /* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64 361 | for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */ 362 | #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \ 363 | && !(defined(__ICC) || defined(__INTEL_COMPILER) || defined(__CUDACC__) || defined(__PGI)) \ 364 | && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__)) 365 | # if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I) 366 | /* note: __float128 is a typedef, which is not supported with the _Complex 367 | keyword in gcc, so instead we use this ugly __attribute__ version. 368 | However, we can't simply pass the __attribute__ version to 369 | FFTW_DEFINE_API because the __attribute__ confuses gcc in pointer 370 | types. Hence redefining FFTW_DEFINE_COMPLEX. Ugh. */ 371 | # undef FFTW_DEFINE_COMPLEX 372 | # define FFTW_DEFINE_COMPLEX(R, C) typedef _Complex float __attribute__((mode(TC))) C 373 | # endif 374 | FFTW_DEFINE_API(FFTW_MANGLE_QUAD, __float128, fftwq_complex) 375 | #endif 376 | 377 | #define FFTW_FORWARD (-1) 378 | #define FFTW_BACKWARD (+1) 379 | 380 | #define FFTW_NO_TIMELIMIT (-1.0) 381 | 382 | /* documented flags */ 383 | #define FFTW_MEASURE (0U) 384 | #define FFTW_DESTROY_INPUT (1U << 0) 385 | #define FFTW_UNALIGNED (1U << 1) 386 | #define FFTW_CONSERVE_MEMORY (1U << 2) 387 | #define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */ 388 | #define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */ 389 | #define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */ 390 | #define FFTW_ESTIMATE (1U << 6) 391 | #define FFTW_WISDOM_ONLY (1U << 21) 392 | 393 | /* undocumented beyond-guru flags */ 394 | #define FFTW_ESTIMATE_PATIENT (1U << 7) 395 | #define FFTW_BELIEVE_PCOST (1U << 8) 396 | #define FFTW_NO_DFT_R2HC (1U << 9) 397 | #define FFTW_NO_NONTHREADED (1U << 10) 398 | #define FFTW_NO_BUFFERING (1U << 11) 399 | #define FFTW_NO_INDIRECT_OP (1U << 12) 400 | #define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */ 401 | #define FFTW_NO_RANK_SPLITS (1U << 14) 402 | #define FFTW_NO_VRANK_SPLITS (1U << 15) 403 | #define FFTW_NO_VRECURSE (1U << 16) 404 | #define FFTW_NO_SIMD (1U << 17) 405 | #define FFTW_NO_SLOW (1U << 18) 406 | #define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19) 407 | #define FFTW_ALLOW_PRUNING (1U << 20) 408 | 409 | #ifdef __cplusplus 410 | } /* extern "C" */ 411 | #endif /* __cplusplus */ 412 | 413 | #endif /* FFTW3_H */ 414 | -------------------------------------------------------------------------------- /library/android/libfftw3f.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/android/libfftw3f.a -------------------------------------------------------------------------------- /library/ios/libfftw3f.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/ios/libfftw3f.a -------------------------------------------------------------------------------- /library/linux/libfftw3f.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/linux/libfftw3f.a -------------------------------------------------------------------------------- /library/macos/libfftw3f.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/macos/libfftw3f.a -------------------------------------------------------------------------------- /library/win_vs2012/libfftw3f.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/win_vs2012/libfftw3f.lib -------------------------------------------------------------------------------- /library/win_vs2012/libfftwf-3.6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/win_vs2012/libfftwf-3.6.dll -------------------------------------------------------------------------------- /library/win_vs2012/libfftwf-3.6.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spxnn/fftw-build/4d783420ac660b1d33557b4d2492cc2103762dad/library/win_vs2012/libfftwf-3.6.lib --------------------------------------------------------------------------------