V 1.2:
* Added a FAQ (in the FAQ/ directory). * Fixed bug in rfftwnd routines where a block was accidentally allocated to be too small, causing random memory to be overwritten (yikes!). (Amazingly, this bug only caused the test program to fail on one system that we could find. Our test suite can now catch this sort of bug.) * Abstractified taking differences of times (with fftw_time_diff macro/function) to allow more general timer data structures. * Added "wisdom" mechanism for saving plans & related info. * Made timing mechanism more robust and maintainable. (Instead of using a fixed number of iterations, we now repeatedly double the number of iterations until a specified time interval (FFTW_TIME_MIN) is reached.) * Fixed header files to prevent difficulties when a mix of C and C++ compilers is used, and to prevent problems with multiple inclusions. * Added experimental distributed-memory transforms using MPI. * Fixed memory leak in fftwnd_destroy_plan (reported by Richard Sullivan). Our test programs now all check for leaks. V. 1.1: * Improved speed (yes!) [Some clever tricks with twiddle factors and better code generator] * Renamed `blocks' to `codelets', just to be fashionable * Rewritten planner and executor--much simpler and more readable code. Reference-counter garbage collection employed throughout. * Much improved codelet generator. The ML code should be now readable by humans, and easier to modify. * Support for Prime Factor transforms in the codelet generator. * Renamed COMPLEX -> FFTW_COMPLEX to avoid clashes with existing packages. COMPLEX is still supported for compatibility with 1.0 * Added experimental real->complex transform (quick hack, use at your own risk). * Added experimental parallel transforms using Cilk. * Added experimental parallel transforms using threads (currently, POSIX threads and Solaris threads are implemented and tested). * Added DOS support, in the sense that we now support 8.3 filenames. V. 1.0: First release |