Chris@10: <html lang="en">
Chris@10: <head>
Chris@10: <title>FFTW Constants in Fortran - FFTW 3.3.3</title>
Chris@10: <meta http-equiv="Content-Type" content="text/html">
Chris@10: <meta name="description" content="FFTW 3.3.3">
Chris@10: <meta name="generator" content="makeinfo 4.13">
Chris@10: <link title="Top" rel="start" href="index.html#Top">
Chris@10: <link rel="up" href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran" title="Calling FFTW from Legacy Fortran">
Chris@10: <link rel="prev" href="Fortran_002dinterface-routines.html#Fortran_002dinterface-routines" title="Fortran-interface routines">
Chris@10: <link rel="next" href="FFTW-Execution-in-Fortran.html#FFTW-Execution-in-Fortran" title="FFTW Execution in Fortran">
Chris@10: <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
Chris@10: <!--
Chris@10: This manual is for FFTW
Chris@10: (version 3.3.3, 25 November 2012).
Chris@10: 
Chris@10: Copyright (C) 2003 Matteo Frigo.
Chris@10: 
Chris@10: Copyright (C) 2003 Massachusetts Institute of Technology.
Chris@10: 
Chris@10:      Permission is granted to make and distribute verbatim copies of
Chris@10:      this manual provided the copyright notice and this permission
Chris@10:      notice are preserved on all copies.
Chris@10: 
Chris@10:      Permission is granted to copy and distribute modified versions of
Chris@10:      this manual under the conditions for verbatim copying, provided
Chris@10:      that the entire resulting derived work is distributed under the
Chris@10:      terms of a permission notice identical to this one.
Chris@10: 
Chris@10:      Permission is granted to copy and distribute translations of this
Chris@10:      manual into another language, under the above conditions for
Chris@10:      modified versions, except that this permission notice may be
Chris@10:      stated in a translation approved by the Free Software Foundation.
Chris@10:    -->
Chris@10: <meta http-equiv="Content-Style-Type" content="text/css">
Chris@10: <style type="text/css"><!--
Chris@10:   pre.display { font-family:inherit }
Chris@10:   pre.format  { font-family:inherit }
Chris@10:   pre.smalldisplay { font-family:inherit; font-size:smaller }
Chris@10:   pre.smallformat  { font-family:inherit; font-size:smaller }
Chris@10:   pre.smallexample { font-size:smaller }
Chris@10:   pre.smalllisp    { font-size:smaller }
Chris@10:   span.sc    { font-variant:small-caps }
Chris@10:   span.roman { font-family:serif; font-weight:normal; } 
Chris@10:   span.sansserif { font-family:sans-serif; font-weight:normal; } 
Chris@10: --></style>
Chris@10: </head>
Chris@10: <body>
Chris@10: <div class="node">
Chris@10: <a name="FFTW-Constants-in-Fortran"></a>
Chris@10: <p>
Chris@10: Next:&nbsp;<a rel="next" accesskey="n" href="FFTW-Execution-in-Fortran.html#FFTW-Execution-in-Fortran">FFTW Execution in Fortran</a>,
Chris@10: Previous:&nbsp;<a rel="previous" accesskey="p" href="Fortran_002dinterface-routines.html#Fortran_002dinterface-routines">Fortran-interface routines</a>,
Chris@10: Up:&nbsp;<a rel="up" accesskey="u" href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran">Calling FFTW from Legacy Fortran</a>
Chris@10: <hr>
Chris@10: </div>
Chris@10: 
Chris@10: <h3 class="section">8.2 FFTW Constants in Fortran</h3>
Chris@10: 
Chris@10: <p>When creating plans in FFTW, a number of constants are used to specify
Chris@10: options, such as <code>FFTW_MEASURE</code> or <code>FFTW_ESTIMATE</code>.  The
Chris@10: same constants must be used with the wrapper routines, but of course the
Chris@10: C header files where the constants are defined can't be incorporated
Chris@10: directly into Fortran code.
Chris@10: 
Chris@10:    <p>Instead, we have placed Fortran equivalents of the FFTW constant
Chris@10: definitions in the file <code>fftw3.f</code>, which can be found in the same
Chris@10: directory as <code>fftw3.h</code>.  If your Fortran compiler supports a
Chris@10: preprocessor of some sort, you should be able to <code>include</code> or
Chris@10: <code>#include</code> this file; otherwise, you can paste it directly into
Chris@10: your code.
Chris@10: 
Chris@10:    <p><a name="index-flags-583"></a>In C, you combine different flags (like <code>FFTW_PRESERVE_INPUT</code> and
Chris@10: <code>FFTW_MEASURE</code>) using the &lsquo;<samp><code>|</code></samp>&rsquo; operator; in Fortran
Chris@10: you should just use &lsquo;<samp><code>+</code></samp>&rsquo;.  (Take care not to add in the
Chris@10: same flag more than once, though.  Alternatively, you can use the
Chris@10: <code>ior</code> intrinsic function standardized in Fortran 95.)
Chris@10: 
Chris@10: <!--  -->
Chris@10:    </body></html>
Chris@10: