17template <
typename _Scalar>
80 default:
p += 2;
break;
93 template <
typename _Src>
132 for (
int k=0;k<
m;++k) {
144 for (
size_t k=0;k<
m;++k) {
148 scratch[5] =
Fout[k] - scratch[1];
150 Fout[k] += scratch[1];
151 scratch[3] = scratch[0] + scratch[2];
152 scratch[4] = scratch[0] - scratch[2];
156 Fout[k] += scratch[3];
157 Fout[k+
m] = scratch[5] + scratch[4];
158 Fout[k+3*
m] = scratch[5] - scratch[4];
166 const size_t m2 = 2*
m;
178 scratch[3]=scratch[1]+scratch[2];
179 scratch[0]=scratch[1]-scratch[2];
183 scratch[0] *=
epi3.imag();
210 for ( u=0; u<
m; ++u ) {
218 scratch[7] = scratch[1] + scratch[4];
219 scratch[10] = scratch[1] - scratch[4];
220 scratch[8] = scratch[2] + scratch[3];
221 scratch[9] = scratch[2] - scratch[3];
223 *
Fout0 += scratch[7];
224 *
Fout0 += scratch[8];
226 scratch[5] = scratch[0] +
Complex(
227 (scratch[7].
real()*
ya.real() ) + (scratch[8].real() *
yb.real() ),
228 (scratch[7].imag()*
ya.real()) + (scratch[8].imag()*
yb.real())
232 (scratch[10].
imag()*
ya.imag()) + (scratch[9].imag()*
yb.imag()),
233 -(scratch[10].real()*
ya.imag()) - (scratch[9].real()*
yb.imag())
236 *
Fout1 = scratch[5] - scratch[6];
237 *
Fout4 = scratch[5] + scratch[6];
239 scratch[11] = scratch[0] +
241 (scratch[7].
real()*
yb.real()) + (scratch[8].real()*
ya.real()),
242 (scratch[7].imag()*
yb.real()) + (scratch[8].imag()*
ya.real())
246 -(scratch[10].
imag()*
yb.imag()) + (scratch[9].imag()*
ya.imag()),
247 (scratch[10].real()*
yb.imag()) - (scratch[9].real()*
ya.imag())
250 *
Fout2=scratch[11]+scratch[12];
251 *
Fout3=scratch[11]-scratch[12];
272 for ( u=0; u<
m; ++u ) {
295template <
typename _Scalar>
353 for ( k=1;k <=
ncfft2 ; ++k ) {
382 for (
int k=1;k<(
nfft>>1)+1;++k)
385 for (
int k=0;k<
nfft;++k)
394 for (
int k = 1; k <=
ncfft / 2; ++k) {
424 if (
pd.m_twiddles.size() == 0 ) {
440 for (
int k=1;k<=
ncfft2;++k)
Matrix3f m
Definition AngleAxis_mimic_euler.cpp:1
EIGEN_DEVICE_FUNC const AcosReturnType acos() const
Definition ArrayCwiseUnaryOps.h:297
EIGEN_DEVICE_FUNC const InverseReturnType inverse() const
Definition ArrayCwiseUnaryOps.h:411
int n
Definition BiCGSTAB_simple.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_PI
Definition MathFunctions.h:16
#define EIGEN_UNUSED_VARIABLE(var)
Definition Macros.h:1076
float * p
Definition Tutorial_Map_using.cpp:9
Scalar Scalar * c
Definition benchVecAdd.cpp:17
RealScalar s
Definition level1_cplx_impl.h:126
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T cos(const T &x)
Definition MathFunctions.h:1600
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T sin(const T &x)
Definition MathFunctions.h:1619
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
const AutoDiffScalar< DerType > & conj(const AutoDiffScalar< DerType > &x)
Definition AutoDiffScalar.h:574
Definition BandTriangularSolver.h:13
Definition ei_kissfft_impl.h:19
std::vector< Complex > m_scratchBuf
Definition ei_kissfft_impl.h:25
void factorize(int nfft)
Definition ei_kissfft_impl.h:70
std::vector< Complex > m_twiddles
Definition ei_kissfft_impl.h:22
void bfly5(Complex *Fout, const size_t fstride, const size_t m)
Definition ei_kissfft_impl.h:192
void bfly2(Complex *Fout, const size_t fstride, int m)
Definition ei_kissfft_impl.h:130
void work(int stage, Complex *xout, const _Src *xin, size_t fstride, size_t in_stride)
Definition ei_kissfft_impl.h:95
_Scalar Scalar
Definition ei_kissfft_impl.h:20
void make_twiddles(int nfft, bool inverse)
Definition ei_kissfft_impl.h:28
std::vector< int > m_stageRemainder
Definition ei_kissfft_impl.h:24
void bfly3(Complex *Fout, const size_t fstride, const size_t m)
Definition ei_kissfft_impl.h:163
bool m_inverse
Definition ei_kissfft_impl.h:26
void bfly4(Complex *Fout, const size_t fstride, const size_t m)
Definition ei_kissfft_impl.h:140
std::vector< int > m_stageRadix
Definition ei_kissfft_impl.h:23
void bfly_generic(Complex *Fout, const size_t fstride, int m, int p)
Definition ei_kissfft_impl.h:259
std::complex< Scalar > Complex
Definition ei_kissfft_impl.h:21
Definition ei_kissfft_impl.h:297
PlanMap m_plans
Definition ei_kissfft_impl.h:411
void clear()
Definition ei_kissfft_impl.h:301
void inv(Scalar *dst, const Complex *src, int nfft)
Definition ei_kissfft_impl.h:376
void fwd(Complex *dst, const Scalar *src, int nfft)
Definition ei_kissfft_impl.h:336
std::map< int, PlanData > PlanMap
Definition ei_kissfft_impl.h:409
PlanData & get_plan(int nfft, bool inverse)
Definition ei_kissfft_impl.h:420
int PlanKey(int nfft, bool isinverse) const
Definition ei_kissfft_impl.h:417
Complex * real_twiddles(int ncfft2)
Definition ei_kissfft_impl.h:432
void fwd2(Complex *dst, const Complex *src, int n0, int n1)
Definition ei_kissfft_impl.h:314
std::vector< Complex > m_tmpBuf1
Definition ei_kissfft_impl.h:413
kiss_cpx_fft< Scalar > PlanData
Definition ei_kissfft_impl.h:408
std::map< int, std::vector< Complex > > m_realTwiddles
Definition ei_kissfft_impl.h:412
std::complex< Scalar > Complex
Definition ei_kissfft_impl.h:299
_Scalar Scalar
Definition ei_kissfft_impl.h:298
void fwd(Complex *dst, const Complex *src, int nfft)
Definition ei_kissfft_impl.h:308
std::vector< Complex > m_tmpBuf2
Definition ei_kissfft_impl.h:414
void inv2(Complex *dst, const Complex *src, int n0, int n1)
Definition ei_kissfft_impl.h:323
void inv(Complex *dst, const Complex *src, int nfft)
Definition ei_kissfft_impl.h:369
Definition ForwardDeclarations.h:17