Chris@19: Chris@19: Chris@19: Wisdom Export - FFTW 3.3.4 Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19:
Chris@19: Chris@19:

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


Chris@19:
Chris@19: Chris@19:

4.7.1 Wisdom Export

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