annotate fft/fftw/fftw-3.3.4/rdft/scalar/r2cb/Makefile.am @ 40:223f770b5341 kissfft-double tip

Try a double-precision kissfft
author Chris Cannam
date Wed, 07 Sep 2016 10:40:32 +0100
parents 26056e866c29
children
rev   line source
Chris@19 1 # This Makefile.am specifies a set of codelets, efficient transforms
Chris@19 2 # of small sizes, that are used as building blocks (kernels) by FFTW
Chris@19 3 # to build up large transforms, as well as the options for generating
Chris@19 4 # and compiling them.
Chris@19 5
Chris@19 6 # You can customize FFTW for special needs, e.g. to handle certain
Chris@19 7 # sizes more efficiently, by adding new codelets to the lists of those
Chris@19 8 # included by default. If you change the list of codelets, any new
Chris@19 9 # ones you added will be automatically generated when you run the
Chris@19 10 # bootstrap script (see "Generating your own code" in the FFTW
Chris@19 11 # manual).
Chris@19 12
Chris@19 13 ###########################################################################
Chris@19 14 AM_CPPFLAGS = -I$(top_srcdir)/kernel -I$(top_srcdir)/rdft \
Chris@19 15 -I$(top_srcdir)/rdft/scalar
Chris@19 16 noinst_LTLIBRARIES = librdft_scalar_r2cb.la
Chris@19 17
Chris@19 18 ###########################################################################
Chris@19 19 # r2cb_<n> is a hard-coded complex-to-real FFT of size <n> (base cases
Chris@19 20 # of real-output FFT recursion)
Chris@19 21 R2CB = r2cb_2.c r2cb_3.c r2cb_4.c r2cb_5.c r2cb_6.c r2cb_7.c r2cb_8.c \
Chris@19 22 r2cb_9.c r2cb_10.c r2cb_11.c r2cb_12.c r2cb_13.c r2cb_14.c r2cb_15.c \
Chris@19 23 r2cb_16.c r2cb_32.c r2cb_64.c r2cb_128.c r2cb_20.c r2cb_25.c
Chris@19 24 # r2cb_30.c r2cb_40.c r2cb_50.c
Chris@19 25
Chris@19 26 ###########################################################################
Chris@19 27 # hb_<r> is a "twiddle" FFT of size <r>, implementing a radix-r DIF
Chris@19 28 # step for a real-output FFT. Every hb codelet must have a
Chris@19 29 # corresponding r2cbIII codelet (see below)!
Chris@19 30 HB = hb_2.c hb_3.c hb_4.c hb_5.c hb_6.c hb_7.c hb_8.c hb_9.c \
Chris@19 31 hb_10.c hb_12.c hb_15.c hb_16.c hb_32.c hb_64.c \
Chris@19 32 hb_20.c hb_25.c # hb_30.c hb_40.c hb_50.c
Chris@19 33
Chris@19 34 # like hb, but generates part of its trig table on the fly (good for large n)
Chris@19 35 HB2 = hb2_4.c hb2_8.c hb2_16.c hb2_32.c \
Chris@19 36 hb2_5.c hb2_20.c hb2_25.c
Chris@19 37
Chris@19 38 # an r2cb transform where the output is shifted by half a sample (input
Chris@19 39 # is multiplied by a phase). This is needed as part of the DIF recursion;
Chris@19 40 # every hb_<r> or hb2_<r> codelet should have a corresponding r2cbIII_<r>
Chris@19 41 R2CBIII = r2cbIII_2.c r2cbIII_3.c r2cbIII_4.c r2cbIII_5.c r2cbIII_6.c \
Chris@19 42 r2cbIII_7.c r2cbIII_8.c r2cbIII_9.c r2cbIII_10.c r2cbIII_12.c \
Chris@19 43 r2cbIII_15.c r2cbIII_16.c r2cbIII_32.c r2cbIII_64.c \
Chris@19 44 r2cbIII_20.c r2cbIII_25.c # r2cbIII_30.c r2cbIII_40.c r2cbIII_50.c
Chris@19 45
Chris@19 46 ###########################################################################
Chris@19 47 # hc2cb_<r> is a "twiddle" FFT of size <r>, implementing a radix-r DIF
Chris@19 48 # step for a real-input FFT with rdft2-style output. <r> must be even.
Chris@19 49 HC2CB = hc2cb_2.c hc2cb_4.c hc2cb_6.c hc2cb_8.c hc2cb_10.c hc2cb_12.c \
Chris@19 50 hc2cb_16.c hc2cb_32.c \
Chris@19 51 hc2cb_20.c # hc2cb_30.c
Chris@19 52
Chris@19 53 HC2CBDFT = hc2cbdft_2.c hc2cbdft_4.c hc2cbdft_6.c hc2cbdft_8.c \
Chris@19 54 hc2cbdft_10.c hc2cbdft_12.c hc2cbdft_16.c hc2cbdft_32.c \
Chris@19 55 hc2cbdft_20.c # hc2cbdft_30.c
Chris@19 56
Chris@19 57 # like hc2cb, but generates part of its trig table on the fly (good
Chris@19 58 # for large n)
Chris@19 59 HC2CB2 = hc2cb2_4.c hc2cb2_8.c hc2cb2_16.c hc2cb2_32.c \
Chris@19 60 hc2cb2_20.c # hc2cb2_30.c
Chris@19 61 HC2CBDFT2 = hc2cbdft2_4.c hc2cbdft2_8.c hc2cbdft2_16.c hc2cbdft2_32.c \
Chris@19 62 hc2cbdft2_20.c # hc2cbdft2_30.c
Chris@19 63
Chris@19 64 ###########################################################################
Chris@19 65 ALL_CODELETS = $(R2CB) $(HB) $(HB2) $(R2CBIII) $(HC2CB) $(HC2CB2) \
Chris@19 66 $(HC2CBDFT) $(HC2CBDFT2)
Chris@19 67
Chris@19 68 BUILT_SOURCES= $(ALL_CODELETS) $(CODLIST)
Chris@19 69
Chris@19 70 librdft_scalar_r2cb_la_SOURCES = $(BUILT_SOURCES)
Chris@19 71
Chris@19 72 SOLVTAB_NAME = X(solvtab_rdft_r2cb)
Chris@19 73 XRENAME=X
Chris@19 74
Chris@19 75 # special rules for regenerating codelets.
Chris@19 76 include $(top_srcdir)/support/Makefile.codelets
Chris@19 77
Chris@19 78 if MAINTAINER_MODE
Chris@19 79 FLAGS_R2CB=$(RDFT_FLAGS_COMMON) -sign 1
Chris@19 80 FLAGS_HB=$(RDFT_FLAGS_COMMON) -sign 1
Chris@19 81 FLAGS_HB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles
Chris@19 82 FLAGS_HC2CB=$(RDFT_FLAGS_COMMON) -sign 1
Chris@19 83 FLAGS_HC2CB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles
Chris@19 84 FLAGS_R2CBIII=$(RDFT_FLAGS_COMMON) -sign 1
Chris@19 85
Chris@19 86 r2cb_%.c: $(CODELET_DEPS) $(GEN_R2CB)
Chris@19 87 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cb_$* -include "r2cb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 88
Chris@19 89 hb_%.c: $(CODELET_DEPS) $(GEN_HC2HC)
Chris@19 90 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB) -n $* -dif -name hb_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 91
Chris@19 92 hb2_%.c: $(CODELET_DEPS) $(GEN_HC2HC)
Chris@19 93 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB2) -n $* -dif -name hb2_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 94
Chris@19 95 r2cbIII_%.c: $(CODELET_DEPS) $(GEN_R2CB)
Chris@19 96 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cbIII_$* -dft-III -include "r2cbIII.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 97
Chris@19 98 hc2cb_%.c: $(CODELET_DEPS) $(GEN_HC2C)
Chris@19 99 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB) -n $* -dif -name hc2cb_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 100
Chris@19 101 hc2cb2_%.c: $(CODELET_DEPS) $(GEN_HC2C)
Chris@19 102 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB2) -n $* -dif -name hc2cb2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 103
Chris@19 104 hc2cbdft_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT)
Chris@19 105 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 106
Chris@19 107 hc2cbdft2_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT)
Chris@19 108 ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@
Chris@19 109
Chris@19 110 endif # MAINTAINER_MODE