fftw3: Wisdom Export

 
 4.7.1 Wisdom Export
 -------------------
 
      int fftw_export_wisdom_to_filename(const char *filename);
      void fftw_export_wisdom_to_file(FILE *output_file);
      char *fftw_export_wisdom_to_string(void);
      void fftw_export_wisdom(void (*write_char)(char c, void *), void *data);
 
    These functions allow you to export all currently accumulated wisdom
 in a form from which it can be later imported and restored, even during
 a separate run of the program.  (SeeWords of Wisdom-Saving Plans.)
 The current store of wisdom is not affected by calling any of these
 routines.
 
    'fftw_export_wisdom' exports the wisdom to any output medium, as
 specified by the callback function 'write_char'.  'write_char' is a
 'putc'-like function that writes the character 'c' to some output; its
 second parameter is the 'data' pointer passed to 'fftw_export_wisdom'.
 For convenience, the following three "wrapper" routines are provided:
 
    'fftw_export_wisdom_to_filename' writes wisdom to a file named
 'filename' (which is created or overwritten), returning '1' on success
 and '0' on failure.  A lower-level function, which requires you to open
 and close the file yourself (e.g.  if you want to write wisdom to a
 portion of a larger file) is 'fftw_export_wisdom_to_file'.  This writes
 the wisdom to the current position in 'output_file', which should be
 open with write permission; upon exit, the file remains open and is
 positioned at the end of the wisdom data.
 
    'fftw_export_wisdom_to_string' returns a pointer to a
 'NULL'-terminated string holding the wisdom data.  This string is
 dynamically allocated, and it is the responsibility of the caller to
 deallocate it with 'free' when it is no longer needed.
 
    All of these routines export the wisdom in the same format, which we
 will not document here except to say that it is LISP-like ASCII text
 that is insensitive to white space.