cannam@95: <html lang="en">
cannam@95: <head>
cannam@95: <title>Wisdom Import - FFTW 3.3.3</title>
cannam@95: <meta http-equiv="Content-Type" content="text/html">
cannam@95: <meta name="description" content="FFTW 3.3.3">
cannam@95: <meta name="generator" content="makeinfo 4.13">
cannam@95: <link title="Top" rel="start" href="index.html#Top">
cannam@95: <link rel="up" href="Wisdom.html#Wisdom" title="Wisdom">
cannam@95: <link rel="prev" href="Wisdom-Export.html#Wisdom-Export" title="Wisdom Export">
cannam@95: <link rel="next" href="Forgetting-Wisdom.html#Forgetting-Wisdom" title="Forgetting Wisdom">
cannam@95: <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
cannam@95: <!--
cannam@95: This manual is for FFTW
cannam@95: (version 3.3.3, 25 November 2012).
cannam@95: 
cannam@95: Copyright (C) 2003 Matteo Frigo.
cannam@95: 
cannam@95: Copyright (C) 2003 Massachusetts Institute of Technology.
cannam@95: 
cannam@95:      Permission is granted to make and distribute verbatim copies of
cannam@95:      this manual provided the copyright notice and this permission
cannam@95:      notice are preserved on all copies.
cannam@95: 
cannam@95:      Permission is granted to copy and distribute modified versions of
cannam@95:      this manual under the conditions for verbatim copying, provided
cannam@95:      that the entire resulting derived work is distributed under the
cannam@95:      terms of a permission notice identical to this one.
cannam@95: 
cannam@95:      Permission is granted to copy and distribute translations of this
cannam@95:      manual into another language, under the above conditions for
cannam@95:      modified versions, except that this permission notice may be
cannam@95:      stated in a translation approved by the Free Software Foundation.
cannam@95:    -->
cannam@95: <meta http-equiv="Content-Style-Type" content="text/css">
cannam@95: <style type="text/css"><!--
cannam@95:   pre.display { font-family:inherit }
cannam@95:   pre.format  { font-family:inherit }
cannam@95:   pre.smalldisplay { font-family:inherit; font-size:smaller }
cannam@95:   pre.smallformat  { font-family:inherit; font-size:smaller }
cannam@95:   pre.smallexample { font-size:smaller }
cannam@95:   pre.smalllisp    { font-size:smaller }
cannam@95:   span.sc    { font-variant:small-caps }
cannam@95:   span.roman { font-family:serif; font-weight:normal; } 
cannam@95:   span.sansserif { font-family:sans-serif; font-weight:normal; } 
cannam@95: --></style>
cannam@95: </head>
cannam@95: <body>
cannam@95: <div class="node">
cannam@95: <a name="Wisdom-Import"></a>
cannam@95: <p>
cannam@95: Next:&nbsp;<a rel="next" accesskey="n" href="Forgetting-Wisdom.html#Forgetting-Wisdom">Forgetting Wisdom</a>,
cannam@95: Previous:&nbsp;<a rel="previous" accesskey="p" href="Wisdom-Export.html#Wisdom-Export">Wisdom Export</a>,
cannam@95: Up:&nbsp;<a rel="up" accesskey="u" href="Wisdom.html#Wisdom">Wisdom</a>
cannam@95: <hr>
cannam@95: </div>
cannam@95: 
cannam@95: <h4 class="subsection">4.7.2 Wisdom Import</h4>
cannam@95: 
cannam@95: <pre class="example">     int fftw_import_system_wisdom(void);
cannam@95:      int fftw_import_wisdom_from_filename(const char *filename);
cannam@95:      int fftw_import_wisdom_from_string(const char *input_string);
cannam@95:      int fftw_import_wisdom(int (*read_char)(void *), void *data);
cannam@95: </pre>
cannam@95:    <p><a name="index-fftw_005fimport_005fwisdom-282"></a><a name="index-fftw_005fimport_005fsystem_005fwisdom-283"></a><a name="index-fftw_005fimport_005fwisdom_005ffrom_005ffilename-284"></a><a name="index-fftw_005fimport_005fwisdom_005ffrom_005ffile-285"></a><a name="index-fftw_005fimport_005fwisdom_005ffrom_005fstring-286"></a>
cannam@95: These functions import wisdom into a program from data stored by the
cannam@95: <code>fftw_export_wisdom</code> functions above. (See <a href="Words-of-Wisdom_002dSaving-Plans.html#Words-of-Wisdom_002dSaving-Plans">Words of Wisdom-Saving Plans</a>.)  The imported wisdom replaces any wisdom
cannam@95: already accumulated by the running program.
cannam@95: 
cannam@95:    <p><code>fftw_import_wisdom</code> imports wisdom from any input medium, as
cannam@95: specified by the callback function <code>read_char</code>. <code>read_char</code> is
cannam@95: a <code>getc</code>-like function that returns the next character in the
cannam@95: input; its parameter is the <code>data</code> pointer passed to
cannam@95: <code>fftw_import_wisdom</code>. If the end of the input data is reached
cannam@95: (which should never happen for valid data), <code>read_char</code> should
cannam@95: return <code>EOF</code> (as defined in <code>&lt;stdio.h&gt;</code>).  For convenience,
cannam@95: the following three &ldquo;wrapper&rdquo; routines are provided:
cannam@95: 
cannam@95:    <p><code>fftw_import_wisdom_from_filename</code> reads wisdom from a file named
cannam@95: <code>filename</code>.  A lower-level function, which requires you to open
cannam@95: and close the file yourself (e.g. if you want to read wisdom from a
cannam@95: portion of a larger file) is <code>fftw_import_wisdom_from_file</code>. This
cannam@95: reads wisdom from the current position in <code>input_file</code> (which
cannam@95: should be open with read permission); upon exit, the file remains
cannam@95: open, but the position of the read pointer is unspecified.
cannam@95: 
cannam@95:    <p><code>fftw_import_wisdom_from_string</code> reads wisdom from the
cannam@95: <code>NULL</code>-terminated string <code>input_string</code>.
cannam@95: 
cannam@95:    <p><code>fftw_import_system_wisdom</code> reads wisdom from an
cannam@95: implementation-defined standard file (<code>/etc/fftw/wisdom</code> on Unix
cannam@95: and GNU systems). 
cannam@95: <a name="index-wisdom_002c-system_002dwide-287"></a>
cannam@95: 
cannam@95:    <p>The return value of these import routines is <code>1</code> if the wisdom was
cannam@95: read successfully and <code>0</code> otherwise. Note that, in all of these
cannam@95: functions, any data in the input stream past the end of the wisdom data
cannam@95: is simply ignored.
cannam@95: 
cannam@95: <!-- =========> -->
cannam@95:    </body></html>
cannam@95: