Revision: 9503 http://pure-data.svn.sourceforge.net/pure-data/?rev=9503&view=rev Author: eighthave Date: 2008-02-22 10:31:09 -0800 (Fri, 22 Feb 2008)
Log Message: ----------- importing fftw-3.1.2.tar.gz
Added Paths: ----------- vendor/fftw3/ vendor/fftw3/current/ vendor/fftw3/current/AUTHORS vendor/fftw3/current/CONVENTIONS vendor/fftw3/current/COPYING vendor/fftw3/current/COPYRIGHT vendor/fftw3/current/ChangeLog vendor/fftw3/current/INSTALL vendor/fftw3/current/Makefile.am vendor/fftw3/current/Makefile.in vendor/fftw3/current/NEWS vendor/fftw3/current/README vendor/fftw3/current/TODO vendor/fftw3/current/aclocal.m4 vendor/fftw3/current/api/ vendor/fftw3/current/api/Makefile.am vendor/fftw3/current/api/Makefile.in vendor/fftw3/current/api/api.h vendor/fftw3/current/api/apiplan.c vendor/fftw3/current/api/configure.c vendor/fftw3/current/api/execute-dft-c2r.c vendor/fftw3/current/api/execute-dft-r2c.c vendor/fftw3/current/api/execute-dft.c vendor/fftw3/current/api/execute-r2r.c vendor/fftw3/current/api/execute-split-dft-c2r.c vendor/fftw3/current/api/execute-split-dft-r2c.c vendor/fftw3/current/api/execute-split-dft.c vendor/fftw3/current/api/execute.c vendor/fftw3/current/api/export-wisdom-to-file.c vendor/fftw3/current/api/export-wisdom-to-string.c vendor/fftw3/current/api/export-wisdom.c vendor/fftw3/current/api/extract-reim.c vendor/fftw3/current/api/f77api.c vendor/fftw3/current/api/f77funcs.h vendor/fftw3/current/api/fftw3.f vendor/fftw3/current/api/fftw3.h vendor/fftw3/current/api/flops.c vendor/fftw3/current/api/forget-wisdom.c vendor/fftw3/current/api/import-system-wisdom.c vendor/fftw3/current/api/import-wisdom-from-file.c vendor/fftw3/current/api/import-wisdom-from-string.c vendor/fftw3/current/api/import-wisdom.c vendor/fftw3/current/api/malloc.c vendor/fftw3/current/api/map-r2r-kind.c vendor/fftw3/current/api/mapflags.c vendor/fftw3/current/api/mkprinter-file.c vendor/fftw3/current/api/mktensor-iodims.c vendor/fftw3/current/api/mktensor-rowmajor.c vendor/fftw3/current/api/plan-dft-1d.c vendor/fftw3/current/api/plan-dft-2d.c vendor/fftw3/current/api/plan-dft-3d.c vendor/fftw3/current/api/plan-dft-c2r-1d.c vendor/fftw3/current/api/plan-dft-c2r-2d.c vendor/fftw3/current/api/plan-dft-c2r-3d.c vendor/fftw3/current/api/plan-dft-c2r.c vendor/fftw3/current/api/plan-dft-r2c-1d.c vendor/fftw3/current/api/plan-dft-r2c-2d.c vendor/fftw3/current/api/plan-dft-r2c-3d.c vendor/fftw3/current/api/plan-dft-r2c.c vendor/fftw3/current/api/plan-dft.c vendor/fftw3/current/api/plan-guru-dft-c2r.c vendor/fftw3/current/api/plan-guru-dft-r2c.c vendor/fftw3/current/api/plan-guru-dft.c vendor/fftw3/current/api/plan-guru-r2r.c vendor/fftw3/current/api/plan-guru-split-dft-c2r.c vendor/fftw3/current/api/plan-guru-split-dft-r2c.c vendor/fftw3/current/api/plan-guru-split-dft.c vendor/fftw3/current/api/plan-many-dft-c2r.c vendor/fftw3/current/api/plan-many-dft-r2c.c vendor/fftw3/current/api/plan-many-dft.c vendor/fftw3/current/api/plan-many-r2r.c vendor/fftw3/current/api/plan-r2r-1d.c vendor/fftw3/current/api/plan-r2r-2d.c vendor/fftw3/current/api/plan-r2r-3d.c vendor/fftw3/current/api/plan-r2r.c vendor/fftw3/current/api/print-plan.c vendor/fftw3/current/api/rdft2-pad.c vendor/fftw3/current/api/the-planner.c vendor/fftw3/current/api/version.c vendor/fftw3/current/api/x77.h vendor/fftw3/current/bootstrap.sh vendor/fftw3/current/config.guess vendor/fftw3/current/config.h.in vendor/fftw3/current/config.sub vendor/fftw3/current/configure vendor/fftw3/current/configure.ac vendor/fftw3/current/depcomp vendor/fftw3/current/dft/ vendor/fftw3/current/dft/Makefile.am vendor/fftw3/current/dft/Makefile.in vendor/fftw3/current/dft/bluestein.c vendor/fftw3/current/dft/buffered.c vendor/fftw3/current/dft/codelet-dft.h vendor/fftw3/current/dft/codelets/ vendor/fftw3/current/dft/codelets/Makefile.am vendor/fftw3/current/dft/codelets/Makefile.in vendor/fftw3/current/dft/codelets/f.h vendor/fftw3/current/dft/codelets/n.c vendor/fftw3/current/dft/codelets/n.h vendor/fftw3/current/dft/codelets/q.h vendor/fftw3/current/dft/codelets/standard/ vendor/fftw3/current/dft/codelets/standard/Makefile.am vendor/fftw3/current/dft/codelets/standard/Makefile.in vendor/fftw3/current/dft/codelets/standard/codlist.c vendor/fftw3/current/dft/codelets/standard/n1_10.c vendor/fftw3/current/dft/codelets/standard/n1_11.c vendor/fftw3/current/dft/codelets/standard/n1_12.c vendor/fftw3/current/dft/codelets/standard/n1_13.c vendor/fftw3/current/dft/codelets/standard/n1_14.c vendor/fftw3/current/dft/codelets/standard/n1_15.c vendor/fftw3/current/dft/codelets/standard/n1_16.c vendor/fftw3/current/dft/codelets/standard/n1_2.c vendor/fftw3/current/dft/codelets/standard/n1_3.c vendor/fftw3/current/dft/codelets/standard/n1_32.c vendor/fftw3/current/dft/codelets/standard/n1_4.c vendor/fftw3/current/dft/codelets/standard/n1_5.c vendor/fftw3/current/dft/codelets/standard/n1_6.c vendor/fftw3/current/dft/codelets/standard/n1_64.c vendor/fftw3/current/dft/codelets/standard/n1_7.c vendor/fftw3/current/dft/codelets/standard/n1_8.c vendor/fftw3/current/dft/codelets/standard/n1_9.c vendor/fftw3/current/dft/codelets/standard/q1_2.c vendor/fftw3/current/dft/codelets/standard/q1_3.c vendor/fftw3/current/dft/codelets/standard/q1_4.c vendor/fftw3/current/dft/codelets/standard/q1_5.c vendor/fftw3/current/dft/codelets/standard/q1_6.c vendor/fftw3/current/dft/codelets/standard/q1_8.c vendor/fftw3/current/dft/codelets/standard/t1_10.c vendor/fftw3/current/dft/codelets/standard/t1_12.c vendor/fftw3/current/dft/codelets/standard/t1_15.c vendor/fftw3/current/dft/codelets/standard/t1_16.c vendor/fftw3/current/dft/codelets/standard/t1_2.c vendor/fftw3/current/dft/codelets/standard/t1_3.c vendor/fftw3/current/dft/codelets/standard/t1_32.c vendor/fftw3/current/dft/codelets/standard/t1_4.c vendor/fftw3/current/dft/codelets/standard/t1_5.c vendor/fftw3/current/dft/codelets/standard/t1_6.c vendor/fftw3/current/dft/codelets/standard/t1_64.c vendor/fftw3/current/dft/codelets/standard/t1_7.c vendor/fftw3/current/dft/codelets/standard/t1_8.c vendor/fftw3/current/dft/codelets/standard/t1_9.c vendor/fftw3/current/dft/codelets/standard/t2_16.c vendor/fftw3/current/dft/codelets/standard/t2_32.c vendor/fftw3/current/dft/codelets/standard/t2_4.c vendor/fftw3/current/dft/codelets/standard/t2_64.c vendor/fftw3/current/dft/codelets/standard/t2_8.c vendor/fftw3/current/dft/codelets/t.c vendor/fftw3/current/dft/codelets/t.h vendor/fftw3/current/dft/conf.c vendor/fftw3/current/dft/ct.c vendor/fftw3/current/dft/ct.h vendor/fftw3/current/dft/ctsq.c vendor/fftw3/current/dft/dft.h vendor/fftw3/current/dft/dftw-direct.c vendor/fftw3/current/dft/dftw-generic.c vendor/fftw3/current/dft/dftw-genericbuf.c vendor/fftw3/current/dft/direct.c vendor/fftw3/current/dft/generic.c vendor/fftw3/current/dft/indirect-transpose.c vendor/fftw3/current/dft/indirect.c vendor/fftw3/current/dft/k7/ vendor/fftw3/current/dft/k7/Makefile.am vendor/fftw3/current/dft/k7/Makefile.in vendor/fftw3/current/dft/k7/codelets/ vendor/fftw3/current/dft/k7/codelets/Makefile.am vendor/fftw3/current/dft/k7/codelets/Makefile.in vendor/fftw3/current/dft/k7/codelets/codlist.c vendor/fftw3/current/dft/k7/codelets/f1k7_16.S vendor/fftw3/current/dft/k7/codelets/f1k7_2.S vendor/fftw3/current/dft/k7/codelets/f1k7_32.S vendor/fftw3/current/dft/k7/codelets/f1k7_4.S vendor/fftw3/current/dft/k7/codelets/f1k7_64.S vendor/fftw3/current/dft/k7/codelets/f1k7_8.S vendor/fftw3/current/dft/k7/codelets/f1k7i_16.S vendor/fftw3/current/dft/k7/codelets/f1k7i_2.S vendor/fftw3/current/dft/k7/codelets/f1k7i_32.S vendor/fftw3/current/dft/k7/codelets/f1k7i_4.S vendor/fftw3/current/dft/k7/codelets/f1k7i_64.S vendor/fftw3/current/dft/k7/codelets/f1k7i_8.S vendor/fftw3/current/dft/k7/codelets/n1k7_10.S vendor/fftw3/current/dft/k7/codelets/n1k7_11.S vendor/fftw3/current/dft/k7/codelets/n1k7_12.S vendor/fftw3/current/dft/k7/codelets/n1k7_128.S vendor/fftw3/current/dft/k7/codelets/n1k7_13.S vendor/fftw3/current/dft/k7/codelets/n1k7_14.S vendor/fftw3/current/dft/k7/codelets/n1k7_15.S vendor/fftw3/current/dft/k7/codelets/n1k7_16.S vendor/fftw3/current/dft/k7/codelets/n1k7_2.S vendor/fftw3/current/dft/k7/codelets/n1k7_3.S vendor/fftw3/current/dft/k7/codelets/n1k7_32.S vendor/fftw3/current/dft/k7/codelets/n1k7_4.S vendor/fftw3/current/dft/k7/codelets/n1k7_5.S vendor/fftw3/current/dft/k7/codelets/n1k7_6.S vendor/fftw3/current/dft/k7/codelets/n1k7_64.S vendor/fftw3/current/dft/k7/codelets/n1k7_7.S vendor/fftw3/current/dft/k7/codelets/n1k7_8.S vendor/fftw3/current/dft/k7/codelets/n1k7_9.S vendor/fftw3/current/dft/k7/codelets/n1k7i_10.S vendor/fftw3/current/dft/k7/codelets/n1k7i_11.S vendor/fftw3/current/dft/k7/codelets/n1k7i_12.S vendor/fftw3/current/dft/k7/codelets/n1k7i_128.S vendor/fftw3/current/dft/k7/codelets/n1k7i_13.S vendor/fftw3/current/dft/k7/codelets/n1k7i_14.S vendor/fftw3/current/dft/k7/codelets/n1k7i_15.S vendor/fftw3/current/dft/k7/codelets/n1k7i_16.S vendor/fftw3/current/dft/k7/codelets/n1k7i_2.S vendor/fftw3/current/dft/k7/codelets/n1k7i_3.S vendor/fftw3/current/dft/k7/codelets/n1k7i_32.S vendor/fftw3/current/dft/k7/codelets/n1k7i_4.S vendor/fftw3/current/dft/k7/codelets/n1k7i_5.S vendor/fftw3/current/dft/k7/codelets/n1k7i_6.S vendor/fftw3/current/dft/k7/codelets/n1k7i_64.S vendor/fftw3/current/dft/k7/codelets/n1k7i_7.S vendor/fftw3/current/dft/k7/codelets/n1k7i_8.S vendor/fftw3/current/dft/k7/codelets/n1k7i_9.S vendor/fftw3/current/dft/k7/codelets/t1k7_10.S vendor/fftw3/current/dft/k7/codelets/t1k7_12.S vendor/fftw3/current/dft/k7/codelets/t1k7_15.S vendor/fftw3/current/dft/k7/codelets/t1k7_16.S vendor/fftw3/current/dft/k7/codelets/t1k7_2.S vendor/fftw3/current/dft/k7/codelets/t1k7_3.S vendor/fftw3/current/dft/k7/codelets/t1k7_32.S vendor/fftw3/current/dft/k7/codelets/t1k7_4.S vendor/fftw3/current/dft/k7/codelets/t1k7_5.S vendor/fftw3/current/dft/k7/codelets/t1k7_6.S vendor/fftw3/current/dft/k7/codelets/t1k7_64.S vendor/fftw3/current/dft/k7/codelets/t1k7_7.S vendor/fftw3/current/dft/k7/codelets/t1k7_8.S vendor/fftw3/current/dft/k7/codelets/t1k7_9.S vendor/fftw3/current/dft/k7/codelets/t1k7i_10.S vendor/fftw3/current/dft/k7/codelets/t1k7i_12.S vendor/fftw3/current/dft/k7/codelets/t1k7i_15.S vendor/fftw3/current/dft/k7/codelets/t1k7i_16.S vendor/fftw3/current/dft/k7/codelets/t1k7i_2.S vendor/fftw3/current/dft/k7/codelets/t1k7i_3.S vendor/fftw3/current/dft/k7/codelets/t1k7i_32.S vendor/fftw3/current/dft/k7/codelets/t1k7i_4.S vendor/fftw3/current/dft/k7/codelets/t1k7i_5.S vendor/fftw3/current/dft/k7/codelets/t1k7i_6.S vendor/fftw3/current/dft/k7/codelets/t1k7i_64.S vendor/fftw3/current/dft/k7/codelets/t1k7i_7.S vendor/fftw3/current/dft/k7/codelets/t1k7i_8.S vendor/fftw3/current/dft/k7/codelets/t1k7i_9.S vendor/fftw3/current/dft/k7/k7.c vendor/fftw3/current/dft/kdft-dif.c vendor/fftw3/current/dft/kdft-difsq.c vendor/fftw3/current/dft/kdft-dit.c vendor/fftw3/current/dft/kdft.c vendor/fftw3/current/dft/nop.c vendor/fftw3/current/dft/plan.c vendor/fftw3/current/dft/problem.c vendor/fftw3/current/dft/rader.c vendor/fftw3/current/dft/rank-geq2.c vendor/fftw3/current/dft/simd/ vendor/fftw3/current/dft/simd/Makefile.am vendor/fftw3/current/dft/simd/Makefile.in vendor/fftw3/current/dft/simd/codelets/ vendor/fftw3/current/dft/simd/codelets/Makefile.am vendor/fftw3/current/dft/simd/codelets/Makefile.in vendor/fftw3/current/dft/simd/codelets/codlist.c vendor/fftw3/current/dft/simd/codelets/n1bv_10.c vendor/fftw3/current/dft/simd/codelets/n1bv_11.c vendor/fftw3/current/dft/simd/codelets/n1bv_12.c vendor/fftw3/current/dft/simd/codelets/n1bv_13.c vendor/fftw3/current/dft/simd/codelets/n1bv_14.c vendor/fftw3/current/dft/simd/codelets/n1bv_15.c vendor/fftw3/current/dft/simd/codelets/n1bv_16.c vendor/fftw3/current/dft/simd/codelets/n1bv_2.c vendor/fftw3/current/dft/simd/codelets/n1bv_3.c vendor/fftw3/current/dft/simd/codelets/n1bv_32.c vendor/fftw3/current/dft/simd/codelets/n1bv_4.c vendor/fftw3/current/dft/simd/codelets/n1bv_5.c vendor/fftw3/current/dft/simd/codelets/n1bv_6.c vendor/fftw3/current/dft/simd/codelets/n1bv_64.c vendor/fftw3/current/dft/simd/codelets/n1bv_7.c vendor/fftw3/current/dft/simd/codelets/n1bv_8.c vendor/fftw3/current/dft/simd/codelets/n1bv_9.c vendor/fftw3/current/dft/simd/codelets/n1fv_10.c vendor/fftw3/current/dft/simd/codelets/n1fv_11.c vendor/fftw3/current/dft/simd/codelets/n1fv_12.c vendor/fftw3/current/dft/simd/codelets/n1fv_13.c vendor/fftw3/current/dft/simd/codelets/n1fv_14.c vendor/fftw3/current/dft/simd/codelets/n1fv_15.c vendor/fftw3/current/dft/simd/codelets/n1fv_16.c vendor/fftw3/current/dft/simd/codelets/n1fv_2.c vendor/fftw3/current/dft/simd/codelets/n1fv_3.c vendor/fftw3/current/dft/simd/codelets/n1fv_32.c vendor/fftw3/current/dft/simd/codelets/n1fv_4.c vendor/fftw3/current/dft/simd/codelets/n1fv_5.c vendor/fftw3/current/dft/simd/codelets/n1fv_6.c vendor/fftw3/current/dft/simd/codelets/n1fv_64.c vendor/fftw3/current/dft/simd/codelets/n1fv_7.c vendor/fftw3/current/dft/simd/codelets/n1fv_8.c vendor/fftw3/current/dft/simd/codelets/n1fv_9.c vendor/fftw3/current/dft/simd/codelets/n2bv_10.c vendor/fftw3/current/dft/simd/codelets/n2bv_12.c vendor/fftw3/current/dft/simd/codelets/n2bv_14.c vendor/fftw3/current/dft/simd/codelets/n2bv_16.c vendor/fftw3/current/dft/simd/codelets/n2bv_2.c vendor/fftw3/current/dft/simd/codelets/n2bv_32.c vendor/fftw3/current/dft/simd/codelets/n2bv_4.c vendor/fftw3/current/dft/simd/codelets/n2bv_6.c vendor/fftw3/current/dft/simd/codelets/n2bv_64.c vendor/fftw3/current/dft/simd/codelets/n2bv_8.c vendor/fftw3/current/dft/simd/codelets/n2fv_10.c vendor/fftw3/current/dft/simd/codelets/n2fv_12.c vendor/fftw3/current/dft/simd/codelets/n2fv_14.c vendor/fftw3/current/dft/simd/codelets/n2fv_16.c vendor/fftw3/current/dft/simd/codelets/n2fv_2.c vendor/fftw3/current/dft/simd/codelets/n2fv_32.c vendor/fftw3/current/dft/simd/codelets/n2fv_4.c vendor/fftw3/current/dft/simd/codelets/n2fv_6.c vendor/fftw3/current/dft/simd/codelets/n2fv_64.c vendor/fftw3/current/dft/simd/codelets/n2fv_8.c vendor/fftw3/current/dft/simd/codelets/n2sv_16.c vendor/fftw3/current/dft/simd/codelets/n2sv_32.c vendor/fftw3/current/dft/simd/codelets/n2sv_4.c vendor/fftw3/current/dft/simd/codelets/n2sv_64.c vendor/fftw3/current/dft/simd/codelets/n2sv_8.c vendor/fftw3/current/dft/simd/codelets/q1bv_2.c vendor/fftw3/current/dft/simd/codelets/q1bv_4.c vendor/fftw3/current/dft/simd/codelets/q1bv_8.c vendor/fftw3/current/dft/simd/codelets/q1fv_2.c vendor/fftw3/current/dft/simd/codelets/q1fv_4.c vendor/fftw3/current/dft/simd/codelets/q1fv_8.c vendor/fftw3/current/dft/simd/codelets/t1bv_10.c vendor/fftw3/current/dft/simd/codelets/t1bv_12.c vendor/fftw3/current/dft/simd/codelets/t1bv_15.c vendor/fftw3/current/dft/simd/codelets/t1bv_16.c vendor/fftw3/current/dft/simd/codelets/t1bv_2.c vendor/fftw3/current/dft/simd/codelets/t1bv_3.c vendor/fftw3/current/dft/simd/codelets/t1bv_32.c vendor/fftw3/current/dft/simd/codelets/t1bv_4.c vendor/fftw3/current/dft/simd/codelets/t1bv_5.c vendor/fftw3/current/dft/simd/codelets/t1bv_6.c vendor/fftw3/current/dft/simd/codelets/t1bv_64.c vendor/fftw3/current/dft/simd/codelets/t1bv_7.c vendor/fftw3/current/dft/simd/codelets/t1bv_8.c vendor/fftw3/current/dft/simd/codelets/t1bv_9.c vendor/fftw3/current/dft/simd/codelets/t1fv_10.c vendor/fftw3/current/dft/simd/codelets/t1fv_12.c vendor/fftw3/current/dft/simd/codelets/t1fv_15.c vendor/fftw3/current/dft/simd/codelets/t1fv_16.c vendor/fftw3/current/dft/simd/codelets/t1fv_2.c vendor/fftw3/current/dft/simd/codelets/t1fv_3.c vendor/fftw3/current/dft/simd/codelets/t1fv_32.c vendor/fftw3/current/dft/simd/codelets/t1fv_4.c vendor/fftw3/current/dft/simd/codelets/t1fv_5.c vendor/fftw3/current/dft/simd/codelets/t1fv_6.c vendor/fftw3/current/dft/simd/codelets/t1fv_64.c vendor/fftw3/current/dft/simd/codelets/t1fv_7.c vendor/fftw3/current/dft/simd/codelets/t1fv_8.c vendor/fftw3/current/dft/simd/codelets/t1fv_9.c vendor/fftw3/current/dft/simd/codelets/t1sv_16.c vendor/fftw3/current/dft/simd/codelets/t1sv_2.c vendor/fftw3/current/dft/simd/codelets/t1sv_32.c vendor/fftw3/current/dft/simd/codelets/t1sv_4.c vendor/fftw3/current/dft/simd/codelets/t1sv_8.c vendor/fftw3/current/dft/simd/codelets/t2bv_16.c vendor/fftw3/current/dft/simd/codelets/t2bv_2.c vendor/fftw3/current/dft/simd/codelets/t2bv_32.c vendor/fftw3/current/dft/simd/codelets/t2bv_4.c vendor/fftw3/current/dft/simd/codelets/t2bv_64.c vendor/fftw3/current/dft/simd/codelets/t2bv_8.c vendor/fftw3/current/dft/simd/codelets/t2fv_16.c vendor/fftw3/current/dft/simd/codelets/t2fv_2.c vendor/fftw3/current/dft/simd/codelets/t2fv_32.c vendor/fftw3/current/dft/simd/codelets/t2fv_4.c vendor/fftw3/current/dft/simd/codelets/t2fv_64.c vendor/fftw3/current/dft/simd/codelets/t2fv_8.c vendor/fftw3/current/dft/simd/codelets/t2sv_16.c vendor/fftw3/current/dft/simd/codelets/t2sv_32.c vendor/fftw3/current/dft/simd/codelets/t2sv_4.c vendor/fftw3/current/dft/simd/codelets/t2sv_8.c vendor/fftw3/current/dft/simd/codelets/t3bv_16.c vendor/fftw3/current/dft/simd/codelets/t3bv_32.c vendor/fftw3/current/dft/simd/codelets/t3bv_4.c vendor/fftw3/current/dft/simd/codelets/t3bv_8.c vendor/fftw3/current/dft/simd/codelets/t3fv_16.c vendor/fftw3/current/dft/simd/codelets/t3fv_32.c vendor/fftw3/current/dft/simd/codelets/t3fv_4.c vendor/fftw3/current/dft/simd/codelets/t3fv_8.c vendor/fftw3/current/dft/simd/n1b.c vendor/fftw3/current/dft/simd/n1b.h vendor/fftw3/current/dft/simd/n1f.c vendor/fftw3/current/dft/simd/n1f.h vendor/fftw3/current/dft/simd/n2b.c vendor/fftw3/current/dft/simd/n2b.h vendor/fftw3/current/dft/simd/n2f.c vendor/fftw3/current/dft/simd/n2f.h vendor/fftw3/current/dft/simd/n2s.c vendor/fftw3/current/dft/simd/n2s.h vendor/fftw3/current/dft/simd/q1b.c vendor/fftw3/current/dft/simd/q1b.h vendor/fftw3/current/dft/simd/q1f.c vendor/fftw3/current/dft/simd/q1f.h vendor/fftw3/current/dft/simd/t.c vendor/fftw3/current/dft/simd/t1b.h vendor/fftw3/current/dft/simd/t1f.h vendor/fftw3/current/dft/simd/t2b.h vendor/fftw3/current/dft/simd/t2f.h vendor/fftw3/current/dft/simd/t3b.h vendor/fftw3/current/dft/simd/t3f.h vendor/fftw3/current/dft/simd/ts.c vendor/fftw3/current/dft/simd/ts.h vendor/fftw3/current/dft/solve.c vendor/fftw3/current/dft/vrank-geq1.c vendor/fftw3/current/dft/zero.c vendor/fftw3/current/doc/ vendor/fftw3/current/doc/FAQ/ vendor/fftw3/current/doc/FAQ/Makefile.am vendor/fftw3/current/doc/FAQ/Makefile.in vendor/fftw3/current/doc/FAQ/bfnnconv.pl vendor/fftw3/current/doc/FAQ/fftw-faq.ascii vendor/fftw3/current/doc/FAQ/fftw-faq.bfnn vendor/fftw3/current/doc/FAQ/fftw-faq.html/ vendor/fftw3/current/doc/FAQ/fftw-faq.html/index.html vendor/fftw3/current/doc/FAQ/fftw-faq.html/section1.html vendor/fftw3/current/doc/FAQ/fftw-faq.html/section2.html vendor/fftw3/current/doc/FAQ/fftw-faq.html/section3.html vendor/fftw3/current/doc/FAQ/fftw-faq.html/section4.html vendor/fftw3/current/doc/FAQ/fftw-faq.html/section5.html vendor/fftw3/current/doc/FAQ/html.refs vendor/fftw3/current/doc/FAQ/m-ascii.pl vendor/fftw3/current/doc/FAQ/m-html.pl vendor/fftw3/current/doc/FAQ/m-info.pl vendor/fftw3/current/doc/FAQ/m-lout.pl vendor/fftw3/current/doc/FAQ/m-post.pl vendor/fftw3/current/doc/Makefile.am vendor/fftw3/current/doc/Makefile.in vendor/fftw3/current/doc/equation-dft.png vendor/fftw3/current/doc/equation-dht.png vendor/fftw3/current/doc/equation-idft.png vendor/fftw3/current/doc/equation-redft00.png vendor/fftw3/current/doc/equation-redft01.png vendor/fftw3/current/doc/equation-redft10.png vendor/fftw3/current/doc/equation-redft11.png vendor/fftw3/current/doc/equation-rodft00.png vendor/fftw3/current/doc/equation-rodft01.png vendor/fftw3/current/doc/equation-rodft10.png vendor/fftw3/current/doc/equation-rodft11.png vendor/fftw3/current/doc/f77_wisdom.f vendor/fftw3/current/doc/fftw3.info vendor/fftw3/current/doc/fftw3.pdf vendor/fftw3/current/doc/fftw3.texi vendor/fftw3/current/doc/html/ vendor/fftw3/current/doc/html/1d-Discrete-Hartley-Transforms-_0028DHTs_0029.html vendor/fftw3/current/doc/html/1d-Real_002deven-DFTs-_0028DCTs_0029.html vendor/fftw3/current/doc/html/1d-Real_002dodd-DFTs-_0028DSTs_0029.html vendor/fftw3/current/doc/html/Acknowledgments.html vendor/fftw3/current/doc/html/Advanced-Complex-DFTs.html vendor/fftw3/current/doc/html/Advanced-Interface.html vendor/fftw3/current/doc/html/Advanced-Real_002ddata-DFTs.html vendor/fftw3/current/doc/html/Advanced-Real_002dto_002dreal-Transforms.html vendor/fftw3/current/doc/html/Basic-Interface.html vendor/fftw3/current/doc/html/Calling-FFTW-from-Fortran.html vendor/fftw3/current/doc/html/Caveats-in-Using-Wisdom.html vendor/fftw3/current/doc/html/Column_002dmajor-Format.html vendor/fftw3/current/doc/html/Complex-DFTs.html vendor/fftw3/current/doc/html/Complex-Multi_002dDimensional-DFTs.html vendor/fftw3/current/doc/html/Complex-One_002dDimensional-DFTs.html vendor/fftw3/current/doc/html/Complex-numbers.html vendor/fftw3/current/doc/html/Concept-Index.html vendor/fftw3/current/doc/html/Cycle-Counters.html vendor/fftw3/current/doc/html/Data-Alignment.html vendor/fftw3/current/doc/html/Data-Types-and-Files.html vendor/fftw3/current/doc/html/Dynamic-Arrays-in-C.html vendor/fftw3/current/doc/html/Dynamic-Arrays-in-C_002dThe-Wrong-Way.html vendor/fftw3/current/doc/html/FFTW-Constants-in-Fortran.html vendor/fftw3/current/doc/html/FFTW-Reference.html vendor/fftw3/current/doc/html/Fixed_002dsize-Arrays-in-C.html vendor/fftw3/current/doc/html/Forgetting-Wisdom.html vendor/fftw3/current/doc/html/Fortran-Examples.html vendor/fftw3/current/doc/html/Fortran_002dinterface-routines.html vendor/fftw3/current/doc/html/Generating-your-own-code.html vendor/fftw3/current/doc/html/Guru-Complex-DFTs.html vendor/fftw3/current/doc/html/Guru-Execution-of-Plans.html vendor/fftw3/current/doc/html/Guru-Interface.html vendor/fftw3/current/doc/html/Guru-Real_002ddata-DFTs.html vendor/fftw3/current/doc/html/Guru-Real_002dto_002dreal-Transforms.html vendor/fftw3/current/doc/html/Guru-vector-and-transform-sizes.html vendor/fftw3/current/doc/html/How-Many-Threads-to-Use_003f.html vendor/fftw3/current/doc/html/Installation-and-Customization.html vendor/fftw3/current/doc/html/Installation-and-Supported-Hardware_002fSoftware.html vendor/fftw3/current/doc/html/Installation-on-Unix.html vendor/fftw3/current/doc/html/Installation-on-non_002dUnix-systems.html vendor/fftw3/current/doc/html/Interleaved-and-split-arrays.html vendor/fftw3/current/doc/html/Introduction.html vendor/fftw3/current/doc/html/Library-Index.html vendor/fftw3/current/doc/html/License-and-Copyright.html vendor/fftw3/current/doc/html/Memory-Allocation.html vendor/fftw3/current/doc/html/More-DFTs-of-Real-Data.html vendor/fftw3/current/doc/html/Multi_002dDimensional-DFTs-of-Real-Data.html vendor/fftw3/current/doc/html/Multi_002ddimensional-Array-Format.html vendor/fftw3/current/doc/html/Multi_002ddimensional-Transforms.html vendor/fftw3/current/doc/html/Multi_002dthreaded-FFTW.html vendor/fftw3/current/doc/html/One_002dDimensional-DFTs-of-Real-Data.html vendor/fftw3/current/doc/html/Other-Important-Topics.html vendor/fftw3/current/doc/html/Parallel-FFTW.html vendor/fftw3/current/doc/html/Planner-Flags.html vendor/fftw3/current/doc/html/Precision.html vendor/fftw3/current/doc/html/Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029.html vendor/fftw3/current/doc/html/Real_002ddata-DFT-Array-Format.html vendor/fftw3/current/doc/html/Real_002ddata-DFTs.html vendor/fftw3/current/doc/html/Real_002dto_002dReal-Transform-Kinds.html vendor/fftw3/current/doc/html/Real_002dto_002dReal-Transforms.html vendor/fftw3/current/doc/html/Row_002dmajor-Format.html vendor/fftw3/current/doc/html/SIMD-alignment-and-fftw_005fmalloc.html vendor/fftw3/current/doc/html/Stack-alignment-on-x86.html vendor/fftw3/current/doc/html/The-1d-Discrete-Fourier-Transform-_0028DFT_0029.html vendor/fftw3/current/doc/html/The-1d-Real_002ddata-DFT.html vendor/fftw3/current/doc/html/The-Discrete-Hartley-Transform.html vendor/fftw3/current/doc/html/The-Halfcomplex_002dformat-DFT.html vendor/fftw3/current/doc/html/Thread-safety.html vendor/fftw3/current/doc/html/Tutorial.html vendor/fftw3/current/doc/html/Upgrading-from-FFTW-version-2.html vendor/fftw3/current/doc/html/Usage-of-Multi_002dthreaded-FFTW.html vendor/fftw3/current/doc/html/Using-Plans.html vendor/fftw3/current/doc/html/What-FFTW-Really-Computes.html vendor/fftw3/current/doc/html/Wisdom-Export.html vendor/fftw3/current/doc/html/Wisdom-Import.html vendor/fftw3/current/doc/html/Wisdom-Utilities.html vendor/fftw3/current/doc/html/Wisdom-of-Fortran_003f.html vendor/fftw3/current/doc/html/Wisdom.html vendor/fftw3/current/doc/html/Words-of-Wisdom_002dSaving-Plans.html vendor/fftw3/current/doc/html/equation-dft.png vendor/fftw3/current/doc/html/equation-dht.png vendor/fftw3/current/doc/html/equation-idft.png vendor/fftw3/current/doc/html/equation-redft00.png vendor/fftw3/current/doc/html/equation-redft01.png vendor/fftw3/current/doc/html/equation-redft10.png vendor/fftw3/current/doc/html/equation-redft11.png vendor/fftw3/current/doc/html/equation-rodft00.png vendor/fftw3/current/doc/html/equation-rodft01.png vendor/fftw3/current/doc/html/equation-rodft10.png vendor/fftw3/current/doc/html/equation-rodft11.png vendor/fftw3/current/doc/html/index.html vendor/fftw3/current/doc/html/rfftwnd.png vendor/fftw3/current/doc/mdate-sh vendor/fftw3/current/doc/rfftwnd.eps vendor/fftw3/current/doc/rfftwnd.fig vendor/fftw3/current/doc/stamp-vti vendor/fftw3/current/doc/texinfo.tex vendor/fftw3/current/doc/version.texi vendor/fftw3/current/fftw.pc.in vendor/fftw3/current/genfft/ vendor/fftw3/current/genfft/.depend vendor/fftw3/current/genfft/Makefile.am vendor/fftw3/current/genfft/Makefile.in vendor/fftw3/current/genfft/algsimp.ml vendor/fftw3/current/genfft/algsimp.mli vendor/fftw3/current/genfft/annotate.ml vendor/fftw3/current/genfft/annotate.mli vendor/fftw3/current/genfft/assoctable.ml vendor/fftw3/current/genfft/assoctable.mli vendor/fftw3/current/genfft/c.ml vendor/fftw3/current/genfft/c.mli vendor/fftw3/current/genfft/complex.ml vendor/fftw3/current/genfft/complex.mli vendor/fftw3/current/genfft/conv.ml vendor/fftw3/current/genfft/conv.mli vendor/fftw3/current/genfft/dag.ml vendor/fftw3/current/genfft/dag.mli vendor/fftw3/current/genfft/expr.ml vendor/fftw3/current/genfft/expr.mli vendor/fftw3/current/genfft/fft.ml vendor/fftw3/current/genfft/fft.mli vendor/fftw3/current/genfft/gen_athnotw.ml vendor/fftw3/current/genfft/gen_athtw.ml vendor/fftw3/current/genfft/gen_conv.ml vendor/fftw3/current/genfft/gen_hc2hc.ml vendor/fftw3/current/genfft/gen_hc2r.ml vendor/fftw3/current/genfft/gen_mdct.ml vendor/fftw3/current/genfft/gen_notw.ml vendor/fftw3/current/genfft/gen_notw_c.ml vendor/fftw3/current/genfft/gen_r2hc.ml vendor/fftw3/current/genfft/gen_r2r.ml vendor/fftw3/current/genfft/gen_twiddle.ml vendor/fftw3/current/genfft/gen_twiddle_c.ml vendor/fftw3/current/genfft/gen_twidsq.ml vendor/fftw3/current/genfft/gen_twidsq_c.ml vendor/fftw3/current/genfft/genutil.ml vendor/fftw3/current/genfft/littlesimp.ml vendor/fftw3/current/genfft/littlesimp.mli vendor/fftw3/current/genfft/magic.ml vendor/fftw3/current/genfft/monads.ml vendor/fftw3/current/genfft/number.ml vendor/fftw3/current/genfft/number.mli vendor/fftw3/current/genfft/oracle.ml vendor/fftw3/current/genfft/oracle.mli vendor/fftw3/current/genfft/schedule.ml vendor/fftw3/current/genfft/schedule.mli vendor/fftw3/current/genfft/simd.ml vendor/fftw3/current/genfft/simd.mli vendor/fftw3/current/genfft/simdmagic.ml vendor/fftw3/current/genfft/to_alist.ml vendor/fftw3/current/genfft/to_alist.mli vendor/fftw3/current/genfft/trig.ml vendor/fftw3/current/genfft/trig.mli vendor/fftw3/current/genfft/twiddle.ml vendor/fftw3/current/genfft/twiddle.mli vendor/fftw3/current/genfft/unique.ml vendor/fftw3/current/genfft/unique.mli vendor/fftw3/current/genfft/util.ml vendor/fftw3/current/genfft/util.mli vendor/fftw3/current/genfft/variable.ml vendor/fftw3/current/genfft/variable.mli vendor/fftw3/current/genfft-k7/ vendor/fftw3/current/genfft-k7/.depend vendor/fftw3/current/genfft-k7/Makefile.am vendor/fftw3/current/genfft-k7/Makefile.in vendor/fftw3/current/genfft-k7/algsimp.ml vendor/fftw3/current/genfft-k7/algsimp.mli vendor/fftw3/current/genfft-k7/assignmentsToVfpinstrs.ml vendor/fftw3/current/genfft-k7/assignmentsToVfpinstrs.mli vendor/fftw3/current/genfft-k7/assoctable.ml vendor/fftw3/current/genfft-k7/assoctable.mli vendor/fftw3/current/genfft-k7/balanceVfpinstrs.ml vendor/fftw3/current/genfft-k7/balanceVfpinstrs.mli vendor/fftw3/current/genfft-k7/complex.ml vendor/fftw3/current/genfft-k7/complex.mli vendor/fftw3/current/genfft-k7/expr.ml vendor/fftw3/current/genfft-k7/expr.mli vendor/fftw3/current/genfft-k7/fft.ml vendor/fftw3/current/genfft-k7/fft.mli vendor/fftw3/current/genfft-k7/genUtil.ml vendor/fftw3/current/genfft-k7/gen_notw.ml vendor/fftw3/current/genfft-k7/gen_twiddle.ml vendor/fftw3/current/genfft-k7/id.ml vendor/fftw3/current/genfft-k7/id.mli vendor/fftw3/current/genfft-k7/k7Basics.ml vendor/fftw3/current/genfft-k7/k7Basics.mli vendor/fftw3/current/genfft-k7/k7ExecutionModel.ml vendor/fftw3/current/genfft-k7/k7ExecutionModel.mli vendor/fftw3/current/genfft-k7/k7FlatInstructionScheduling.ml vendor/fftw3/current/genfft-k7/k7FlatInstructionScheduling.mli vendor/fftw3/current/genfft-k7/k7InstructionSchedulingBasics.ml vendor/fftw3/current/genfft-k7/k7InstructionSchedulingBasics.mli vendor/fftw3/current/genfft-k7/k7RegisterAllocationBasics.ml vendor/fftw3/current/genfft-k7/k7RegisterAllocationBasics.mli vendor/fftw3/current/genfft-k7/k7RegisterAllocator.ml vendor/fftw3/current/genfft-k7/k7RegisterAllocator.mli vendor/fftw3/current/genfft-k7/k7RegisterAllocatorEATranslation.ml vendor/fftw3/current/genfft-k7/k7RegisterAllocatorEATranslation.mli vendor/fftw3/current/genfft-k7/k7RegisterAllocatorInit.ml vendor/fftw3/current/genfft-k7/k7RegisterAllocatorInit.mli vendor/fftw3/current/genfft-k7/k7RegisterReallocation.ml vendor/fftw3/current/genfft-k7/k7RegisterReallocation.mli vendor/fftw3/current/genfft-k7/k7Translate.ml vendor/fftw3/current/genfft-k7/k7Translate.mli vendor/fftw3/current/genfft-k7/k7Unparsing.ml vendor/fftw3/current/genfft-k7/k7Unparsing.mli vendor/fftw3/current/genfft-k7/k7Vectorization.ml vendor/fftw3/current/genfft-k7/k7Vectorization.mli vendor/fftw3/current/genfft-k7/littlesimp.ml vendor/fftw3/current/genfft-k7/littlesimp.mli vendor/fftw3/current/genfft-k7/magic.ml vendor/fftw3/current/genfft-k7/memoMonad.ml vendor/fftw3/current/genfft-k7/memoMonad.mli vendor/fftw3/current/genfft-k7/monads.ml vendor/fftw3/current/genfft-k7/nonDetMonad.ml vendor/fftw3/current/genfft-k7/nonDetMonad.mli vendor/fftw3/current/genfft-k7/nullVectorization.ml vendor/fftw3/current/genfft-k7/nullVectorization.mli vendor/fftw3/current/genfft-k7/number.ml vendor/fftw3/current/genfft-k7/number.mli vendor/fftw3/current/genfft-k7/oracle.ml vendor/fftw3/current/genfft-k7/oracle.mli vendor/fftw3/current/genfft-k7/stateMonad.ml vendor/fftw3/current/genfft-k7/stateMonad.mli vendor/fftw3/current/genfft-k7/to_alist.ml vendor/fftw3/current/genfft-k7/to_alist.mli vendor/fftw3/current/genfft-k7/twiddle.ml vendor/fftw3/current/genfft-k7/twiddle.mli vendor/fftw3/current/genfft-k7/util.ml vendor/fftw3/current/genfft-k7/util.mli vendor/fftw3/current/genfft-k7/vAnnotatedScheduler.ml vendor/fftw3/current/genfft-k7/vAnnotatedScheduler.mli vendor/fftw3/current/genfft-k7/vDag.ml vendor/fftw3/current/genfft-k7/vDag.mli vendor/fftw3/current/genfft-k7/vFpBasics.ml vendor/fftw3/current/genfft-k7/vFpBasics.mli vendor/fftw3/current/genfft-k7/vFpUnparsing.ml vendor/fftw3/current/genfft-k7/vFpUnparsing.mli vendor/fftw3/current/genfft-k7/vImproveSchedule.ml vendor/fftw3/current/genfft-k7/vImproveSchedule.mli vendor/fftw3/current/genfft-k7/vK7Optimization.ml vendor/fftw3/current/genfft-k7/vK7Optimization.mli vendor/fftw3/current/genfft-k7/vScheduler.ml vendor/fftw3/current/genfft-k7/vScheduler.mli vendor/fftw3/current/genfft-k7/vSimdBasics.ml vendor/fftw3/current/genfft-k7/vSimdBasics.mli vendor/fftw3/current/genfft-k7/vSimdIndexing.ml vendor/fftw3/current/genfft-k7/vSimdIndexing.mli vendor/fftw3/current/genfft-k7/vSimdUnparsing.ml vendor/fftw3/current/genfft-k7/vSimdUnparsing.mli vendor/fftw3/current/genfft-k7/variable.ml vendor/fftw3/current/genfft-k7/variable.mli vendor/fftw3/current/install-sh vendor/fftw3/current/kernel/ vendor/fftw3/current/kernel/Makefile.am vendor/fftw3/current/kernel/Makefile.in vendor/fftw3/current/kernel/align.c vendor/fftw3/current/kernel/alloc.c vendor/fftw3/current/kernel/assert.c vendor/fftw3/current/kernel/awake.c vendor/fftw3/current/kernel/buffered.c vendor/fftw3/current/kernel/cpy1d.c vendor/fftw3/current/kernel/cpy2d-pair.c vendor/fftw3/current/kernel/cpy2d.c vendor/fftw3/current/kernel/ct.c vendor/fftw3/current/kernel/cycle.h vendor/fftw3/current/kernel/debug.c vendor/fftw3/current/kernel/hash.c vendor/fftw3/current/kernel/iabs.c vendor/fftw3/current/kernel/ifftw.h vendor/fftw3/current/kernel/kalloc.c vendor/fftw3/current/kernel/md5-1.c vendor/fftw3/current/kernel/md5.c vendor/fftw3/current/kernel/minmax.c vendor/fftw3/current/kernel/ops.c vendor/fftw3/current/kernel/pickdim.c vendor/fftw3/current/kernel/plan.c vendor/fftw3/current/kernel/planner.c vendor/fftw3/current/kernel/primes.c vendor/fftw3/current/kernel/print.c vendor/fftw3/current/kernel/problem.c vendor/fftw3/current/kernel/rader.c vendor/fftw3/current/kernel/scan.c vendor/fftw3/current/kernel/solver.c vendor/fftw3/current/kernel/solvtab.c vendor/fftw3/current/kernel/stride.c vendor/fftw3/current/kernel/tensor.c vendor/fftw3/current/kernel/tensor1.c vendor/fftw3/current/kernel/tensor2.c vendor/fftw3/current/kernel/tensor4.c vendor/fftw3/current/kernel/tensor5.c vendor/fftw3/current/kernel/tensor7.c vendor/fftw3/current/kernel/tensor8.c vendor/fftw3/current/kernel/tensor9.c vendor/fftw3/current/kernel/tile2d.c vendor/fftw3/current/kernel/timer.c vendor/fftw3/current/kernel/transpose.c vendor/fftw3/current/kernel/trig.c vendor/fftw3/current/kernel/twiddle.c vendor/fftw3/current/libbench2/ vendor/fftw3/current/libbench2/Makefile.am vendor/fftw3/current/libbench2/Makefile.in vendor/fftw3/current/libbench2/aligned-main.c vendor/fftw3/current/libbench2/allocate.c vendor/fftw3/current/libbench2/aset.c vendor/fftw3/current/libbench2/bench-main.c vendor/fftw3/current/libbench2/bench-user.h vendor/fftw3/current/libbench2/bench.h vendor/fftw3/current/libbench2/can-do.c vendor/fftw3/current/libbench2/caset.c vendor/fftw3/current/libbench2/dotens2.c vendor/fftw3/current/libbench2/info.c vendor/fftw3/current/libbench2/main.c vendor/fftw3/current/libbench2/mflops.c vendor/fftw3/current/libbench2/mp.c vendor/fftw3/current/libbench2/my-getopt.c vendor/fftw3/current/libbench2/my-getopt.h vendor/fftw3/current/libbench2/ovtpvt.c vendor/fftw3/current/libbench2/pow2.c vendor/fftw3/current/libbench2/problem.c vendor/fftw3/current/libbench2/report.c vendor/fftw3/current/libbench2/speed.c vendor/fftw3/current/libbench2/tensor.c vendor/fftw3/current/libbench2/timer.c vendor/fftw3/current/libbench2/timer2.c vendor/fftw3/current/libbench2/useropt.c vendor/fftw3/current/libbench2/util.c vendor/fftw3/current/libbench2/verify-dft.c vendor/fftw3/current/libbench2/verify-lib.c vendor/fftw3/current/libbench2/verify-r2r.c vendor/fftw3/current/libbench2/verify-rdft2.c vendor/fftw3/current/libbench2/verify.c vendor/fftw3/current/libbench2/verify.h vendor/fftw3/current/libbench2/zero.c vendor/fftw3/current/ltmain.sh vendor/fftw3/current/m4/ vendor/fftw3/current/m4/CVS/ vendor/fftw3/current/m4/CVS/Entries vendor/fftw3/current/m4/CVS/Repository vendor/fftw3/current/m4/CVS/Root vendor/fftw3/current/m4/CVS/Tag vendor/fftw3/current/m4/acx_pthread.m4 vendor/fftw3/current/m4/amx_prog_as.m4 vendor/fftw3/current/m4/ax_cc_maxopt.m4 vendor/fftw3/current/m4/ax_check_compiler_flags.m4 vendor/fftw3/current/m4/ax_compiler_vendor.m4 vendor/fftw3/current/m4/ax_gcc_aligns_stack.m4 vendor/fftw3/current/m4/ax_gcc_archflag.m4 vendor/fftw3/current/m4/ax_gcc_version.m4 vendor/fftw3/current/m4/ax_gcc_x86_cpuid.m4 vendor/fftw3/current/m4/ax_openmp.m4 vendor/fftw3/current/m4/ocaml.m4 vendor/fftw3/current/missing vendor/fftw3/current/rdft/ vendor/fftw3/current/rdft/Makefile.am vendor/fftw3/current/rdft/Makefile.in vendor/fftw3/current/rdft/buffered.c vendor/fftw3/current/rdft/buffered2.c vendor/fftw3/current/rdft/codelet-rdft.h vendor/fftw3/current/rdft/codelets/ vendor/fftw3/current/rdft/codelets/Makefile.am vendor/fftw3/current/rdft/codelets/Makefile.in vendor/fftw3/current/rdft/codelets/hb.h vendor/fftw3/current/rdft/codelets/hc2r/ vendor/fftw3/current/rdft/codelets/hc2r/Makefile.am vendor/fftw3/current/rdft/codelets/hc2r/Makefile.in vendor/fftw3/current/rdft/codelets/hc2r/codlist.c vendor/fftw3/current/rdft/codelets/hc2r/hb_10.c vendor/fftw3/current/rdft/codelets/hc2r/hb_12.c vendor/fftw3/current/rdft/codelets/hc2r/hb_15.c vendor/fftw3/current/rdft/codelets/hc2r/hb_16.c vendor/fftw3/current/rdft/codelets/hc2r/hb_2.c vendor/fftw3/current/rdft/codelets/hc2r/hb_3.c vendor/fftw3/current/rdft/codelets/hc2r/hb_32.c vendor/fftw3/current/rdft/codelets/hc2r/hb_4.c vendor/fftw3/current/rdft/codelets/hc2r/hb_5.c vendor/fftw3/current/rdft/codelets/hc2r/hb_6.c vendor/fftw3/current/rdft/codelets/hc2r/hb_64.c vendor/fftw3/current/rdft/codelets/hc2r/hb_7.c vendor/fftw3/current/rdft/codelets/hc2r/hb_8.c vendor/fftw3/current/rdft/codelets/hc2r/hb_9.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_10.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_12.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_15.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_16.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_2.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_3.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_32.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_4.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_5.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_6.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_64.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_7.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_8.c vendor/fftw3/current/rdft/codelets/hc2r/hc2rIII_9.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_10.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_11.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_12.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_128.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_13.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_14.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_15.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_16.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_3.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_32.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_4.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_5.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_6.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_64.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_7.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_8.c vendor/fftw3/current/rdft/codelets/hc2r/hc2r_9.c vendor/fftw3/current/rdft/codelets/hc2r.c vendor/fftw3/current/rdft/codelets/hc2r.h vendor/fftw3/current/rdft/codelets/hc2rIII.h vendor/fftw3/current/rdft/codelets/hf.h vendor/fftw3/current/rdft/codelets/hfb.c vendor/fftw3/current/rdft/codelets/r2hc/ vendor/fftw3/current/rdft/codelets/r2hc/Makefile.am vendor/fftw3/current/rdft/codelets/r2hc/Makefile.in vendor/fftw3/current/rdft/codelets/r2hc/codlist.c vendor/fftw3/current/rdft/codelets/r2hc/hf2_16.c vendor/fftw3/current/rdft/codelets/r2hc/hf2_32.c vendor/fftw3/current/rdft/codelets/r2hc/hf2_4.c vendor/fftw3/current/rdft/codelets/r2hc/hf2_64.c vendor/fftw3/current/rdft/codelets/r2hc/hf2_8.c vendor/fftw3/current/rdft/codelets/r2hc/hf_10.c vendor/fftw3/current/rdft/codelets/r2hc/hf_12.c vendor/fftw3/current/rdft/codelets/r2hc/hf_15.c vendor/fftw3/current/rdft/codelets/r2hc/hf_16.c vendor/fftw3/current/rdft/codelets/r2hc/hf_2.c vendor/fftw3/current/rdft/codelets/r2hc/hf_3.c vendor/fftw3/current/rdft/codelets/r2hc/hf_32.c vendor/fftw3/current/rdft/codelets/r2hc/hf_4.c vendor/fftw3/current/rdft/codelets/r2hc/hf_5.c vendor/fftw3/current/rdft/codelets/r2hc/hf_6.c vendor/fftw3/current/rdft/codelets/r2hc/hf_64.c vendor/fftw3/current/rdft/codelets/r2hc/hf_7.c vendor/fftw3/current/rdft/codelets/r2hc/hf_8.c vendor/fftw3/current/rdft/codelets/r2hc/hf_9.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_10.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_12.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_15.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_16.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_2.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_3.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_32.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_4.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_5.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_6.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_64.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_7.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_8.c vendor/fftw3/current/rdft/codelets/r2hc/r2hcII_9.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_10.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_11.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_12.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_128.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_13.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_14.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_15.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_16.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_2.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_3.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_32.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_4.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_5.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_6.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_64.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_7.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_8.c vendor/fftw3/current/rdft/codelets/r2hc/r2hc_9.c vendor/fftw3/current/rdft/codelets/r2hc.c vendor/fftw3/current/rdft/codelets/r2hc.h vendor/fftw3/current/rdft/codelets/r2hcII.h vendor/fftw3/current/rdft/codelets/r2r/ vendor/fftw3/current/rdft/codelets/r2r/Makefile.am vendor/fftw3/current/rdft/codelets/r2r/Makefile.in vendor/fftw3/current/rdft/codelets/r2r/codlist.c vendor/fftw3/current/rdft/codelets/r2r/e01_8.c vendor/fftw3/current/rdft/codelets/r2r/e10_8.c vendor/fftw3/current/rdft/codelets/r2r.c vendor/fftw3/current/rdft/codelets/r2r.h vendor/fftw3/current/rdft/conf.c vendor/fftw3/current/rdft/dft-r2hc.c vendor/fftw3/current/rdft/dht-r2hc.c vendor/fftw3/current/rdft/dht-rader.c vendor/fftw3/current/rdft/direct.c vendor/fftw3/current/rdft/direct2.c vendor/fftw3/current/rdft/generic.c vendor/fftw3/current/rdft/hc2hc-common.c vendor/fftw3/current/rdft/hc2hc-direct.c vendor/fftw3/current/rdft/hc2hc-directbuf.c vendor/fftw3/current/rdft/hc2hc-generic.c vendor/fftw3/current/rdft/hc2hc.c vendor/fftw3/current/rdft/hc2hc.h vendor/fftw3/current/rdft/indirect.c vendor/fftw3/current/rdft/khc2hc.c vendor/fftw3/current/rdft/khc2r.c vendor/fftw3/current/rdft/kr2hc.c vendor/fftw3/current/rdft/kr2r.c vendor/fftw3/current/rdft/nop.c vendor/fftw3/current/rdft/nop2.c vendor/fftw3/current/rdft/plan.c vendor/fftw3/current/rdft/plan2.c vendor/fftw3/current/rdft/problem.c vendor/fftw3/current/rdft/problem2.c vendor/fftw3/current/rdft/rank-geq2-rdft2.c vendor/fftw3/current/rdft/rank-geq2.c vendor/fftw3/current/rdft/rank0-rdft2.c vendor/fftw3/current/rdft/rank0.c vendor/fftw3/current/rdft/rdft-dht.c vendor/fftw3/current/rdft/rdft.h vendor/fftw3/current/rdft/rdft2-inplace-strides.c vendor/fftw3/current/rdft/rdft2-radix2.c vendor/fftw3/current/rdft/rdft2-strides.c vendor/fftw3/current/rdft/rdft2-tensor-max-index.c vendor/fftw3/current/rdft/solve.c vendor/fftw3/current/rdft/solve2.c vendor/fftw3/current/rdft/vrank-geq1-rdft2.c vendor/fftw3/current/rdft/vrank-geq1.c vendor/fftw3/current/rdft/vrank3-transpose.c vendor/fftw3/current/reodft/ vendor/fftw3/current/reodft/Makefile.am vendor/fftw3/current/reodft/Makefile.in vendor/fftw3/current/reodft/conf.c vendor/fftw3/current/reodft/redft00e-r2hc-pad.c vendor/fftw3/current/reodft/redft00e-r2hc.c vendor/fftw3/current/reodft/reodft.h vendor/fftw3/current/reodft/reodft00e-splitradix.c vendor/fftw3/current/reodft/reodft010e-r2hc.c vendor/fftw3/current/reodft/reodft11e-r2hc-odd.c vendor/fftw3/current/reodft/reodft11e-r2hc.c vendor/fftw3/current/reodft/reodft11e-radix2.c vendor/fftw3/current/reodft/rodft00e-r2hc-pad.c vendor/fftw3/current/reodft/rodft00e-r2hc.c vendor/fftw3/current/simd/ vendor/fftw3/current/simd/Makefile.am vendor/fftw3/current/simd/Makefile.in vendor/fftw3/current/simd/README vendor/fftw3/current/simd/altivec.c vendor/fftw3/current/simd/nonportable/ vendor/fftw3/current/simd/nonportable/Makefile.am vendor/fftw3/current/simd/nonportable/Makefile.in vendor/fftw3/current/simd/nonportable/sse.c vendor/fftw3/current/simd/nonportable/sse2.c vendor/fftw3/current/simd/simd-altivec.h vendor/fftw3/current/simd/simd-sse.h vendor/fftw3/current/simd/simd-sse2.h vendor/fftw3/current/simd/simd.h vendor/fftw3/current/simd/sse.c vendor/fftw3/current/simd/sse2.c vendor/fftw3/current/simd/taint.c vendor/fftw3/current/simd/x86-cpuid.h vendor/fftw3/current/support/ vendor/fftw3/current/support/Makefile.am vendor/fftw3/current/support/Makefile.codelets vendor/fftw3/current/support/Makefile.in vendor/fftw3/current/support/addchain.c vendor/fftw3/current/support/codelet_asmprelude vendor/fftw3/current/support/codelet_prelude.dft vendor/fftw3/current/support/codelet_prelude.rdft vendor/fftw3/current/support/twovers.sh vendor/fftw3/current/tests/ vendor/fftw3/current/tests/Makefile.am vendor/fftw3/current/tests/Makefile.in vendor/fftw3/current/tests/README vendor/fftw3/current/tests/bench.c vendor/fftw3/current/tests/check.pl vendor/fftw3/current/tests/hook.c vendor/fftw3/current/threads/ vendor/fftw3/current/threads/Makefile.am vendor/fftw3/current/threads/Makefile.in vendor/fftw3/current/threads/api.c vendor/fftw3/current/threads/conf.c vendor/fftw3/current/threads/ct.c vendor/fftw3/current/threads/dft-vrank-geq1.c vendor/fftw3/current/threads/f77api.c vendor/fftw3/current/threads/f77funcs.h vendor/fftw3/current/threads/hc2hc.c vendor/fftw3/current/threads/rdft-vrank-geq1.c vendor/fftw3/current/threads/threads.c vendor/fftw3/current/threads/threads.h vendor/fftw3/current/threads/vrank-geq1-rdft2.c vendor/fftw3/current/tools/ vendor/fftw3/current/tools/Makefile.am vendor/fftw3/current/tools/Makefile.in vendor/fftw3/current/tools/fftw-wisdom-to-conf.1 vendor/fftw3/current/tools/fftw-wisdom-to-conf.in vendor/fftw3/current/tools/fftw-wisdom.c vendor/fftw3/current/tools/fftw_wisdom.1.in vendor/fftw3/current/tools/fftwf-wisdom.1
Added: vendor/fftw3/current/AUTHORS =================================================================== --- vendor/fftw3/current/AUTHORS (rev 0) +++ vendor/fftw3/current/AUTHORS 2008-02-22 18:31:09 UTC (rev 9503) @@ -0,0 +1,7 @@ +Authors of FFTW (reachable at fftw@fftw.org): + +Matteo Frigo athena@fftw.org +Stevenj G. Johnson stevenj@alum.mit.edu + +Stefan Kral skral@fftw.org wrote genfft-k7/*.ml* +
Added: vendor/fftw3/current/CONVENTIONS =================================================================== --- vendor/fftw3/current/CONVENTIONS (rev 0) +++ vendor/fftw3/current/CONVENTIONS 2008-02-22 18:31:09 UTC (rev 9503) @@ -0,0 +1,65 @@ +Code conventions used internally by fftw3 (not in API): + +LEARN FROM THE MASTERS: read Ken Thompson's C compiler in Plan 9. + Avoid learning from C++/Java programs. + +INDENTATION: K&R, 5 spaces/tab. In case of doubt, indent -kr -i5. + +NAMES: keep them short. Shorter than you think. The Bible was written + without vowels. Don't outsmart the Bible. + + Common names: + + R : real type, aka fftw_real + E : real type for local variables (possibly extra precision) + C : complex type + sz : size + vecsz : vector size + is, os : input/output stride + ri, ii : real/imag input (complex data) + ro, io : real/imag output (complex data) + I, O : real input/output (real data) + A : assert + CK : check + S : solver, defined internally to each solver file + P : plan, defined internally to each solver file + k : codelet + X(...) : used for mangling of external names (see below) + K(...) : floating-point constant, in E precision + + If a name is used often and must have the form fftw_foo to avoid + namespace pollution, #define FOO fftw_foo and use the short name. + + Leave that hungarian crap to MS. foo_t counts as hungarian: use + foo instead. foo is lowercase so that it does not look like a DOS + program. Exception: typedef struct foo_s {...} foo; instead of + typedef struct foo {...} foo; for C++ compatibility. + +NAME MANGLING: use X(foo) for external names instead of fftw_foo. + X(foo) expands to fftwf_foo or fftw_foo, depending on the + precision. (Unfortunately, this is a ugly form of hungarian + notation. Grrr...) Names that are not exported do not need to be + mangled. + +REPEATED CODE: favor a table. E.g., do not write + + foo("xxx", 1); + foo("yyy", 2); + foo("zzz", -1); + + Instead write + + struct { const char *nam, int arg } footab[] = { + { "xxx", 1 }, + { "yyy", 2 }, + { "zzz", -1 } + }; + + and loop over footab. Rationale: it saves code space. + Similarly, replace a switch statement with a table whenever + possible. + +C++: The code should compile as a C++ program. Run the code through + gcc -xc++ . The extra C++ restrictions are unnecessary, of + course, but this will save us from a flood of complaints when + we release the code.
Added: vendor/fftw3/current/COPYING =================================================================== --- vendor/fftw3/current/COPYING (rev 0) +++ vendor/fftw3/current/COPYING 2008-02-22 18:31:09 UTC (rev 9503) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License.
Added: vendor/fftw3/current/COPYRIGHT =================================================================== --- vendor/fftw3/current/COPYRIGHT (rev 0) +++ vendor/fftw3/current/COPYRIGHT 2008-02-22 18:31:09 UTC (rev 9503) @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2003, 2006 Matteo Frigo + * Copyright (c) 2003, 2006 Massachusetts Institute of Technology + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */
Added: vendor/fftw3/current/ChangeLog =================================================================== --- vendor/fftw3/current/ChangeLog (rev 0) +++ vendor/fftw3/current/ChangeLog 2008-02-22 18:31:09 UTC (rev 9503) @@ -0,0 +1,8852 @@ +2006-06-23 Steven G. Johnson stevenj@fftw.org + + * NEWS, configure.ac, doc/FAQ/fftw-faq.bfnn, doc/fftw3.texi, + kernel/cycle.h, m4/acx_pthread.m4, m4/ax_cc_maxopt.m4, + m4/ax_gcc_archflag.m4, m4/ax_gcc_x86_cpuid.m4, threads/threads.c: + copy bug fixes from CVS HEAD + + * api/Makefile.am: install x77.h guru.h guru64.h in pkgincludedir + + * configure.ac: whitespace + + * kernel/cycle.h: support cycle counter with xlc on Linux/ppc + +2006-06-20 Matteo Frigo athena@fftw.org + + * tools/fftw-wisdom.c: Stylistic change. + +2006-06-20 Steven G. Johnson stevenj@fftw.org + + * m4/ax_cc_maxopt.m4: bump date + + * m4/ax_cc_maxopt.m4: correct bug reported by Andrew Salamon + ... --enable-portable-binary was ignored (or rather, treated + unpredictably) due to typo, grrr + +2006-06-02 Steven G. Johnson stevenj@fftw.org + + * Makefile.am, api/Makefile.am, dft/Makefile.am, + kernel/Makefile.am, rdft/Makefile.am, reodft/Makefile.am, + threads/Makefile.am: install 'internal' header files into + includedir/fftw3/, includedir/fftw3f/, etcetera....this will make + it easier to write external libraries that plug into FFTW + internals, e.g. to add new solvers + +2006-05-30 Steven G. Johnson stevenj@fftw.org + + * threads/threads.c: bug fix, thanks to James Donald for the bug + report (only affects experimental semaphore stuff) + + * NEWS: comment + + * m4/acx_pthread.m4: whoops + +2006-05-27 Steven G. Johnson stevenj@fftw.org + + * m4/acx_pthread.m4: version bump + + * m4/acx_pthread.m4: only check for xlc_r/cc_r if we are not using + gcc + +2006-05-26 Steven G. Johnson stevenj@fftw.org + + * api/fftw3.h: use ptrdiff_t (it's C89 and standard C++, hooray) + + * configure.ac: version bump + + * NEWS: noted 64-bit guru API + + * api/fftw3.h: note that newer versions of VC++ support long long + + * api/fftw3.h: try harder to get a portable 64-bit type + + * api/Makefile.am, api/api.h, api/fftw3.h, api/guru.h, + api/guru64.h, api/mktensor-iodims.c, api/mktensor-iodims.h, + api/mktensor-iodims64.c, api/plan-guru-dft-c2r.c, + api/plan-guru-dft-c2r.h, api/plan-guru-dft-r2c.c, + api/plan-guru-dft-r2c.h, api/plan-guru-dft.c, api/plan-guru-dft.h, + api/plan-guru-r2r.c, api/plan-guru-r2r.h, + api/plan-guru-split-dft-c2r.c, api/plan-guru-split-dft-c2r.h, + api/plan-guru-split-dft-r2c.c, api/plan-guru-split-dft-r2c.h, + api/plan-guru-split-dft.c, api/plan-guru-split-dft.h, + api/plan-guru64-dft-c2r.c, api/plan-guru64-dft-r2c.c, + api/plan-guru64-dft.c, api/plan-guru64-r2r.c, + api/plan-guru64-split-dft-c2r.c, api/plan-guru64-split-dft-r2c.c, + api/plan-guru64-split-dft.c: added draft guru64 API + +2006-05-22 Steven G. Johnson stevenj@fftw.org + + * m4/acx_pthread.m4: added FIXME note + + * m4/acx_pthread.m4: check for xlc_r in addition to cc_r; thanks + to Guy Moebs for the bug report + +2006-04-21 Steven G. Johnson stevenj@fftw.org + + * doc/FAQ/fftw-faq.bfnn: added note about gcc 4.0.1 on MacOS/Intel + + * m4/ax_gcc_archflag.m4: added code for Core Duo; thanks to Eric + Branlund + + * m4/ax_gcc_x86_cpuid.m4: fixed failure for -fPIC or for gcc-4 on + Apple Intel machines; thanks to Eric Branlund for the bug report + +2006-04-12 Matteo Frigo athena@fftw.org + + * configure.ac: Use -maltivec when checking for altivec.h. + +2006-04-03 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: note planner overwriting input in planner-flags + reference + +2006-03-28 Matteo Frigo athena@fftw.org + + * doc/FAQ/fftw-faq.bfnn: FAQ entry about --enable-k7 in 64-bit + mode. + +2006-03-28 Steven G. Johnson stevenj@fftw.org + + * configure.ac, libbench2/report.c, tools/fftw-wisdom.c: sprintf + -> snprintf, to avoid (harmless) complaints by users/compilers + + * kernel/align.c: silence compiler warning + +2006-03-17 Matteo Frigo athena@fftw.org + + * doc/fftw3.texi: Remove dft/codelets/inplace, add + simd/nonportable to list of directories to be compiled on non-unix + systems. + +2006-03-04 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: whoops + + * doc/fftw3.texi: note that we align the stack ourselves if + necessary, with gcc and icc + + * doc/fftw3.texi: clearer distinction between static and automatic + storage in C + +2006-02-26 Steven G. Johnson stevenj@fftw.org + + * libbench2/verify-lib.c: rm unused var + +2006-02-25 Matteo Frigo athena@fftw.org + + * libbench2/my-getopt.c: Improved usage of goto (Dijkstra miserere + nostri) + +2006-02-25 Steven G. Johnson stevenj@fftw.org + + * libbench2/my-getopt.h: boilerplate + + * NEWS: update for upcoming 3.1.1 + + * tools/fftw-wisdom.c, tools/fftw_wisdom.1.in: replace obsolete + IMPATIENT with MEASURE + + * tools/fftw-wisdom.c: corrected comment + +2006-02-25 Matteo Frigo athena@fftw.org + + * tools/fftw-wisdom.c: -v does not take an argument. + + * libbench2/my-getopt.c: Obey the unix convention that -ab = -a -b + +2006-02-25 Steven G. Johnson stevenj@fftw.org + + * libbench2/bench-main.c, libbench2/my-getopt.c, + tools/fftw-wisdom.c: minor fixes (return error on unrecognized + option) + + * tools/fftw-wisdom.c: ugh + +2006-02-25 Matteo Frigo athena@fftw.org + + * libbench2/my-getopt.c: require exact match for long options. + + * libbench2/my-getopt.c: better fix + + * libbench2/my-getopt.c: Fix + + * libbench2/Makefile.am, libbench2/bench-main.c, + libbench2/bench.h, libbench2/getopt-utils.c, libbench2/getopt.c, + libbench2/getopt.h, libbench2/getopt1.c, libbench2/my-getopt.c, + libbench2/my-getopt.h: nothing + +2006-02-20 Steven G. Johnson stevenj@fftw.org + + * dft/indirect-transpose.c: rm transpose-indirect-inplace solver, + which was buggy + +2006-02-15 Matteo Frigo athena@fftw.org + + * kernel/cycle.h: Comment fix. + + * kernel/cycle.h: Cycle counter for Visual C++ x86-64, courtesy of + Dirk Michaelis + +2006-02-15 Steven G. Johnson stevenj@fftw.org + + * doc/Makefile.am: rfftwnd.png is in builddir + + * doc/fftw3.texi: fixed typo: --enable-portable-binary, not --with + +2006-02-13 Matteo Frigo athena@fftw.org + + * dft/dftw-direct.c, rdft/hc2hc-direct.c: estimator tweaks. + + * simd/simd-sse.h, simd/simd-sse2.h: sse/sse2 support for t3?v + codelets + + * simd/simd-altivec.h: Use CEXP instead of SIN/COS. + + * genfft/oracle.ml: bug in randomized cse eliminator. + +2006-02-12 Matteo Frigo athena@fftw.org + + * dft/simd/Makefile.am, dft/simd/codelets/Makefile.am, + dft/simd/t3b.h, dft/simd/t3f.h, genfft/algsimp.ml, + genfft/annotate.ml, genfft/c.ml, genfft/c.mli, genfft/complex.ml, + genfft/complex.mli, genfft/expr.ml, genfft/expr.mli, + genfft/gen_athtw.ml, genfft/gen_conv.ml, genfft/gen_hc2hc.ml, + genfft/gen_hc2r.ml, genfft/gen_mdct.ml, genfft/gen_notw.ml, + genfft/gen_notw_c.ml, genfft/gen_r2hc.ml, genfft/gen_r2r.ml, + genfft/gen_twiddle.ml, genfft/gen_twiddle_c.ml, + genfft/gen_twidsq.ml, genfft/gen_twidsq_c.ml, genfft/magic.ml, + genfft/oracle.ml, genfft/schedule.ml, genfft/simd.ml, + genfft/to_alist.ml, genfft/trig.ml, genfft/twiddle.ml, + genfft/twiddle.mli, simd/simd-altivec.h: Added support for + t2-style simd codelets. This is altivec only for now; sse/sse2 + don't even compile yet. + + * dft/simd/Makefile.am, dft/simd/codelets/Makefile.am, + dft/simd/t1s.c, dft/simd/t1s.h, dft/simd/ts.c, dft/simd/ts.h, + genfft/twiddle.ml: Added support for t2-style simd split-complex + codelets. + +2006-02-10 Steven G. Johnson stevenj@fftw.org + + * m4/ax_openmp.m4: *** empty log message *** + + * m4/ax_openmp.m4: punctuation + + * api/f77api.c, api/f77funcs.h: windows DLL stuff for Fortran + interface + +2006-02-10 Matteo Frigo athena@fftw.org + + * configure.ac: Bumped version to 3.1.1 + + * kernel/ifftw.h: Precompute array indices on x86-64. Speeds up + Pentium IV and makes no appreciable difference on AMD. + +2006-02-08 Matteo Frigo athena@fftw.org + + * simd/Makefile.am, simd/sse.c, simd/sse2.c, simd/x86-cpuid.h: + Check whether the processor supports CPUID before issuing the + instruction. (Grrr...) Code contributed by Eric J. Korpela. + + * kernel/cycle.h: icc supports x86_64 these days. + +2006-02-05 Matteo Frigo athena@fftw.org + + * kernel/primes.c: Paranoia. + +2006-01-30 Steven G. Johnson stevenj@fftw.org + + * kernel/primes.c: whoops, fixed assert (y <= x) + + * kernel/primes.c: note that safe_mulmod requires {x,y} < p (or at + least < 2p), and added assert + +2006-01-30 Matteo Frigo athena@fftw.org + + * libbench2/bench-user.h, libbench2/timer.c: fixed aix/xlc lossage + + * libbench2/verify-lib.c: In the impuse test, normalize the + impulse so that the impulse and the random vectors have roughly + the same L2 norm. This change reduces the number of bits that we + lose because of floating-point cancellation, so that we can focus + on the bits that we lose because of bugs. + + * rdft/dht-rader.c: Compute omega in trigreal precision, as + opposed to R. + +2006-01-28 Steven G. Johnson stevenj@fftw.org + + * Makefile.am, configure.ac, tests/Makefile.am, + threads/Makefile.am, tools/Makefile.am: add + --with-combined-threads option as workaround to Windows inability + to build shared libs with dependencies + +2006-01-27 Steven G. Johnson stevenj@fftw.org + + * threads/Makefile.am: libfftw3_threads should *not* used + -no-undefined because, in fact, it is not true -- this library + depends on -lfftw3, and is not self-contained + + * NEWS: updated + +2006-01-27 Matteo Frigo athena@fftw.org + + * api/apiplan.c, dft/bluestein.c, dft/buffered.c, dft/ct.c, + dft/ctsq.c, dft/dftw-generic.c, dft/dftw-genericbuf.c, + dft/indirect-transpose.c, dft/indirect.c, dft/rader.c, + dft/rank-geq2.c, dft/vrank-geq1.c, kernel/ifftw.h, kernel/timer.c, + rdft/buffered.c, rdft/buffered2.c, rdft/dft-r2hc.c, + rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/hc2hc-direct.c, + rdft/hc2hc-directbuf.c, rdft/hc2hc-generic.c, rdft/hc2hc.c, + rdft/indirect.c, rdft/rank-geq2-rdft2.c, rdft/rank-geq2.c, + rdft/rank0-rdft2.c, rdft/rdft-dht.c, rdft/rdft2-radix2.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/redft00e-r2hc-pad.c, + reodft/redft00e-r2hc.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-r2hc.c, reodft/reodft11e-radix2.c, + reodft/rodft00e-r2hc-pad.c, reodft/rodft00e-r2hc.c, tests/hook.c, + threads/ct.c, threads/dft-vrank-geq1.c, threads/hc2hc.c, + threads/rdft-vrank-geq1.c, threads/vrank-geq1-rdft2.c: Added + paranoid stack alignment when awaking plans. While I was at it, + removed obsolete, redundant AWAKE macro. + + * NEWS: Updated for 3.1. + + * TODO, libbench2/bench-main.c: ditched one alignment check and + noted that we should eliminate the rest as well + +2006-01-26 Matteo Frigo athena@fftw.org + + * libbench2/bench-main.c: alignment hack + + * m4/ax_gcc_archflag.m4: detect pentium M + +2006-01-25 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: don't trust host_cpu if it claims we are + on i386/i486, and call cpuid anyway (if it fails we use no arch + flag). This is needed on FreeBSD + + * kernel/kalloc.c: suggest --with-our-malloc16 in error message + + * configure.ac: ditto for -no-gcc + + * configure.ac: flags required for successfull compilation should + be added even if the user overrides CFLAGS + +2006-01-24 Steven G. Johnson stevenj@fftw.org + + * m4/ax_openmp.m4: upcoming gcc OpenMP support uses -fopenmp + + * m4/ax_openmp.m4: note that PGI uses -mp as well + +2006-01-23 Matteo Frigo athena@fftw.org + + * kernel/cycle.h, simd/sse.c, simd/sse2.c: my best guess at how to + fix the microsoft crap du jour + +2006-01-23 Steven G. Johnson stevenj@fftw.org + + * configure.ac, kernel/cycle.h: use -Masmkeyword for PGI cycle + counter, grr + +2006-01-22 Matteo Frigo athena@fftw.org + + * configure.ac: Bumped version number to 3.1. + +2006-01-21 Matteo Frigo athena@fftw.org + + * configure.ac: Report that --enable-k7 is incompatible with + --enable-shared. + + * Makefile.am: Do not use empty libraries in LIBADD, since + otherwise the linker fails on Solaris. + +2006-01-18 Steven G. Johnson stevenj@fftw.org + + * bootstrap.sh: warn end-users away from this file + +2006-01-17 Matteo Frigo athena@fftw.org + + * simd/simd-sse.h: Gcc sucks. + + * tests/hook.c: Disabled checks that may turn out to be too + paranoid. + + * tests/hook.c: Some paranoid checks. + + * libbench2/ovtpvt.c: Flush stdout after printing. + + * kernel/alloc.c, tests/bench.c: Run the leak detector in all + cases, not just when verbose > 2. + + * api/mapflags.c: Eliminate calls to pow(), rint(). + +2006-01-17 Steven G. Johnson stevenj@fftw.org + + * kernel/ifftw.h: put # in first column, for stylistic consistency + +2006-01-17 Matteo Frigo athena@fftw.org + + * api/mapflags.c, kernel/ifftw.h, kernel/planner.c: Made timeout + part of impatience flags, in order to improve the usability of + wisdom. Also, fixed bogus error recovery logic in + planner.c:imprt(). + +2006-01-17 Steven G. Johnson stevenj@fftw.org + + * api/apiplan.c, api/fftw3.h, doc/fftw3.texi, kernel/planner.c: + make timelimit < 0 .eq. FFTW_NO_TIMELIMIT + +2006-01-17 Matteo Frigo athena@fftw.org + + * api/apiplan.c, api/fftw3.h, api/the-planner.c, doc/fftw3.texi, + kernel/planner.c, tests/bench.c: Eliminated the FFTW_TIMELIMIT + flag in favor of this simpler logic: fftw_set_timelimit(0) + disables time limit. fftw_set_timelimit(X), X>0 sets the time + limit to X. + +2006-01-16 Matteo Frigo athena@fftw.org + + * api/apiplan.c: Force the use of the estimator when wisdom fails + because of md5 collisions, otherwise the planner takes forever. + + * kernel/ifftw.h: Ranted about how broken gcc-4 is. + +2006-01-16 Steven G. Johnson stevenj@fftw.org + + * api/apiplan.c, api/fftw3.h, doc/fftw3.texi, tests/bench.c: + change fftw_timelimit global var to fftw_set_timelimit(double) + function, for simpler usage with shared libraries and for + consistency with e.g. set_numthreads + +2006-01-16 Matteo Frigo athena@fftw.org + + * doc/fftw3.texi: Minor tweaks. + +2006-01-15 Matteo Frigo athena@fftw.org + + * libbench2/timer.c: tweaks to make sure that time_n() is always + called from the same stack position. + + * libbench2/bench.h, libbench2/speed.c, libbench2/timer.c, + libbench2/timer2.c: Major simplification of the timer calibration + logic. Also, use an FFT as a unit of work instead of the old + pointer chasing, because God knows how pointer chasing interacts + with the idiotic cache-hit speculation on the Pentium IV. + + * kernel/align.c: Fixed broken aligment checks when sizeof(R)==12. + + * libbench2/timer2.c: Manual unrolling of loop. + + * libbench2/Makefile.am, libbench2/bench.h, libbench2/timer.c, + libbench2/timer2.c: Various improvements to timer calibration + routines. + + * libbench2/timer.c: cygwin defines __CYGWIN__, not __WIN32__ etc. + + * libbench2/bench-user.h, libbench2/speed.c, libbench2/timer.c, + tests/bench.c: fixed confusion between libbench and user timers + +2006-01-14 Steven G. Johnson stevenj@fftw.org + + * NEWS: update + +2006-01-14 Matteo Frigo athena@fftw.org + + * simd/simd-sse.h: Comment. + + * simd/simd-sse.h: Workaround gcc bug. + + * configure.ac: Switched to -beta2. + +2006-01-13 Matteo Frigo athena@fftw.org + + * rdft/buffered.c, rdft/indirect.c, rdft/problem.c, + rdft/rank0-rdft2.c, rdft/rdft.h, rdft/vrank3-transpose.c: Fixed + technically correct but highly obfuscated use of the enum tag R2HC + as a null pointer. + +2006-01-13 Steven G. Johnson stevenj@fftw.org + + * configure.ac: --enable-unsafe-mulmod is obsolete + +2006-01-13 Matteo Frigo athena@fftw.org + + * TODO: More thoughts. + + * rdft/buffered2.c: Removed loop unrolling because it slows things + down on at least one powerpc and it generates clumsy x86 code. + +2006-01-13 Steven G. Johnson stevenj@fftw.org + + * kernel/kalloc.c: tweaks + +2006-01-12 Steven G. Johnson stevenj@fftw.org + + * kernel/ifftw.h: MacOSX x86 ABI specifies that the stack is kept + 16-byte aligned + +2006-01-12 Matteo Frigo athena@fftw.org + + * kernel/cycle.h: ``ret'' is a reserved word in the evil empire. + + * simd/sse2.c, simd/sse.c: Changed ret => result because ret ``is + a reserved word'' in the evil empire. + + * simd/simd-sse2.h: Workaround Visual c++ lossage. + + * simd/simd-sse.h: Workaround visual c++ lossage. + + * libbench2/getopt-utils.c: isprint() is guaranteed to work for + unsigned char + EOF only. + +2006-01-11 Steven G. Johnson stevenj@fftw.org + + * rdft/vrank3-transpose.c: rm obsolete fixme + + * rdft/vrank3-transpose.c: *** empty log message *** + + * rdft/vrank3-transpose.c: fix comment + +2006-01-11 Matteo Frigo athena@fftw.org + + * dft/bluestein.c, rdft/buffered2.c, rdft/dht-rader.c, + rdft/rank0-rdft2.c, reodft/rodft00e-r2hc-pad.c: Paranoid use of + K(x) for all constants x, to avoid runtime double->float + conversions on sufficiently stupid compilers. + + * simd/simd-sse.h: Workaround to gcc nonsense. + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * rdft/vrank3-transpose.c: bug fix: infinite loop in transpose-cut + planning + + * api/fftw3.h: clarified comment + + * tests/bench.c: more Windows decorations + + * support/Makefile.codelets: added FIXME comment + + * support/Makefile.codelets: 'make clean' should not delete + codlist.c since it is included in the dist tarball + +2006-01-10 Matteo Frigo athena@fftw.org + + * dft/dftw-direct.c: Change threshold for ``large'' Cooley-Tukey + to 256K from 64K, since it seems to benefit the Pentium IV with + sse and the planning cost is not too horrible. + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * kernel/ifftw.h: more missing Windows DLL decorations + + * rdft/dht-rader.c: remove unused var + + * threads/threads.c: allow compiler threads, if enabled, to take + precedence over explicit threads + + * api/api.h, kernel/planner.c: *** empty log message *** + +2006-01-10 Matteo Frigo athena@fftw.org + + * kernel/planner.c: Fixed comment typo. + + * kernel/planner.c: Rearranged timeout checks so as to eliminate + one of them. + + * kernel/plan.c: Converted residual CK() -> A(). + + * kernel/planner.c: Maintain the invariant TIMED_OUT ==> + NEED_TIMEOUT_CHECK. + + * api/mapflags.c, dft/rank-geq2.c, dft/vrank-geq1.c, + kernel/buffered.c, kernel/md5.c, kernel/scan.c, + rdft/rank-geq2-rdft2.c, rdft/rank-geq2.c, rdft/vrank-geq1-rdft2.c, + rdft/vrank-geq1.c, threads/dft-vrank-geq1.c, + threads/rdft-vrank-geq1.c, threads/vrank-geq1-rdft2.c: silence + some 64-bit warnings + + * tests/hook.c: Assertions. + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * kernel/timer.c: some condensing + + * api/apiplan.c, kernel/ifftw.h, kernel/planner.c, kernel/timer.c: + eliminate X(seconds) in favor of X(elapsed_since), in paranoia of + clock wrap + + * kernel/timer.c: *** empty log message *** + + * kernel/timer.c: hmm, a bit more pessimistic about clock wrapping + +2006-01-10 Matteo Frigo athena@fftw.org + + * configure.ac, kernel/ifftw.h: Revert to md5uint = unsigned int + whenever possible, so as to avoid wasting space for unsigned long + on 64-bit machines. + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * kernel/timer.c: note why clock() wrap should not be a concern + + * kernel/planner.c: bugfix in recent timeout changes - check for + case where last solver times out + + * NEWS: started changes list from beta + +2006-01-10 Matteo Frigo athena@fftw.org + + * api/mapflags.c: Paranoia. + + * kernel/planner.c: Paranoid assertions. + + * tests/hook.c: Added FIXME comment stating the 64-bit + uncleaniness of fftw_tensor_to_bench_tensor(). + + * dft/simd/t.c: Another 64-bit bug. + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * api/api.h, kernel/ifftw.h, tests/hook.c: more Windows DLL + nonsense + + * api/api.h, kernel/ifftw.h: some additional dllexport tags + required to build the test program, due to internal stuff called + by hook.c + + * api/fftw3.h: *** empty log message *** + + * api/fftw3.h: comment + + * api/fftw3.h, api/api.h: *** empty log message *** + + * api/fftw3.h: clarification + + * api/api.h: define FFTW_DLL if DLL_EXPORT (defined by libtool) is + supplied + + * api/fftw3.h: whoops + + * api/fftw3.h: another stab at Windows DLL mess + +2006-01-10 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h, simd/simd-sse.h, simd/simd-sse2.h: 64-bit + clean SIMD header file. I missed those because sparse does not + know vector types. Grrr... + +2006-01-10 Steven G. Johnson stevenj@fftw.org + + * configure.ac: this option is called AC_DISABLE_SHARED in the + documentation + +2006-01-09 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: fixed --with-gcc-arch to work when + cross-compiling + +2006-01-09 Matteo Frigo athena@fftw.org + + * api/apiplan.c, kernel/ifftw.h, kernel/planner.c: Moved the + timeout check back into the search loop, sicut erat in principio. + This gives us a precise control over the timeout. To avoid the + overhead of X(seconds)(), only call X(seconds)() if some time + measurement was taken since the last call to X(seconds)(). + +2006-01-09 Steven G. Johnson stevenj@fftw.org + + * rdft/vrank3-transpose.c: comments + + * rdft/vrank3-transpose.c: generalized transpose-cut routine to be + able to call transpose-gcd recursivly; TOMS follow-the-cycles + algorithm now seems to be completely superseded + + * threads/threads.c: *** empty log message *** + + * threads/threads.c: ignore errors from setscope -- POSIX standard + does not require PTHREAD_SCOPE_SYSTEM to be supported, and + PTHREAD_SCOPE_PROCESS is usually okay in that case + +2006-01-08 Steven G. Johnson stevenj@fftw.org + + * rdft/vrank3-transpose.c: added TODO comment + + * rdft/vrank3-transpose.c: whoops + +2006-01-08 Matteo Frigo athena@fftw.org + + * NEWS: Boasted ``much faster altivec performance''. + + * configure.ac, dft/simd/codelets/Makefile.am, genfft/annotate.ml, + genfft/magic.ml, genfft/schedule.ml, support/Makefile.codelets, + support/twovers.sh: Added a new pass to the generator to schedule + for the pipeline latency. (This schedule modifies the ``optimal'' + cache-oblivious schedule and hence it uses more registers.) + + This pass is currently: + + * disabled for non-fma code, under the assumption that this will + run on a register-starved fma. + + * enabled for non-simd fma code, under the assumption that this + will run on a processor with 32 or more FP registers. The + latency of 4 is conservative and does not introduce too much + register pressure. + + * enabled for simd fma code, under the assumption that this will + run on altivec. The latency of 8 seems to produce the best + results. + +2006-01-08 Steven G. Johnson stevenj@fftw.org + + * rdft/vrank3-transpose.c: fixed estimator for vrank3-transpose + + * NEWS: more detail on VC++ workaround + + * rdft/vrank3-transpose.c: typo + + * rdft/vrank3-transpose.c: screw it, just use planner for all + sub-transposes in vrank3-transpose (still just use memcpy for + contiguous copies, though) + + * kernel/tile2d.c: add an assert + + * kernel/ifftw.h, rdft/rank0.c, rdft/vrank3-transpose.c: + vrank3-transpose now uses planner to decide whether to use cpy2d, + cpy2d_tiled, etc. + + * kernel/primes.c: too annoying to have isqrt unexpectedly fail + for n==0 + +2006-01-07 Steven G. Johnson stevenj@fftw.org + + * NEWS, doc/fftw3.texi: clarifications + + * rdft/vrank3-transpose.c: comment fix + + * doc/FAQ/fftw-faq.bfnn: more faq updates + + * configure.ac, doc/FAQ/fftw-faq.bfnn: enable fma on hppa, update + FAQ entry + +2006-01-07 Matteo Frigo athena@fftw.org + + * dft/simd/t.c: Accomodate different semantics of 'const' in C and + C++ + + * NEWS: Altivec is called VMX in IBM land. + + * NEWS: Noted faster altivec support. + +2006-01-07 Steven G. Johnson stevenj@fftw.org + + * m4/ax_cc_maxopt.m4: updated icc flag detection + +2006-01-06 Matteo Frigo athena@fftw.org + + * TODO: Note ``memoize triggen''. + + * mkdist.sh: Use --enable-threads to generate dependencies in the + threads/ directory. + + * kernel/ifftw.h: Workaround to icc #defining __GNUC__. + + * configure.ac: Switched name to 3.1-beta1. + + * TODO: More thoughts. + + * TODO: Note wish that (block_size % 4) == 0. + + * dft/codelet-dft.h, dft/codelets/t.c, dft/ctsq.c, + dft/dftw-direct.c, dft/k7/k7.c, dft/simd/q1b.c, dft/simd/q1f.c, + dft/simd/t.c, dft/simd/t1s.c, threads/ct.c, threads/hc2hc.c: Check + alignment of mstart, mcount in SIMD codelets. + + * bootstrap.sh: Enable threads at bootstrap time, so I get the + compiler warnings that I would otherwise ignore. + +2006-01-05 Matteo Frigo athena@fftw.org + + * threads/dft-vrank-geq1.c, threads/rdft-vrank-geq1.c, + threads/vrank-geq1-rdft2.c: made compilable by c++ + + * kernel/twiddle.c: FIXED: incorrect twiddle_shift() + + * reodft/redft00e-r2hc.c, reodft/reodft11e-r2hc.c, + reodft/rodft00e-r2hc.c, threads/ct.c, threads/dft-vrank-geq1.c, + threads/hc2hc.c, threads/rdft-vrank-geq1.c, + threads/vrank-geq1-rdft2.c: Replaced remnants of awake flag with + the new enum wakefulness type. + + * kernel/planner.c: Oops---there is no need to find a free slot. + + * kernel/planner.c: Assertions. + + * kernel/planner.c: Commented the hash table lookup algorithm. + + * kernel/planner.c: Fixed infinite loop in hashtable + lookup/insert. Grrr... + +2006-01-05 Steven G. Johnson stevenj@fftw.org + + * COPYRIGHT, api/api.h, api/apiplan.c, api/configure.c, + api/execute-dft-c2r.c, api/execute-dft-r2c.c, api/execute-dft.c, + api/execute-r2r.c, api/execute-split-dft-c2r.c, + api/execute-split-dft-r2c.c, api/execute-split-dft.c, + api/execute.c, api/export-wisdom-to-file.c, + api/export-wisdom-to-string.c, api/export-wisdom.c, + api/extract-reim.c, api/f77api.c, api/f77funcs.h, api/fftw3.h, + api/flops.c, api/forget-wisdom.c, api/import-system-wisdom.c, + api/import-wisdom-from-file.c, api/import-wisdom-from-string.c, + api/import-wisdom.c, api/malloc.c, api/map-r2r-kind.c, + api/mapflags.c, api/mkprinter-file.c, api/mktensor-iodims.c, + api/mktensor-rowmajor.c, api/plan-dft-1d.c, api/plan-dft-2d.c, + api/plan-dft-3d.c, api/plan-dft-c2r-1d.c, api/plan-dft-c2r-2d.c, + api/plan-dft-c2r-3d.c, api/plan-dft-c2r.c, api/plan-dft-r2c-1d.c, + api/plan-dft-r2c-2d.c, api/plan-dft-r2c-3d.c, api/plan-dft-r2c.c, + api/plan-dft.c, api/plan-guru-dft-c2r.c, api/plan-guru-dft-r2c.c, + api/plan-guru-dft.c, api/plan-guru-r2r.c, + api/plan-guru-split-dft-c2r.c, api/plan-guru-split-dft-r2c.c, + api/plan-guru-split-dft.c, api/plan-many-dft-c2r.c, + api/plan-many-dft-r2c.c, api/plan-many-dft.c, api/plan-many-r2r.c, + api/plan-r2r-1d.c, api/plan-r2r-2d.c, api/plan-r2r-3d.c, + api/plan-r2r.c, api/print-plan.c, api/rdft2-pad.c, + api/the-planner.c, api/version.c, api/x77.h, dft/bluestein.c, + dft/buffered.c, dft/codelet-dft.h, dft/codelets/n.c, + dft/codelets/n.h, dft/codelets/t.c, dft/codelets/t.h, dft/conf.c, + dft/ct.c, dft/ct.h, dft/ctsq.c, dft/dft.h, dft/dftw-direct.c, + dft/dftw-generic.c, dft/dftw-genericbuf.c, dft/direct.c, + dft/generic.c, dft/indirect-transpose.c, dft/indirect.c, + dft/k7/k7.c, dft/kdft-dif.c, dft/kdft-difsq.c, dft/kdft-dit.c, + dft/kdft.c, dft/nop.c, dft/plan.c, dft/problem.c, dft/rader.c, + dft/rank-geq2.c, dft/simd/n1b.c, dft/simd/n1b.h, dft/simd/n1f.c, + dft/simd/n1f.h, dft/simd/n2b.c, dft/simd/n2b.h, dft/simd/n2f.c, + dft/simd/n2f.h, dft/simd/n2s.c, dft/simd/n2s.h, dft/simd/q1b.c, + dft/simd/q1b.h, dft/simd/q1f.c, dft/simd/q1f.h, dft/simd/t.c, + dft/simd/t1b.h, dft/simd/t1f.h, dft/simd/t1s.c, dft/simd/t1s.h, + dft/simd/t2b.h, dft/simd/t2f.h, dft/solve.c, dft/vrank-geq1.c, + dft/zero.c, doc/f77_wisdom.f, doc/fftw3.texi, + genfft-k7/algsimp.ml, genfft-k7/algsimp.mli, + genfft-k7/assoctable.ml, genfft-k7/assoctable.mli, + genfft-k7/complex.ml, genfft-k7/complex.mli, genfft-k7/expr.ml, + genfft-k7/expr.mli, genfft-k7/fft.ml, genfft-k7/gen_notw.ml, + genfft-k7/littlesimp.ml, genfft-k7/littlesimp.mli, + genfft-k7/monads.ml, genfft-k7/number.ml, genfft-k7/number.mli, + genfft-k7/oracle.ml, genfft-k7/oracle.mli, genfft-k7/to_alist.ml, + genfft-k7/to_alist.mli, genfft-k7/twiddle.ml, + genfft-k7/twiddle.mli, genfft-k7/vScheduler.mli, + genfft/algsimp.ml, genfft/algsimp.mli, genfft/annotate.ml, + genfft/annotate.mli, genfft/assoctable.ml, genfft/assoctable.mli, + genfft/c.ml, genfft/c.mli, genfft/complex.ml, genfft/complex.mli, + genfft/conv.ml, genfft/conv.mli, genfft/dag.ml, genfft/dag.mli, + genfft/expr.ml, genfft/expr.mli, genfft/fft.ml, genfft/fft.mli, + genfft/gen_athnotw.ml, genfft/gen_athtw.ml, genfft/gen_conv.ml, + genfft/gen_hc2hc.ml, genfft/gen_hc2r.ml, genfft/gen_mdct.ml, + genfft/gen_notw.ml, genfft/gen_notw_c.ml, genfft/gen_r2hc.ml, + genfft/gen_r2r.ml, genfft/gen_twiddle.ml, genfft/gen_twiddle_c.ml, + genfft/gen_twidsq.ml, genfft/gen_twidsq_c.ml, genfft/genutil.ml, + genfft/littlesimp.ml, genfft/littlesimp.mli, genfft/magic.ml, + genfft/monads.ml, genfft/number.ml, genfft/number.mli, + genfft/oracle.ml, genfft/oracle.mli, genfft/schedule.ml, + genfft/schedule.mli, genfft/simd.ml, genfft/simd.mli, + genfft/simdmagic.ml, genfft/to_alist.ml, genfft/to_alist.mli, + genfft/trig.ml, genfft/trig.mli, genfft/twiddle.ml, + genfft/twiddle.mli, genfft/unique.ml, genfft/unique.mli, + genfft/util.ml, genfft/util.mli, genfft/variable.ml, + genfft/variable.mli, kernel/align.c, kernel/alloc.c, + kernel/assert.c, kernel/awake.c, kernel/buffered.c, + kernel/cpy1d.c, kernel/cpy2d-pair.c, kernel/cpy2d.c, kernel/ct.c, + kernel/cycle.h, kernel/debug.c, kernel/hash.c, kernel/iabs.c, + kernel/ifftw.h, kernel/kalloc.c, kernel/md5-1.c, kernel/md5.c, + kernel/minmax.c, kernel/ops.c, kernel/pickdim.c, kernel/plan.c, + kernel/primes.c, kernel/print.c, kernel/problem.c, kernel/rader.c, + kernel/scan.c, kernel/solver.c, kernel/solvtab.c, kernel/stride.c, + kernel/tensor.c, kernel/tensor1.c, kernel/tensor2.c, + kernel/tensor4.c, kernel/tensor5.c, kernel/tensor7.c, + kernel/tensor8.c, kernel/tensor9.c, kernel/tile2d.c, + kernel/timer.c, kernel/transpose.c, kernel/trig.c, + kernel/twiddle.c, libbench/accopy-from.c, libbench/accopy-to.c, + libbench/allocate.c, libbench/bench-main.c, libbench/bench-user.h, + libbench/bench.h, libbench/can-do.c, libbench/ccopy-from.c, + libbench/ccopy-to.c, libbench/deallocate.c, + libbench/getopt-utils.c, libbench/info.c, libbench/main.c, + libbench/prime.c, libbench/problem.c, libbench/report.c, + libbench/speed.c, libbench/timer.c, libbench/verify.c, + libbench/zero.c, libbench2/aligned-main.c, libbench2/allocate.c, + libbench2/can-do.c, libbench2/dotens2.c, libbench2/getopt-utils.c, + libbench2/info.c, libbench2/main.c, libbench2/report.c, + libbench2/tensor.c, libbench2/useropt.c, libbench2/verify-dft.c, + libbench2/verify-lib.c, libbench2/verify-r2r.c, + libbench2/verify-rdft2.c, libbench2/verify.c, libbench2/verify.h, + libbench2/zero.c, m4/ax_gcc_archflag.m4, rdft/buffered.c, + rdft/buffered2.c, rdft/codelet-rdft.h, rdft/codelets/hb.h, + rdft/codelets/hc2r.c, rdft/codelets/hc2r.h, + rdft/codelets/hc2rIII.h, rdft/codelets/hf.h, rdft/codelets/hfb.c, + rdft/codelets/r2hc.c, rdft/codelets/r2hc.h, + rdft/codelets/r2hcII.h, rdft/codelets/r2r.c, rdft/codelets/r2r.h, + rdft/conf.c, rdft/dft-r2hc.c, rdft/dht-r2hc.c, rdft/dht-rader.c, + rdft/direct.c, rdft/direct2.c, rdft/generic.c, + rdft/hc2hc-common.c, rdft/hc2hc-direct.c, rdft/hc2hc-directbuf.c, + rdft/hc2hc-generic.c, rdft/hc2hc.c, rdft/hc2hc.h, rdft/indirect.c, + rdft/khc2hc.c, rdft/khc2r.c, rdft/kr2hc.c, rdft/kr2r.c, + rdft/nop.c, rdft/nop2.c, rdft/plan.c, rdft/plan2.c, + rdft/problem.c, rdft/problem2.c, rdft/rank-geq2-rdft2.c, + rdft/rank-geq2.c, rdft/rank0-rdft2.c, rdft/rank0.c, + rdft/rdft-dht.c, rdft/rdft.h, rdft/rdft2-inplace-strides.c, + rdft/rdft2-radix2.c, rdft/rdft2-strides.c, + rdft/rdft2-tensor-max-index.c, rdft/solve.c, rdft/solve2.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/conf.c, + reodft/redft00e-r2hc-pad.c, reodft/redft00e-r2hc.c, + reodft/reodft.h, reodft/reodft010e-r2hc.c, + reodft/reodft11e-r2hc-odd.c, reodft/reodft11e-r2hc.c, + reodft/reodft11e-radix2.c, reodft/rodft00e-r2hc-pad.c, + reodft/rodft00e-r2hc.c, simd/altivec.c, simd/nonportable/sse.c, + simd/nonportable/sse2.c, simd/simd-altivec.h, simd/simd-sse.h, + simd/simd-sse2.h, simd/simd.h, simd/sse.c, simd/sse2.c, + simd/taint.c, threads/api.c, threads/conf.c, threads/ct.c, + threads/dft-vrank-geq1.c, threads/f77api.c, threads/f77funcs.h, + threads/hc2hc.c, threads/rdft-vrank-geq1.c, threads/threads.c, + threads/threads.h, threads/vrank-geq1-rdft2.c, + tools/fftw-wisdom-to-conf.1, tools/fftw-wisdom-to-conf.in, + tools/fftw-wisdom.c, tools/fftw_wisdom.1.in: updated copyright + years to 2006 + + * m4/ax_gcc_archflag.m4: whoops + + * m4/ax_gcc_archflag.m4: more updates for recent pentia/amd + +2006-01-05 Matteo Frigo athena@fftw.org + + * TODO: Pruned TODO. + + * libbench2/bench-user.h, libbench2/bench.h: Prototype of + problem_destroy() + +2006-01-05 Steven G. Johnson stevenj@fftw.org + + * TODO: rm obsoleted TODOs + +2006-01-05 Matteo Frigo athena@fftw.org + + * m4/ax_gcc_archflag.m4: Fallback to 970 if neither -mcpu=power5 + nor -mcpu=power4 are supported. + +2006-01-05 Steven G. Johnson stevenj@fftw.org + + * NEWS: NEWS updates, clarifications, and reorganization + + * dft/dftw-genericbuf.c, kernel/planner.c, kernel/trig.c, + m4/ax_gcc_x86_cpuid.m4, rdft/dft-r2hc.c: remove some compiler + warnings, add an assert check, make estimator work properly for + nop plans + +2006-01-04 Matteo Frigo athena@fftw.org + + * api/apiplan.c, api/fftw3.h, api/mapflags.c, configure.ac, + dft/bluestein.c, dft/buffered.c, dft/ct.c, dft/ctsq.c, + dft/dftw-direct.c, dft/dftw-generic.c, dft/dftw-genericbuf.c, + dft/direct.c, dft/generic.c, dft/indirect-transpose.c, + dft/indirect.c, dft/rader.c, dft/rank-geq2.c, dft/vrank-geq1.c, + genfft/twiddle.ml, kernel/awake.c, kernel/ifftw.h, kernel/plan.c, + kernel/planner.c, kernel/timer.c, kernel/trig.c, kernel/twiddle.c, + libbench2/bench-main.c, libbench2/bench.h, libbench2/problem.c, + libbench2/speed.c, rdft/buffered.c, rdft/buffered2.c, + rdft/dft-r2hc.c, rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/direct.c, + rdft/direct2.c, rdft/generic.c, rdft/hc2hc-direct.c, + rdft/hc2hc-directbuf.c, rdft/hc2hc-generic.c, rdft/hc2hc.c, + rdft/indirect.c, rdft/rank-geq2-rdft2.c, rdft/rank-geq2.c, + rdft/rank0-rdft2.c, rdft/rdft-dht.c, rdft/rdft2-radix2.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + reodft/redft00e-r2hc-pad.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-radix2.c, reodft/rodft00e-r2hc-pad.c, + tests/hook.c: Two big changes: + + 1) revised the twiddle generation machinery, to avoid generating + twiddles when measuring, and to use a faster O(sqrt(N)) table + when this entails no loss of precision. + + 2) implemented new ALLOW_PRUNING estimator hack. + +2005-12-25 Matteo Frigo athena@fftw.org + + * dft/generic.c, rdft/generic.c: Estimator tweaks, mostly to favor + generic over rader for small n. + +2005-12-24 Matteo Frigo athena@fftw.org + + * tests/hook.c: Grrr... missing break statement in switch. + + * genfft/gen_hc2hc.ml, genfft/gen_twiddle.ml, + genfft/gen_twiddle_c.ml, genfft/gen_twidsq.ml, + genfft/gen_twidsq_c.ml, rdft/codelet-rdft.h, dft/codelet-dft.h, + genfft-k7/gen_twiddle.ml: Swapped fields TW and OPS in struct + ct_desc_s, to make k7 asm code insensitive to -malign-double. For + consistency, changed struct hc2hc_desc_s in the same way. + + * kernel/planner.c: Wrong check for infeasible slvndx in imprt(). + + * kernel/planner.c: Removed obsolete function + invoke_solver_if_correct_kind(). + + * kernel/primes.c: Faster implementation of safe_mulmod(), + avoiding divisions altogether. Works for 0 <= p <= INT_MAX. + + * api/mapflags.c: FFTW_ALLOW_LARGE_GENERIC must belong to + flags->l, it cannot be overridden by fftw. + +2005-12-24 Steven G. Johnson stevenj@fftw.org + + * kernel/primes.c: no more need for limits.h, add some explanatory + comments + +2005-12-23 Matteo Frigo athena@fftw.org + + * dft/k7/k7.c: Paranoia. + + * kernel/ifftw.h, kernel/planner.c: Fixed subtle bug involving + overflow of the slvndx field in flags_t. + + * NEWS: Note 64-bit clean. + + * threads/ct.c, threads/dft-vrank-geq1.c, threads/hc2hc.c, + threads/rdft-vrank-geq1.c, threads/threads.h, + threads/vrank-geq1-rdft2.c: Threads are now 64-bit clean + + * kernel/ifftw.h: Restored the old numbering TW_NEXT=3 etc, + because the k7 code depends on it. + + * configure.ac, kernel/ifftw.h, kernel/primes.c: Portable + implementation of MULMOD() and safe_mulmod(). Removed all + unnecessary AC_CHECK_SIZEOF() from configure.ac. + +2005-12-22 Matteo Frigo athena@fftw.org + + * genfft/gen_r2r.ml: Inline the loop body in r2r codelets like we + do everywhere else. + + * dft/conf.c: Oops. + + * dft/bluestein.c, dft/dftw-generic.c, dft/dftw-genericbuf.c, + dft/rader.c, kernel/ifftw.h, kernel/trig.c, kernel/twiddle.c, + rdft/dht-rader.c: Renamed X(sin_and_cos)() to X(cexp)(). + + * dft/bluestein.c, dft/conf.c, dft/dftw-generic.c, + dft/dftw-genericbuf.c, dft/rader.c, kernel/Makefile.am, + kernel/ifftw.h, kernel/trig.c, kernel/trig1.c, kernel/twiddle.c, + rdft/dht-rader.c: Somewhat faster generation of twiddle factors. + +2005-12-21 Matteo Frigo athena@fftw.org + + * kernel/md5.c: tweaks + + * dft/bluestein.c, dft/buffered.c, dft/ct.c, dft/ctsq.c, + dft/dft.h, dft/direct.c, dft/generic.c, dft/indirect-transpose.c, + dft/indirect.c, dft/nop.c, dft/problem.c, dft/rader.c, + dft/rank-geq2.c, dft/vrank-geq1.c, kernel/ifftw.h, + kernel/planner.c, rdft/buffered.c, rdft/buffered2.c, + rdft/dft-r2hc.c, rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/direct.c, + rdft/direct2.c, rdft/generic.c, rdft/hc2hc.c, rdft/indirect.c, + rdft/nop.c, rdft/nop2.c, rdft/problem.c, rdft/problem2.c, + rdft/rank-geq2-rdft2.c, rdft/rank-geq2.c, rdft/rank0-rdft2.c, + rdft/rank0.c, rdft/rdft-dht.c, rdft/rdft.h, rdft/rdft2-radix2.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/redft00e-r2hc-pad.c, + reodft/redft00e-r2hc.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-r2hc.c, reodft/reodft11e-radix2.c, + reodft/rodft00e-r2hc-pad.c, reodft/rodft00e-r2hc.c, tests/hook.c: + Sped up planner, esp. in estimate mode. The planner now + classifies all solvers into DFT, RDFT, and RDFT2, and it only + invokes solvers appropriate for the problem being planned. + Because we have several hundred solvers, the overhead of calling + irrelevant solvers is significant, and this modification mitigates + the issue somewhat. + +2005-12-20 Matteo Frigo athena@fftw.org + + * kernel/print.c: Eliminated all calls to sprintf() in favor of + own routines, so as not to force users to link stdio and the + associated locale/pthreads crap. + + * kernel/ifftw.h, kernel/print.c: Implemented routine to print + INT, removing the need for c99's %td format. + +2005-12-19 Matteo Frigo athena@fftw.org + + * kernel/alloc.c: info->n is size_t + +2005-12-18 Matteo Frigo athena@fftw.org + + * configure.ac, dft/problem.c, rdft/problem.c, rdft/problem2.c: + Explicit casts in front of pointer difference in printf() context, + just in case INT != ptrdiff_t. + + * kernel/print.c: Forgot to add %D to print.c + + * dft/bluestein.c, dft/buffered.c, dft/ct.c, dft/ctsq.c, + dft/dftw-direct.c, dft/dftw-generic.c, dft/dftw-genericbuf.c, + dft/direct.c, dft/generic.c, dft/problem.c, dft/rader.c, + dft/vrank-geq1.c, kernel/print.c, kernel/tensor.c, + rdft/buffered.c, rdft/buffered2.c, rdft/dft-r2hc.c, + rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/direct.c, rdft/direct2.c, + rdft/generic.c, rdft/hc2hc-direct.c, rdft/hc2hc-directbuf.c, + rdft/hc2hc-generic.c, rdft/hc2hc.c, rdft/problem.c, + rdft/problem2.c, rdft/rank0.c, rdft/rdft-dht.c, + rdft/rdft2-radix2.c, rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/redft00e-r2hc-pad.c, + reodft/redft00e-r2hc.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-r2hc.c, reodft/reodft11e-radix2.c, + reodft/rodft00e-r2hc-pad.c, reodft/rodft00e-r2hc.c: Use %D as + format character for type INT. + + * kernel/ifftw.h, kernel/stride.c: Changed type of + an_int_guaranteed_to_be_zero. Changed name as well. + + * kernel/ifftw.h, kernel/planner.c, kernel/print.c: converted %o + -> INT + + * dft/bluestein.c, dft/buffered.c, dft/codelet-dft.h, + dft/codelets/n.c, dft/codelets/t.c, dft/ct.c, dft/ct.h, + dft/ctsq.c, dft/dftw-direct.c, dft/dftw-generic.c, + dft/dftw-genericbuf.c, dft/direct.c, dft/generic.c, + dft/indirect-transpose.c, dft/problem.c, dft/rader.c, + dft/simd/n1b.c, dft/simd/n1f.c, dft/simd/n2b.c, dft/simd/n2f.c, + dft/simd/n2s.c, dft/simd/q1b.c, dft/simd/q1f.c, dft/simd/t.c, + dft/simd/t1s.c, dft/vrank-geq1.c, dft/zero.c, genfft/gen_hc2hc.ml, + genfft/gen_hc2r.ml, genfft/gen_notw.ml, genfft/gen_notw_c.ml, + genfft/gen_r2hc.ml, genfft/gen_r2r.ml, genfft/gen_twiddle.ml, + genfft/gen_twiddle_c.ml, genfft/gen_twidsq.ml, + genfft/gen_twidsq_c.ml, kernel/buffered.c, kernel/cpy1d.c, + kernel/cpy2d-pair.c, kernel/cpy2d.c, kernel/ct.c, kernel/iabs.c, + kernel/ifftw.h, kernel/md5-1.c, kernel/minmax.c, kernel/ops.c, + kernel/planner.c, kernel/primes.c, kernel/rader.c, + kernel/solvtab.c, kernel/stride.c, kernel/tensor.c, + kernel/tensor1.c, kernel/tensor2.c, kernel/tensor4.c, + kernel/tensor7.c, kernel/tile2d.c, kernel/transpose.c, + kernel/trig.c, kernel/twiddle.c, rdft/buffered.c, + rdft/buffered2.c, rdft/codelet-rdft.h, rdft/codelets/hc2r.c, + rdft/codelets/hfb.c, rdft/codelets/r2hc.c, rdft/codelets/r2r.c, + rdft/dft-r2hc.c, rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/direct.c, + rdft/direct2.c, rdft/generic.c, rdft/hc2hc-common.c, + rdft/hc2hc-direct.c, rdft/hc2hc-directbuf.c, rdft/hc2hc-generic.c, + rdft/hc2hc.c, rdft/hc2hc.h, rdft/problem.c, rdft/problem2.c, + rdft/rank0-rdft2.c, rdft/rank0.c, rdft/rdft-dht.c, rdft/rdft.h, + rdft/rdft2-inplace-strides.c, rdft/rdft2-radix2.c, + rdft/rdft2-strides.c, rdft/rdft2-tensor-max-index.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/redft00e-r2hc-pad.c, + reodft/redft00e-r2hc.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-r2hc.c, reodft/reodft11e-radix2.c, + reodft/rodft00e-r2hc-pad.c, reodft/rodft00e-r2hc.c, simd/sse2.c, + simd/taint.c: Major 64-bit cleanup. + +2005-12-08 Steven G. Johnson stevenj@fftw.org + + * kernel/cycle.h: PGI x86-64 cycle counter, courtesy Cristiano + Calonaci + +2005-12-06 Matteo Frigo athena@fftw.org + + * kernel/planner.c: Must insert into hash table when wisdom_state + == WISDOM_ONLY, otherwise wisdom does not work. + +2005-10-08 Steven G. Johnson stevenj@fftw.org + + * m4/acx_pthread.m4: comment + +2005-10-02 Matteo Frigo athena@fftw.org + + * api/apiplan.c, kernel/ifftw.h, kernel/planner.c: Paranoia: made + planner robust against MD5 collisions. + +2005-09-28 Matteo Frigo athena@fftw.org + + * doc/FAQ/fftw-faq.bfnn: Note that --enable-3dnow is unsupported. + + * NEWS: * Removed --enable-3dnow support. + + * SIMD support for split complex arrays. + + * api/version.c, configure.ac, genfft/gen_notw.ml, + genfft/gen_notw_c.ml, genfft/gen_twiddle.ml, + genfft/gen_twiddle_c.ml, genfft/gen_twidsq_c.ml, kernel/align.c, + kernel/ifftw.h, simd/3dnow.c, simd/Makefile.am, simd/simd-3dnow.h, + simd/simd-altivec.h, simd/simd-sse.h, simd/simd-sse2.h, + simd/simd.h: Removed --enabled-3dnow, since it is becoming useless + as the world moves to x86-64, and it is a pain to maintain. (We + should probably remove the k7 stuff as well.) + + * genfft/gen_notw.ml, genfft/gen_twiddle.ml: Missing BEGIN_SIMD(), + END_SIMD() statements. + +2005-09-27 Matteo Frigo athena@fftw.org + + * simd/simd-sse.h: Tweaks + + * genfft/to_alist.ml, dft/dftw-direct.c: Fixed wrong opcount for + simd codelets. + + * genfft/c.ml, simd/simd-altivec.h, simd/simd-sse2.h: fixed flop + counts + + * simd/simd-sse2.h: Silence warnings + + * dft/simd/Makefile.am, dft/simd/codelets/Makefile.am, + dft/simd/n2s.c, dft/simd/n2s.h, dft/simd/t1s.c, dft/simd/t1s.h, + genfft/annotate.ml, genfft/c.ml, genfft/gen_hc2hc.ml, + genfft/gen_notw.ml, genfft/gen_twiddle.ml, + genfft/gen_twiddle_c.ml, genfft/gen_twidsq_c.ml, + genfft/genutil.ml, genfft/simd.ml, genfft/twiddle.ml, + genfft/twiddle.mli, simd/simd-altivec.h, simd/simd-sse.h, + simd/simd-sse2.h, simd/simd.h: Implemented split-complex SIMD + codelets + +2005-09-26 Matteo Frigo athena@fftw.org + + * dft/simd/codelets/Makefile.am, genfft/annotate.ml, + genfft/annotate.mli, genfft/expr.ml, genfft/expr.mli, + genfft/gen_notw_c.ml, genfft/simd.ml, genfft/simdmagic.ml, + simd/simd-3dnow.h, simd/simd-altivec.h, simd/simd-sse.h, + simd/simd-sse2.h: Generalized the ``store pairs'' trick (now + called ``store multiple''). + +2005-09-25 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h: Silence some warnings. + +2005-09-24 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h: Removed obsolete cruft + +2005-09-20 Matteo Frigo athena@fftw.org + + * configure.ac, simd/simd-altivec.h: Re-enabled check for + <altivec.h> because OSX requires it. + +2005-09-11 Matteo Frigo athena@fftw.org + + * configure.ac: Check for sizeof(unsigned int) unconditionally, + because the result is used by ifftw.h. + + * dft/simd/t.c: Higher size limit for t2 codelets. + + * dft/simd/Makefile.am, dft/simd/t.c, dft/simd/t1b.c, + dft/simd/t1f.c, dft/simd/t2b.h, dft/simd/t2f.h: Heuristic: do not + use t2 simd codelets for N>1024. + +2005-09-06 Matteo Frigo athena@fftw.org + + * libbench2/timer.c: Larger tolerance in timer calibration + routine. + +2005-09-05 Matteo Frigo athena@fftw.org + + * Makefile.am, configure.ac, simd/Makefile.am, + simd/nonportable/Makefile.am, simd/nonportable/sse.c, + simd/nonportable/sse2.c, simd/simd-sse.h, simd/simd-sse2.h, + simd/sse-aux.c, simd/sse.c, simd/sse2-aux.c, simd/sse2.c: Removed + SSE and SSE2 asm because it was bitrotting. Use the Intel API + instead, which seems to be supported by gcc >= 3.3. Moved files + that require -msse, -msse2 to new directory. + + * m4/ax_gcc_archflag.m4: Parse cputypes of the form + 7447A,altivecsupported + + * m4/ax_gcc_archflag.m4: Distinguish powerpc 7400 from the 7450, + which has a different pipeline. + + * simd/simd-altivec.h: Paranoia: define RIGHT_CPU unconditionally. + +2005-08-12 Matteo Frigo athena@fftw.org + + * tools/fftw-wisdom-to-conf.in: Removed obsolete name + fftw-wisdom2c. + + * tools/fftw-wisdom-to-conf.in: Avoid creation of temporary + files---use cpp magic instead. This fix solves a security bug and + avoids nonportable tempfile creation hacks. + +2005-08-05 Matteo Frigo athena@fftw.org + + * configure.ac, simd/altivec.c, simd/simd-altivec.h: Workaround + for with gcc-3.3 altivec bug. + +2005-06-16 Steven G. Johnson stevenj@fftw.org + + * m4/acx_pthread.m4: solaris fix: check -pthreads first since gcc + does not like -pthread but chokes due to stubbed libc (grr) + +2005-06-03 Steven G. Johnson stevenj@fftw.org + + * doc/FAQ/fftw-faq.bfnn: note that VC++ bug was fixed in 2005 + +2005-05-30 Steven G. Johnson stevenj@fftw.org + + * configure.ac, m4/ax_cc_maxopt.m4, m4/ax_cc_vendor.m4, + m4/ax_compiler_vendor.m4: generalized ax_cc_vendor to + ax_compiler_vendor + + * m4/ax_cc_maxopt.m4: updated message + + * m4/acx_pthread.m4, m4/ax_cc_maxopt.m4, m4/ax_cc_vendor.m4, + m4/ax_check_compiler_flags.m4, m4/ax_gcc_aligns_stack.m4, + m4/ax_gcc_archflag.m4, m4/ax_gcc_version.m4, + m4/ax_gcc_x86_cpuid.m4, m4/ax_openmp.m4: update for new AC archive + format + +2005-05-24 Steven G. Johnson stevenj@fftw.org + + * api/fftw3.h: *** empty log message *** + +2005-05-23 Steven G. Johnson stevenj@fftw.org + + * NEWS: *** empty log message *** + + * NEWS: more notes + + * m4/ax_cc_maxopt.m4: whoops + + * doc/FAQ/fftw-faq.bfnn: note icc 8.x annoyance + + * doc/FAQ/fftw-faq.bfnn: *** empty log message *** + + * doc/FAQ/fftw-faq.bfnn: note gcc 3.4.[0123] bug, which is fixed + in gcc 3.4.4 + + * m4/ax_cc_maxopt.m4: added automatic detection of icc + architecture flag + + * configure.ac: add -no-gcc to icc flags...even if it is Intel's + fault, I'm sick of dealing with bug reports about this + + * doc/fftw3.texi: added @cindex portability + + * doc/fftw3.texi: note --without-gcc-arch + + * m4/ax_gcc_archflag.m4: bsd ppc detection; some odd 603 types + +2005-05-22 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: *** empty log message *** + + * m4/ax_gcc_archflag.m4: ensure no spaces in cputype + + * m4/ax_gcc_archflag.m4: nevermind + + * m4/ax_gcc_archflag.m4: more bsd stuff + + * m4/ax_gcc_archflag.m4: added BSD cpu detection for SPARC and + better super/hypersparc detection + + * m4/ax_gcc_archflag.m4: comment + +2005-05-20 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: "alternate" == "alternative" is US-centric + + * doc/fftw3.texi: typo + + * doc/FAQ/fftw-faq.bfnn: clarification + +2005-05-17 Steven G. Johnson stevenj@fftw.org + + * tests/bench.c: print out estimate-planner time from can_do in + verbose>2 mode + +2005-05-09 Steven G. Johnson stevenj@fftw.org + + * m4/ax_cc_vendor.m4: comment + +2005-05-06 Steven G. Johnson stevenj@fftw.org + + * Makefile.am, api/api.h, api/fftw3.h, configure.ac, + threads/Makefile.am: fixes for building Windows DLLs with Cygwin; + thanks in part to Stephane Fillod + +2005-04-22 Steven G. Johnson stevenj@fftw.org + + * m4/ax_cc_maxopt.m4: -ffast-math seems to produce code that is + either about the same speed or slightly faster (gcc 3.3 and 4.0, + x86) + + * m4/ax_gcc_archflag.m4: power5 fallback to power4 sched for older + gcc's + + * m4/ax_gcc_archflag.m4: check for power5 + +2005-04-20 Matteo Frigo athena@fftw.org + + * api/fftw3.h: Removed clause #3 + +2005-04-20 Steven G. Johnson stevenj@fftw.org + + * api/fftw3.h: license clarification + +2005-04-20 Matteo Frigo athena@fftw.org + + * api/fftw3.h: Changed license of fftw3.h to X11. + +2005-04-11 Steven G. Johnson stevenj@fftw.org + + * genfft/gen_conv.ml: delete fixed-input code + +2005-04-10 Matteo Frigo athena@fftw.org + + * api/apiplan.c, api/fftw3.h, api/mapflags.c, dft/bluestein.c, + dft/buffered.c, dft/ct.c, dft/dftw-direct.c, dft/dftw-generic.c, + dft/generic.c, dft/indirect-transpose.c, dft/indirect.c, + dft/rader.c, dft/vrank-geq1.c, kernel/ifftw.h, kernel/planner.c, + rdft/buffered.c, rdft/buffered2.c, rdft/dft-r2hc.c, + rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/generic.c, + rdft/hc2hc-generic.c, rdft/hc2hc.c, rdft/indirect.c, + rdft/rank-geq2-rdft2.c, rdft/rdft-dht.c, rdft/rdft2-radix2.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c, + rdft/vrank3-transpose.c, reodft/redft00e-r2hc-pad.c, + reodft/redft00e-r2hc.c, reodft/reodft00e-splitradix.c, + reodft/reodft010e-r2hc.c, reodft/reodft11e-r2hc-odd.c, + reodft/reodft11e-r2hc.c, reodft/reodft11e-radix2.c, + reodft/rodft00e-r2hc-pad.c, reodft/rodft00e-r2hc.c, tests/bench.c, + tests/hook.c: joned L-U-planner branch + +2005-04-08 Steven G. Johnson stevenj@fftw.org + + * reodft/reodft00e-splitradix.c: ref + +2005-04-07 Steven G. Johnson stevenj@fftw.org + + * genfft/gen_r2r.ml: whoops + + * genfft/complex.ml, genfft/complex.mli, genfft/fft.ml, + genfft/gen_athtw.ml, genfft/gen_hc2r.ml, genfft/gen_notw.ml, + genfft/gen_notw_c.ml, genfft/gen_r2hc.ml, genfft/gen_r2r.ml, + genfft/magic.ml, genfft/number.ml, genfft/number.mli: added + (optional) new split-radix algorithm, enabled with -newsplit; also + new -standalone option to omit desc; also -unitary, + -normalization, and -normsqr options to generate r2r codelets with + various normalization (to match lit. in DCT-II, use: -unitary + -normsqr 2) + +2005-04-02 Matteo Frigo athena@fftw.org + + * reodft/redft00e-r2hc-pad.c, reodft/redft00e-r2hc.c, + reodft/reodft00e-splitradix.c, reodft/reodft010e-r2hc.c, + reodft/reodft11e-r2hc-odd.c, reodft/reodft11e-r2hc.c, + reodft/reodft11e-radix2.c, reodft/rodft00e-r2hc-pad.c, + reodft/rodft00e-r2hc.c: reodft solvers are SLOW, not UGLY + + * api/fftw3.h, api/mapflags.c, dft/bluestein.c, + dft/dftw-generic.c, dft/generic.c, dft/rader.c, kernel/ifftw.h, + kernel/planner.c, rdft/dht-r2hc.c, rdft/dht-rader.c, + rdft/generic.c, rdft/hc2hc-generic.c, rdft/rdft-dht.c, + rdft/vrank3-transpose.c: Renamed SLOW_ALGORITHMS => SLOW; promoted + vrank3-transpose from UGLY to SLOW. + + * api/mapflags.c, dft/bluestein.c, dft/dftw-generic.c, + dft/generic.c, dft/indirect-transpose.c, dft/rader.c, + kernel/ifftw.h, rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/generic.c, + rdft/hc2hc-generic.c, rdft/rdft-dht.c: Distinguish SLOW_ALGORITHM + from UGLY; UGLY is never tried unless EXHAUSTIVE. + +2005-04-01 Matteo Frigo athena@fftw.org + + * dft/indirect.c, kernel/planner.c, rdft/indirect.c: fixed + NO_BUFFERING + + * api/apiplan.c, api/mapflags.c, dft/bluestein.c, dft/buffered.c, + dft/ct.c, dft/indirect-transpose.c, dft/indirect.c, dft/rader.c, + kernel/ifftw.h, kernel/planner.c, rdft/buffered.c, + rdft/buffered2.c, rdft/dht-r2hc.c, rdft/dht-rader.c, rdft/hc2hc.c, + rdft/indirect.c, rdft/rank-geq2-rdft2.c, rdft/rdft-dht.c, + rdft/rdft2-radix2.c, tests/bench.c, tests/hook.c: Eliminated + problem_flags in favor of a combination of L and U. Renamed + planner_flags -> flags. + + * api/apiplan.c, api/fftw3.h, api/mapflags.c, dft/bluestein.c, + dft/ct.c, dft/dftw-direct.c, dft/dftw-generic.c, + dft/indirect-transpose.c, dft/indirect.c, dft/rader.c, + dft/vrank-geq1.c, kernel/ifftw.h, kernel/planner.c, + rdft/buffered.c, rdft/buffered2.c, rdft/dft-r2hc.c, + rdft/dht-rader.c, rdft/hc2hc.c, rdft/indirect.c, + rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c: Initial creation of + cvs branch for new [L,U] planner + +2005-03-25 Matteo Frigo athena@fftw.org + + * kernel/planner.c: Moved timeout check outside the search loop, + because X(seconds) is expensive. + +2005-03-20 Matteo Frigo athena@fftw.org + + * dft/ct.c: Enable vector recursion for in-place problems, + otherwise dftw-genericbuf works only in PATIENT mode. + + * dft/dftw-genericbuf.c: oops + + * dft/dftw-genericbuf.c: make solver UGLY for small N + + * dft/dftw-genericbuf.c, dft/Makefile.am, dft/conf.c, dft/dft.h: + new dftw-genericbuf solver + +2005-03-18 Matteo Frigo athena@fftw.org + + * simd/sse2-aux.c: Hmm... what was I thinking? + + * simd/simd-sse2.h, simd/sse2-aux.c: Workaround for a MSVC bug. + +2005-03-17 Matteo Frigo athena@fftw.org + + * simd/simd-sse.h, simd/sse-aux.c: Workaround for a MSVC bug that + was reported by Eddie Yee. + +2005-03-15 Matteo Frigo athena@fftw.org + + * rdft/rank0.c: try both contiguous input and contiguous output + when in doubt + + * dft/codelets/standard/Makefile.am, genfft/genutil.ml, + genfft/magic.ml, genfft/schedule.ml, genfft/schedule.mli, + rdft/codelets/hc2r/Makefile.am, rdft/codelets/r2hc/Makefile.am: + Added genfft flag -precompute-twiddles which moves the computation + of the twiddle factors before the main schedule. This flag + produces smaller code everywhere, and slightly faster code on + powerpc. I observe no speed difference on x86. + +2005-03-15 Steven G. Johnson stevenj@fftw.org + + * kernel/kalloc.c: sp + + * kernel/alloc.c: whoops, spelling error (thanks to Steve Eddins + for bug report) + +2005-03-12 Matteo Frigo athena@fftw.org + + * dft/vrank-geq1.c, rdft/vrank-geq1-rdft2.c, rdft/vrank-geq1.c: Do + not approximate pcost = vl * child->pcost unless child is + guaranteed not to be a simple codelet. + +2005-03-10 Matteo Frigo athena@fftw.org + + * dft/direct.c: Relaxed applicability conditions. + +2005-03-09 Matteo Frigo athena@fftw.org + + * dft/dftw-generic.c: Minor optimization + + * libbench2/problem.c: Interpret <N>K to mean <N>*1024. Similarly + for <N>M. + + * kernel/primes.c: Hmm... somehow some previous commit got lost. + + * dft/ct.c: Paranoia + +2005-03-07 Steven G. Johnson stevenj@fftw.org + + * configure.ac: whoops + + * configure.ac, m4/ax_cc_maxopt.m4: move fftw-specific HP/UX tweak + into configure.ac + + * configure.ac, m4/ax_cc_family.m4, m4/ax_cc_maxopt.m4, + m4/ax_cc_vendor.m4: ax_cc_family -> ax_cc_vendor (vendor names are + easier to remember), add checks for many new compilers, use in + ax_cc_maxopt + +2005-03-07 Matteo Frigo athena@fftw.org + + * kernel/planner.c: Count FMA as one flop in estimator when + HAVE_FMA + + * dft/dftw-generic.c: Do not try radix-2 generic. + +2005-03-06 Matteo Frigo athena@fftw.org + + * m4/ax_cc_maxopt.m4: Use -O3 for xlc now that we use -O for + CODELET_OPTIM + + * configure.ac, m4/ax_cc_family.m4: New AX_CC_FAMILY macro, that + detects the compiler based on symbols that it defines (as opposed + to the name of the compiler). We need to start use this strategy + everywhere else. + + * dft/direct.c: Runtime checks to guarantee small strides. + + * dft/vrank-geq1.c, kernel/tensor7.c, rdft/rank0.c, + rdft/vrank-geq1.c: Reduced the search space for rank-0 transforms + +2005-03-04 Steven G. Johnson stevenj@fftw.org + + * kernel/primes.c: little assert + +2005-03-01 Matteo Frigo athena@fftw.org + + * dft/dft.h, dft/dftw-direct.c, dft/direct.c, dft/kdft.c: + Implemented directbuf, enabled for now. + + * dft/Makefile.am, dft/dftw-direct.c, dft/dftw-directbuf.c, + dft/kdft-dif.c, dft/kdft-dit.c: Unified dftw-direct, + dftw-directbuf in an attempt to tame code growth + +2005-02-27 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: fixed copyright + +2005-02-27 Matteo Frigo athena@fftw.org + + * rdft/rank0.c: silence warnings + + * rdft/rank0.c: oops + + * rdft/rank0.c: Tweaking while thinking about a higher-rank + transposer (bitreverser) + + * dft/dftw-directbuf.c: Transposed the buffer, and skewed it. + This allows for contiguous copy operations, and the codelet should + not incur associativity conflicts if the buffer is large. + +2005-02-26 Steven G. Johnson stevenj@fftw.org + + * kernel/tensor4.c: make tensor_max_index more reasonable (take + maximum of input and output max indices, computed separately) + +2005-02-26 Matteo Frigo athena@fftw.org + + * rdft/vrank3-transpose.c: Use cpy2d instead of cpy2d_tiled, + because vl may be too large. + + * genfft/annotate.ml: Fixed old bug that was introduced with + yesterday's changes. + + * kernel/cpy1d.c: ``Interesting'' switch statement. + +2005-02-25 Matteo Frigo athena@fftw.org + + * support/Makefile.codelets: Disabled -reorder-loads + -reorder-stores, since they seem to do nothing. + +2005-02-25 Steven G. Johnson stevenj@fftw.org + + * rdft/rank-geq2.c, dft/rank-geq2.c: Because of the recent changes + to kernel/pickdim.c, splitrnk=0 is no longer equivalent to + splitrnk=1 for rnk < 4, where the latter is the FFTW2 behavior. + For small rnk, however, I observe the planner to pretty + consistently choose the FFTW2 behavior (splitrnk=1), despite its + not being asymptotically optimal in the cache oblivious sense. + So, make splitrnk=1 instead of splitrnk=0 the default in + FFTW_MEASURE and FFTW_ESTIMATE modes (rnk > 3 is pretty rare in + practice anyway). + + * dft/indirect-transpose.c: tweak + + * dft/indirect-transpose.c: slight relaxation + + * dft/indirect-transpose.c: cruft + + * dft/Makefile.am, dft/conf.c, dft/dft.h, + dft/indirect-transpose.c, dft/indirect.c, kernel/ifftw.h, + kernel/tensor4.c: added experimental indirect-transpose solver: + when transforming the columns of the matrix, allow us to do a + transpose to make the DFTs contiguous + + * configure.ac: check for abort() + + * kernel/assert.c: call abort() on failed assertion + +2005-02-25 Matteo Frigo athena@fftw.org + + * kernel/primes.c: Forgot to change X(isqrt) -> isqrt_maybe + +2005-02-25 Steven G. Johnson stevenj@fftw.org + + * rdft/rank-geq2-rdft2.c, rdft/rank-geq2.c, dft/rank-geq2.c: + require finite_rnk + +2005-02-24 Matteo Frigo athena@fftw.org + + * support/Makefile.codelets, support/twovers.sh, + genfft/annotate.ml, genfft/magic.ml: Implemented reordering of + loads and stores so that the real and imaginary part are + loaded/stored together. This should improve out-of-cache + performance in the presence of associativity conflicts, and maybe + worsen in-cache performance because of worse scheduling. Enabled + for now, for experimental purposes. + +2005-02-24 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_aligns_stack.m4: fix comment + + * m4/ax_gcc_aligns_stack.m4: better message + + * m4/ax_gcc_aligns_stack.m4: use gcc version > 3.0 as fallback in + check for alignment bug + + * m4/ax_gcc_aligns_stack.m4: don't use -malign-double + unconditionally (it is only available on x86) + +2005-02-24 Matteo Frigo athena@fftw.org + + * kernel/transpose.c: Subtler selection of tilesz. + + * rdft/rank0.c: Call cpy2d_tiledbuf, not cpy2d_tiled. + + * kernel/cpy2d.c, kernel/transpose.c: buffer sizes were wrong :-( + + * kernel/cpy2d.c, kernel/ifftw.h, kernel/tile2d.c, + kernel/transpose.c, rdft/rank0.c: Single function for computing + tile size. Eliminate spurious assertions. + + * kernel/tile2d.c: Do tiling recursively. + + * kernel/Makefile.am, kernel/cpy2d.c, kernel/ifftw.h, + kernel/tile2d.c, kernel/transpose.c, rdft/rank0.c, + rdft/vrank3-transpose.c: Reworked tiled transposes; provide tiling + with and without buffering. I can't believe that one has to waste + his life with this @#$%. + + * kernel/pickdim.c: Clarified logic. I am not sure why the code + was so confusing to begin with. The computation of *dp in the + which_dim == 0 case was also wrong, returning e.g. *dp == -1 if + sz->rnk == 1. + + * configure.ac: Enable aggressive inlining in codelets only, to + avoid code bloat. + + * kernel/Makefile.am, kernel/cpy2d.c, kernel/ifftw.h, + kernel/primes.c, kernel/transpose-rec.c, kernel/transpose.c, + rdft/rank0.c, rdft/vrank3-transpose.c: Removed cache-oblivious + copy/transpose algorithms in favor of explicitly blocked + algorithms. The cache-oblivious algorithms fail if there are + associativity conflicts, in which case buffering is necessary, as + per Carter and Gatlin. Once you set the buffer size, there is no + point whatsoever to do the algorithm recursively, and you may as + well use blocking. + +2005-02-23 Steven G. Johnson stevenj@fftw.org + + * configure.ac: --disable-fortran now differs from + --enable-fortran that fails + + * api/f77api.c: comment tweak + + * api/f77api.c: If a Fortran compiler was not detected, just make + our best guess at what wrappers to use...I'm sick of dealing with + user complaints from cases where wrapper detection fails for + whatever reason. + + * api/f77funcs.h: fflush(stdout) after print_plan, in case F77 + doesn't + +2005-02-23 Matteo Frigo athena@fftw.org + + * mkdist.sh: --enable-sse is necessary after all, to generate all + dependencies correctly. + + * dft/dftw-directbuf.c, kernel/Makefile.am, kernel/cpy2d-pair.c, + kernel/ifftw.h: Put cpy2d_pair into its own file, so that I can + experiment with buffering of nontwiddle codelets. + + * doc/Makefile.am: Copy rfftwnd.png from ${srcdir}, not $PWD + +2005-02-22 Matteo Frigo athena@fftw.org + + * rdft/rank0.c: Do not bother memcpy-ing complex numbers. + + * kernel/cpy2d.c, kernel/transpose-rec.c: Tighther layout of + buffers. I am not sure it matters, but just in case... + + * rdft/rank0.c: Usec cpy1d for rank-0 copies + + * kernel/Makefile.am, kernel/cpy1d.c, kernel/cpy2d.c, + kernel/ifftw.h, kernel/transpose-rec.c, kernel/transpose.c, + rdft/rank0.c, rdft/vrank3-transpose.c: Implemented in-place + transposes with buffering. Moved copy/transposition routines into + own files, so that we can reuse them from multiple places. TODO: + merge vrank3-transpose.c with rank0.c, or rename + vrank3-transpose.c to rank0-fancy.c or something like that; decide + whether square in-place transposes should be in rank0.c or + vrank3-transpose.c; apply FIXME's in vrank3-transpose.c. + + * kernel/print.c: Indentation should be printed after newline, not + at the beginning of print() + +2005-02-21 Matteo Frigo athena@fftw.org + + * rdft/rank0.c: generalized in anticipation of more complicated + solvers. + + * rdft/rank0.c: Implemented buffered recursive transpose + +2005-02-20 Matteo Frigo athena@fftw.org + + * rdft/rank0.c: Fixed comment + + * rdft/Makefile.am, rdft/conf.c, rdft/rank0-vrank2.c, + rdft/rank0.c, rdft/rdft.h: grand unification of rank0 solvers + + * rdft/vrank3-transpose.c: manual tail-recursion optimization + +2005-02-19 Matteo Frigo athena@fftw.org + + * libbench2/verify-lib.c, libbench2/verify-r2r.c, tests/check.pl: + implemented check for transpositions + + * libbench2/verify-lib.c: Previous fix was wrong for rdft2 + problems. + + * rdft/dft-r2hc.c: vecsz->rnk must be finite for this solver to + apply. + + * rdft/vrank3-transpose.c: unified the various simple'' + transposers + + * libbench2/verify-lib.c, libbench2/verify-r2r.c, + rdft/vrank3-transpose.c: Fixed stupid bug in rec_transpose_swap. + Fixed stupid verifier that did not catch the bug. + + * rdft/vrank3-transpose.c: Minor cleanup of transposition + routines. + + * dft/dftw-directbuf.c, rdft/hc2hc-directbuf.c: Make the batch + size B=Theta(r) instead of B=Theta(1) in buffered twiddle solvers. + Theory: for cache line size L, we want B = Omega(L) to utilize the + cache line fully. We also want B*r =O(Z), where Z is the size of + the cache. It is safe to assume that Z = Theta(L^2): cache + designers will tend to make L as large as they can get away with, + because they don't have to program the machines that they build, + and Z < Theta(L^2) will screw up the little matrix transposition + benchmarks that they use to design the cache. Hence, B=Theta(r) + is the right number. + +2005-02-19 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: for --enable-portable-binary, only try + -mcpu=$arch and -m$arch on x86, since these generate non-portable + code on every other target (and some other targets, like Alpha, + don't support -mtune=$arch). + +2005-02-18 Matteo Frigo athena@fftw.org + + * kernel/ifftw.h: gcc/aix defines _POWER, not __powerpc__ like the + rest of the world does. + +2005-02-17 Matteo Frigo athena@fftw.org + + * configure.ac: enable fma for ia64, since it seems to help with + the hpux compiler. + + * TODO: *** empty log message *** + +2005-02-16 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h: Fixes for darwin + + * api/apiplan.c: Made the correctness of the code more obvious. + +2005-02-16 Steven G. Johnson stevenj@fftw.org + + * NEWS, m4/ax_cc_maxopt.m4: + s/with-portable-binary/enable-portable-binary/ to be GNUlly + correct; I'm sticking with --with-gcc-arch=arch, however, as + --enable-gcc-arch=arch has the wrong connotations for me + + * api/apiplan.c: whoops + + * api/apiplan.c: bless wisdom with patience used to create it + + * api/apiplan.c: whoops + + * NEWS, TODO, api/apiplan.c, api/fftw3.h, doc/fftw3.texi, + kernel/ifftw.h, kernel/planner.c, kernel/timer.c, tests/bench.c: + added 'timed' planner option + +2005-02-16 Matteo Frigo athena@fftw.org + + * dft/simd/Makefile.am, simd/Makefile.am: Do not use SIMD_CFLAGS. + The theory is that if taint.c is unsafe with SIMD_CFLAGS, then all + files in this directory are as well. Conversely, if these files + require SIMD_CFLAGS because they include "simd.h", then taint.c + requires SIMD_CFLAGS as well, and thus we need some other hack. + + * dft/codelets/standard/Makefile.am, dft/simd/Makefile.am, + dft/simd/codelets/Makefile.am, rdft/codelets/hc2r/Makefile.am, + rdft/codelets/r2hc/Makefile.am, rdft/codelets/r2r/Makefile.am, + support/Makefile.codelets: Do not override CFLAGS in Makefile.am. + +2005-02-15 Matteo Frigo athena@fftw.org + + * configure.ac: Allow users to build long double version even if + sizeof(long double) == sizeof(double) + + * commercialize.sh: Updated for 3.1 + + * api/version.c: Oops, version.h is no longer used + +2005-02-14 Matteo Frigo athena@fftw.org + + * api/Makefile.am, api/version.c, configure.ac, + dft/codelets/standard/Makefile.am, dft/simd/codelets/Makefile.am, + m4/ocaml.m4, mkdist.sh, rdft/codelets/hc2r/Makefile.am, + rdft/codelets/r2hc/Makefile.am, rdft/codelets/r2r/Makefile.am, + support/Makefile.am, support/Makefile.codelets, + support/twovers.sh: unified fma and non-fma versions + + * configure.ac: forgot to remove inplace/Makefile from + configure.ac + + * dft/codelet-dft.h, dft/codelets/Makefile.am, + dft/codelets/inplace/Makefile.am, + dft/codelets/standard/Makefile.am, dft/conf.c, Makefile.am: Merged + dft/codelets/inplace with the main dft/codelets/standard + directory. This step makes dft codelets consistent with the rest + of the naming conventions, and will simplify the eventual merge of + fma and non-fma codelets. + + * simd/altivec.c, simd/simd-altivec.h: inline altivec constants, + since gcc seems to generate better code this way. + +2005-02-13 Matteo Frigo athena@fftw.org + + * simd/altivec.c, simd/simd-altivec.h: group altivec constants + into a single array, for faster access + + * genfft/c.ml, genfft/c.mli, genfft/simd.ml: code cleanup + + * genfft/c.ml, genfft/c.mli: removed some unused stuff + + * simd/simd-3dnow.h, simd/simd-altivec.h: New twiddle scheme for + altivec, 3dnow + + * simd/simd-sse2.h: Implemented new twiddle scheme for sse2 + + * dft/simd/Makefile.am, dft/simd/codelets/Makefile.am, + dft/simd/q1b.h, dft/simd/q1f.h, dft/simd/t1b.h, dft/simd/t1f.h, + dft/simd/t2b.h, dft/simd/t2f.h, simd/simd-sse.h: Implemented + experimental t2* codelets, which store twiddle factors in a more + convenient format, at the expense of twice the storage. Currently + only SSE works; I have to port SSE2, altivec, etc. to the new + scheme. After this, we will decide whether these codelets are + worth the price. + +2005-02-11 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h: Forgot to define SIMD_STRIDE_OKPAIR + + * simd/simd-3dnow.h, simd/simd-altivec.h, simd/simd-sse.h, + simd/simd-sse2.h: fixed sse2, 3dnow, and altivec, as promised + + * simd/simd-sse.h, dft/simd/n2b.c, dft/simd/n2f.c, + genfft/annotate.ml, genfft/expr.ml, genfft/expr.mli, + genfft/simd.ml: Generate n2?v_* codelets in such a way that we may + or may not pair stores, depending on which mode happens to work + best on a particular SIMD implementation. sse2, 3dnow, and + altivec are currently broken---will fix soon. + +2005-02-10 Matteo Frigo athena@fftw.org + + * simd/altivec.c, simd/simd-altivec.h: instantiate altivec + constants only once + + * dft/simd/n2b.c, dft/simd/n2f.c: Fixed alignment checks for new + SIMD scheme + + * dft/simd/codelets/Makefile.am, genfft/annotate.ml, + genfft/annotate.mli, genfft/expr.ml, genfft/expr.mli, + genfft/gen_notw_c.ml, genfft/genutil.ml, genfft/simd.ml, + genfft/simdmagic.ml, simd/simd-3dnow.h, simd/simd-altivec.h, + simd/simd-sse.h, simd/simd-sse2.h: Change n2?v_* codelets to store + pairs of vectors, with implicit 2x2 transposition. Works for + 2-way SIMD as well. Tested with sse and sse2. I haven't tried + altivec yet, but I observed a huge speedup when I transformed one + codelet by hand. + +2005-02-09 Matteo Frigo athena@fftw.org + + * dft/codelets/standard/Makefile.am: Resurrected old DIF codelets + for experimental purposes. They are disabled for now, but I am + keeping the setup around for future reference. + +2005-02-09 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: *** empty log message *** + + * doc/fftw3.texi: clarifications, document --with-portable-binary + and --with-gcc-arch + + * NEWS: *** empty log message *** + +2005-02-08 Steven G. Johnson stevenj@fftw.org + + * NEWS: more change comments + + * doc/FAQ/fftw-faq.bfnn: fma is definitely beneficial on Itanium + with the HP/UX compiler + +2005-02-08 Matteo Frigo athena@fftw.org + + * libbench2/bench-main.c: Silence warnings. + +2005-02-08 Steven G. Johnson stevenj@fftw.org + + * libbench2/getopt.h: when we compile our own getopt, change + symbol names to avoid conflicts (e.g. avoid build failure on MacOS + X with --enable-shared) + + * reodft/reodft00e-splitradix.c: grr, more bugfixes for in-place + case + +2005-02-08 Matteo Frigo athena@fftw.org + + * dft/codelets/standard/Makefile.am: removed relics of FRANZ mode + +2005-02-07 Matteo Frigo athena@fftw.org + + * simd/altivec.c: Somehow xlc does not like ``vector int dummy;'' + + * mkdist.sh: There is no need to enable sse to make the + distribution. This might have been true in the past but not + anymore. + + * api/Makefile.am: Oops---included fortran file in C sources + + * api/Makefile.am, api/version.c: Set version string at ``make + dist'' time, not at ``configure'' time, so we know whether a user + is using the fma version or not. + +2005-02-06 Matteo Frigo athena@fftw.org + + * genfft/gen_hc2r_noinline.ml, genfft/gen_notw_noinline.ml, + genfft/gen_notw_noinline_c.ml, genfft/gen_r2hc_noinline.ml: + Removed useless files + + * configure.ac, dft/codelets/standard/Makefile.am, + dft/simd/codelets/Makefile.am, genfft/Makefile.am, genfft/c.ml, + genfft/c.mli, genfft/gen_hc2hc.ml, genfft/gen_hc2r.ml, + genfft/gen_notw.ml, genfft/gen_notw_c.ml, genfft/gen_r2hc.ml, + genfft/gen_twiddle.ml, genfft/gen_twiddle_c.ml, + genfft/gen_twidsq.ml, genfft/gen_twidsq_c.ml, genfft/genutil.ml, + genfft/simd.ml, kernel/ifftw.h, kernel/stride.c, + rdft/codelets/hc2r/Makefile.am, rdft/codelets/r2hc/Makefile.am, + support/Makefile.codelets: Different (simpler?) way to prevent the + compiler from optimizing loop inductive variables. We now + explicitly corrupt stride variables by xor-ing them with another + variable that happens to be zero (but the compiler does not know + it). In this way, the compiler does not attempt to extract a + zillion loop indices from codelets, which would overflow the + register set. Set the -fno-loop-optimize flag to further help the + process. + + Consequences: removed m* codelets. Smaller library size. + Slightly faster code with gcc/powerpc (including altivec). Much + faster code with xlc/powerpc. No changes for gcc/pentium. Maybe + slightly faster with icc/pentium. + +2005-02-05 Steven G. Johnson stevenj@fftw.org + + * reodft/reodft00e-splitradix.c: paranoia about in-place rodft00 + plans + + * kernel/planner.c: don't believe pcost when using the + estimator...there is no point, and it screws up estimator hacks to + prefer in-codelet loops to vecloops + +2005-02-05 Matteo Frigo athena@fftw.org + + * m4/ax_cc_maxopt.m4: Reduced optimization level from -O3 to -O + for xlc, since -O generates faster code. + +2005-02-05 Steven G. Johnson stevenj@fftw.org + + * reodft/reodft00e-splitradix.c: whoops, only applicable to + redft00/rodft00 plans + + * reodft/reodft00e-splitradix.c: fixed in-place operation, and + don't create size-0 sub-plans + +2005-02-04 Matteo Frigo athena@fftw.org + + * simd/altivec.c: Autodetect altivec on linux. This code works + with gcc-3.4 and -maltivec, with or without -mabi=altivec. The + code *should* work with gcc-3.3 without -mabi=altivec. However, + disabling -mabi=altivec on gcc-3.4 produces much worse code (I + don't know why). + +2005-01-28 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: update reference + +2005-01-27 Steven G. Johnson stevenj@fftw.org + + * doc/fftw3.texi: note that DCT-II/III are often called the'' + DCT/DCT + +2005-01-21 Steven G. Johnson stevenj@fftw.org + + * kernel/cycle.h: added MSVC++ for ia64 (based on information at + http://www.intel.com/cd/ids/developer/asmo-na/eng/19949.htm?prn=Y) + + * kernel/cycle.h: vc++ defines _M_AMD64 on x86-64, apparently + +2005-01-19 Steven G. Johnson stevenj@fftw.org + + * m4/acx_pthread.m4: avoid gratuitous breakage with -Werror, + requested by Simon Perreault + +2005-01-17 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_aligns_stack.m4: comment typo + +2005-01-15 Steven G. Johnson stevenj@fftw.org + + * configure.ac: bumped shared-lib revision# + + * api/fftw3.h, api/flops.c, kernel/ifftw.h, kernel/planner.c, + tests/bench.c: add X(estimate_cost) to get estimator cost, and + print from bench, to aid in tweaking estimator + + * doc/fftw3.texi: *** empty log message *** + + * doc/fftw3.texi: formatting fix + + * doc/fftw3.texi, reodft/Makefile.am, reodft/conf.c: tweaks + + * reodft/reodft00e-splitradix.c: use less buffer space + + * doc/fftw3.texi, reodft/Makefile.am, reodft/conf.c, + reodft/redft00e-r2hc.c, reodft/reodft.h, + reodft/reodft00e-splitradix.c, reodft/rodft00e-r2hc.c: added + split-radix-based dct/dst I for odd n + + * api/fftw3.h: *** empty log message *** + + * api/fftw3.h: warn silly users who confuse CVS id with FFTW + version + +2005-01-14 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: get sparc cpu type on solaris as well as + with linux + + * m4/ax_gcc_archflag.m4: detect prescott mobile (f37) + +2005-01-13 Steven G. Johnson stevenj@fftw.org + + * bootstrap.sh, m4/ax_gcc_archflag.m4: use cpuid for x86_64 as + well as i[56]86 + + * m4/ax_gcc_archflag.m4: update with x86info 1.7 and other sources + (identify k8, nocona, etc), handle nonzero leading bytes in eax + + * m4/acx_pthread.m4: compactified check for JOINABLE; use + AC_DEFINE_UNQUOTED instead of AC_DEFINE for + PTHREAD_CREATE_JOINABLE (thanks to Oliver Niekrenz for the bug + report) + +2005-01-12 Matteo Frigo athena@fftw.org + + * genfft/annotate.ml: The scheduler hack was incorrect because it + swapped instructions of the form A = *B and *B = C. Fixed. + + * m4/ax_cc_maxopt.m4, m4/ax_gcc_archflag.m4: Quote expressions + such as ``if test $FOO = yes'' when $FOO may be empty. Also, $GCC + is set to either ``yes'' or empty, never to ``no''. + + * TODO, configure.ac, simd/altivec.c: Hmm---somehow the previous + commit did not work. + +2005-01-11 Matteo Frigo athena@fftw.org + + * simd/simd-altivec.h: Fixed various gcc-related problems on + powerpc: - gcc-3.4 becomes totally confused by expressions like + vec_add(a, vec_add(b, vec_add(c, ...))) The compiler uses + gigabytes of memory and then crashes, presumably because of the + exponential-time search problem involved in typing the above + expression (since vec_add can take either ints or floats). I + changed VADD and similar macros to be inline functions, thus + constraining the type system. + + - New flags --param inline-unit-growth=1000 --param + large-function-growth=1000 to work around limitations of the + gcc-3.4 inliner. + + * simd/simd-altivec.h: Check for HAVE_ALTIVEC_H + + * configure.ac, simd/altivec.c, simd/simd-altivec.h: Remove + support for altivec using gcc builtins, since these keep changing + across gcc versions. These changes work on gcc-3.4/linux; I + haven't tried MacOS X yet. (The altivec ``spec'' differs between + Motorola/Apple and gcc, grrr...) + +2005-01-10 Matteo Frigo athena@fftw.org + + * rdft/rank0-vrank2.c: Stylistic changes + + * rdft/dft-r2hc.c: Changed incorrect ugliness condition. + +2005-01-10 Steven G. Johnson stevenj@fftw.org + + * m4/ax_gcc_archflag.m4: note x86info version number that was + used, to make it easier to update the cpuid for changes in later + versions + +2005-01-10 Matteo Frigo athena@fftw.org + + * rdft/dft-r2hc.c: Make dft-r2hc non-UGLY for rank-0 problems + + * m4/ax_gcc_archflag.m4: Do not use -mcpu=970 on power4 + processors, because power4 does not have altivec. +
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.