kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

fft-templates.hpp (1691B)


      1 /** @addtogroup dft
      2  *  @{
      3  */
      4 /*
      5   Copyright (C) 2016-2023 Dan Cazarin (https://www.kfrlib.com)
      6   This file is part of KFR
      7 
      8   KFR is free software: you can redistribute it and/or modify
      9   it under the terms of the GNU General Public License as published by
     10   the Free Software Foundation, either version 2 of the License, or
     11   (at your option) any later version.
     12 
     13   KFR is distributed in the hope that it will be useful,
     14   but WITHOUT ANY WARRANTY; without even the implied warranty of
     15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16   GNU General Public License for more details.
     17 
     18   You should have received a copy of the GNU General Public License
     19   along with KFR.
     20 
     21   If GPL is not suitable for your project, you must purchase a commercial license to use KFR.
     22   Buying a commercial license is mandatory as soon as you develop commercial activities without
     23   disclosing the source code of your own applications.
     24   See https://www.kfrlib.com for details.
     25  */
     26 
     27 #ifdef FLOAT
     28 #include <kfr/dft/fft.hpp>
     29 
     30 namespace kfr
     31 {
     32 inline namespace CMT_ARCH_NAME
     33 {
     34 namespace impl
     35 {
     36 template void dft_initialize<FLOAT>(dft_plan<FLOAT>& plan);
     37 template void dft_real_initialize<FLOAT>(dft_plan_real<FLOAT>& plan);
     38 template void dft_execute<FLOAT>(const dft_plan<FLOAT>&, cbool_t<false>, complex<FLOAT>*,
     39                                  const complex<FLOAT>*, u8*);
     40 template void dft_execute<FLOAT>(const dft_plan<FLOAT>&, cbool_t<true>, complex<FLOAT>*,
     41                                  const complex<FLOAT>*, u8*);
     42 template void dft_initialize_transpose<FLOAT>(internal_generic::fn_transpose<FLOAT>& transpose);
     43 } // namespace impl
     44 } // namespace CMT_ARCH_NAME
     45 } // namespace kfr
     46 
     47 #endif