00001 /* -*- C -*- */ 00002 /* 00003 * Copyright (c) 1997-1999 Massachusetts Institute of Technology 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 */ 00020 00021 /* fftw.h -- system-wide definitions */ 00022 /* $Id: config.h,v 1.1 2004/05/21 21:02:53 maxx Exp $ */ 00023 00024 /* configuration options (guessed by configure) */ 00025 00026 /* Define to empty if the keyword does not work. */ 00027 /* #undef const */ 00028 00029 /* Define if you have the gettimeofday function. */ 00030 /* #undef HAVE_GETTIMEOFDAY */ 00031 00032 /* Define if you have the BSDgettimeofday function. */ 00033 /* #undef HAVE_BSDGETTIMEOFDAY */ 00034 00035 /* Define if you have the <sys/time.h> header file. */ 00036 /* #undef HAVE_SYS_TIME_H */ 00037 00038 /* Define if you have the <unistd.h> header file. */ 00039 /* #undef HAVE_UNISTD_H */ 00040 00041 /* Define if you have the <getopt.h> header file. */ 00042 /* #undef HAVE_GETOPT_H */ 00043 00044 /* Define if you have the <malloc.h> header file */ 00045 /* #undef HAVE_MALLOC_H */ 00046 00047 /* Define if you have gethrtime() a la Solaris 2 */ 00048 /* #undef HAVE_GETHRTIME */ 00049 /* #undef HAVE_HRTIME_T */ 00050 00051 /* Define to sizeof int and long long, if available: */ 00052 #define SIZEOF_INT 0 00053 #define SIZEOF_LONG_LONG 0 00054 00055 #if (SIZEOF_INT != 0) && (SIZEOF_LONG_LONG >= 2 * SIZEOF_INT) 00056 # define LONGLONG_IS_TWOINTS 00057 #endif 00058 00059 /* Define to use "unsafe" modular multiply (can cause integer overflow 00060 and errors for transforms of large prime sizes using Rader). */ 00061 /* #undef FFTW_ENABLE_UNSAFE_MULMOD */ 00062 00063 /* Define if you have getopt() */ 00064 /* #undef HAVE_GETOPT */ 00065 00066 /* Define if you have getopt_long() */ 00067 /* #undef HAVE_GETOPT_LONG */ 00068 00069 /* Define if you have isnan() */ 00070 /* #undef HAVE_ISNAN */ 00071 00072 /* Define for enabling the high resolution Pentium timer */ 00073 /* #undef FFTW_ENABLE_PENTIUM_TIMER */ 00074 00075 /* 00076 * When using FFTW_ENABLE_PENTIUM_TIMER, set FFTW_CYCLES_PER_SEC 00077 * to your real CPU clock speed! 00078 */ 00079 /* This is for 200 MHz */ 00080 /* #define FFTW_CYCLES_PER_SEC 200000000L */ 00081 00082 /* 00083 * Define to enable a gcc/x86 specific hack that aligns 00084 * the stack to an 8-byte boundary 00085 */ 00086 /* #undef FFTW_ENABLE_I386_HACKS */ 00087 00088 /* Define when using a version of gcc that aligns the stack properly */ 00089 /* #undef FFTW_GCC_ALIGNS_STACK */ 00090 00091 /* Define to enable extra runtime checks for debugging. */ 00092 /* #undef FFTW_DEBUG */ 00093 00094 /* Define to enable vector-recurse feature. */ 00095 /* #undef FFTW_ENABLE_VECTOR_RECURSE */ 00096 00097 /* 00098 * Define to enable extra runtime checks for the alignment of variables 00099 * in the codelets (causes coredump for misaligned double on x86). 00100 */ 00101 /* #undef FFTW_DEBUG_ALIGNMENT */ 00102 00103 #define FFTW_VERSION "2.1.3" 00104 00105 /* Use Win32 high-resolution timer */ 00106 #if defined(__WIN32__) || defined(WIN32) || defined(_WINDOWS) 00107 # define HAVE_WIN32_TIMER 00108 # define HAVE_WIN32 00109 #endif 00110 00111 /* Use MacOS Time Manager timer */ 00112 #if defined(MAC) || defined(macintosh) 00113 # define HAVE_MAC_TIMER 00114 # define HAVE_MACOS 00115 00116 /* Define to use nanosecond timer on PCI PowerMacs: */ 00117 /* (WARNING: experimental, use at your own risk.) */ 00118 /* #undef HAVE_MAC_PCI_TIMER */ 00119 #endif 00120 00121 /* define if you have alloca.h: */ 00122 /* #undef HAVE_ALLOCA_H */ 00123 00124 /* define if you have the alloca function: */ 00125 /* #undef HAVE_ALLOCA */ 00126 00127 /************************** threads configuration ************************/ 00128 00129 /* The following preprocessor symbols select which threads library 00130 to use when compiling the FFTW threads parallel libraries: */ 00131 00132 /* #undef FFTW_USING_SOLARIS_THREADS */ 00133 /* #undef FFTW_USING_POSIX_THREADS */ 00134 /* #undef FFTW_USING_BEOS_THREADS */ 00135 /* #undef FFTW_USING_MACH_THREADS */ 00136 00137 /* #undef HAVE_PTHREAD_CREATE_UNDETACHED */ 00138 00139 /* #undef HAVE_MACH_CTHREADS_H */ 00140 /* #undef HAVE_CTHREADS_H */ 00141 /* #undef HAVE_CTHREAD_H */ 00142 00143 #ifdef HAVE_WIN32 00144 #define FFTW_USING_WIN32_THREADS 00145 #endif 00146 00147 #ifdef HAVE_MACOS 00148 #define FFTW_USING_MACOS_THREADS 00149 #endif 00150 00151 /*********************** fortran wrapper configuration *********************/ 00152 00153 /* These symbols select how to mangle function names so that they will 00154 be recognized by the linker. If none of them are defined, then 00155 Fortran wrappers will not be compiled. */ 00156 00157 /* #undef FFTW_FORTRANIZE_LOWERCASE */ 00158 /* #undef FFTW_FORTRANIZE_LOWERCASE_UNDERSCORE */ 00159 /* #undef FFTW_FORTRANIZE_UPPERCASE */ 00160 /* #undef FFTW_FORTRANIZE_UPPERCASE_UNDERSCORE */ 00161 00162 /* define the following if names with an underscore get an extra one: */ 00163 /* #undef FFTW_FORTRANIZE_EXTRA_UNDERSCORE */ 00164 00165 /* The following symbols control how MPI_Comm data structures are 00166 translated between Fortran and C for the fftw_mpi wrappers. See 00167 the file mpi/fftw_f77_mpi.h for more information. */ 00168 /* #undef HAVE_MPI_COMM_F2C */ 00169 /* #undef FFTW_USE_F77_MPI_COMM */ 00170 /* #undef FFTW_USE_F77_MPI_COMM_P */