Mercurial > hg > sv-dependency-builds
view src/fftw-3.3.3/doc/html/Wisdom-of-Fortran_003f.html @ 23:619f715526df sv_v2.1
Update Vamp plugin SDK to 2.5
author | Chris Cannam |
---|---|
date | Thu, 09 May 2013 10:52:46 +0100 |
parents | 37bf6b4a2645 |
children |
line wrap: on
line source
<html lang="en"> <head> <title>Wisdom of Fortran? - FFTW 3.3.3</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="FFTW 3.3.3"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran" title="Calling FFTW from Legacy Fortran"> <link rel="prev" href="Fortran-Examples.html#Fortran-Examples" title="Fortran Examples"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This manual is for FFTW (version 3.3.3, 25 November 2012). Copyright (C) 2003 Matteo Frigo. Copyright (C) 2003 Massachusetts Institute of Technology. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Wisdom-of-Fortran%3f"></a> <a name="Wisdom-of-Fortran_003f"></a> <p> Previous: <a rel="previous" accesskey="p" href="Fortran-Examples.html#Fortran-Examples">Fortran Examples</a>, Up: <a rel="up" accesskey="u" href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran">Calling FFTW from Legacy Fortran</a> <hr> </div> <h3 class="section">8.5 Wisdom of Fortran?</h3> <p>In this section, we discuss how one can import/export FFTW wisdom (saved plans) to/from a Fortran program; we assume that the reader is already familiar with wisdom, as described in <a href="Words-of-Wisdom_002dSaving-Plans.html#Words-of-Wisdom_002dSaving-Plans">Words of Wisdom-Saving Plans</a>. <p><a name="index-portability-598"></a>The basic problem is that is difficult to (portably) pass files and strings between Fortran and C, so we cannot provide a direct Fortran equivalent to the <code>fftw_export_wisdom_to_file</code>, etcetera, functions. Fortran interfaces <em>are</em> provided for the functions that do not take file/string arguments, however: <code>dfftw_import_system_wisdom</code>, <code>dfftw_import_wisdom</code>, <code>dfftw_export_wisdom</code>, and <code>dfftw_forget_wisdom</code>. <a name="index-dfftw_005fimport_005fsystem_005fwisdom-599"></a><a name="index-dfftw_005fimport_005fwisdom-600"></a><a name="index-dfftw_005fexport_005fwisdom-601"></a><a name="index-dfftw_005fforget_005fwisdom-602"></a> <p>So, for example, to import the system-wide wisdom, you would do: <pre class="example"> integer isuccess call dfftw_import_system_wisdom(isuccess) </pre> <p>As usual, the C return value is turned into a first parameter; <code>isuccess</code> is non-zero on success and zero on failure (e.g. if there is no system wisdom installed). <p>If you want to import/export wisdom from/to an arbitrary file or elsewhere, you can employ the generic <code>dfftw_import_wisdom</code> and <code>dfftw_export_wisdom</code> functions, for which you must supply a subroutine to read/write one character at a time. The FFTW package contains an example file <code>doc/f77_wisdom.f</code> demonstrating how to implement <code>import_wisdom_from_file</code> and <code>export_wisdom_to_file</code> subroutines in this way. (These routines cannot be compiled into the FFTW library itself, lest all FFTW-using programs be required to link with the Fortran I/O library.) </body></html>