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