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