Chris@10: Chris@10: Chris@10: Wisdom Export - FFTW 3.3.3 Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10:
Chris@10: Chris@10:

Chris@10: Next: , Chris@10: Previous: Wisdom, Chris@10: Up: Wisdom Chris@10:


Chris@10:
Chris@10: Chris@10:

4.7.1 Wisdom Export

Chris@10: 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: