diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2010-04-16 10:13:32 -0400 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2010-04-16 10:13:32 -0400 |
commit | ff6a46105d86e92753858c1b2aea8bcaf4575819 (patch) | |
tree | db7644512aa5adaaba50dc3c7f420508951116e5 /unsupported/Eigen | |
parent | 1803db6e8409dae534cca51433a6a0fd6e7c7665 (diff) |
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
Diffstat (limited to 'unsupported/Eigen')
-rw-r--r-- | unsupported/Eigen/FFT | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/unsupported/Eigen/FFT b/unsupported/Eigen/FFT index 83f761028..045c44611 100644 --- a/unsupported/Eigen/FFT +++ b/unsupported/Eigen/FFT @@ -222,7 +222,7 @@ class FFT template<typename InputDerived, typename ComplexDerived> inline - void fwd( MatrixBase<ComplexDerived> & dst, const MatrixBase<InputDerived> & src,int nfft=-1) + void fwd( DenseDirectAccessBase<ComplexDerived> & dst, const DenseDirectAccessBase<InputDerived> & src,int nfft=-1) { typedef typename ComplexDerived::Scalar dst_type; typedef typename InputDerived::Scalar src_type; @@ -242,7 +242,7 @@ class FFT else dst.derived().resize(nfft); - if ( src.stride() != 1 || src.size() < nfft ) { + if ( src.innerStride() != 1 || src.size() < nfft ) { Matrix<src_type,1,Dynamic> tmp; if (src.size()<nfft) { tmp.setZero(nfft); @@ -258,18 +258,18 @@ class FFT template<typename InputDerived> inline - fft_fwd_proxy< MatrixBase<InputDerived>, FFT<T_Scalar,T_Impl> > - fwd( const MatrixBase<InputDerived> & src,int nfft=-1) + fft_fwd_proxy< DenseDirectAccessBase<InputDerived>, FFT<T_Scalar,T_Impl> > + fwd( const DenseDirectAccessBase<InputDerived> & src,int nfft=-1) { - return fft_fwd_proxy< MatrixBase<InputDerived> ,FFT<T_Scalar,T_Impl> >( src, *this,nfft ); + return fft_fwd_proxy< DenseDirectAccessBase<InputDerived> ,FFT<T_Scalar,T_Impl> >( src, *this,nfft ); } template<typename InputDerived> inline - fft_inv_proxy< MatrixBase<InputDerived>, FFT<T_Scalar,T_Impl> > - inv( const MatrixBase<InputDerived> & src,int nfft=-1) + fft_inv_proxy< DenseDirectAccessBase<InputDerived>, FFT<T_Scalar,T_Impl> > + inv( const DenseDirectAccessBase<InputDerived> & src,int nfft=-1) { - return fft_inv_proxy< MatrixBase<InputDerived> ,FFT<T_Scalar,T_Impl> >( src, *this,nfft ); + return fft_inv_proxy< DenseDirectAccessBase<InputDerived> ,FFT<T_Scalar,T_Impl> >( src, *this,nfft ); } inline @@ -290,7 +290,7 @@ class FFT template<typename OutputDerived, typename ComplexDerived> inline - void inv( MatrixBase<OutputDerived> & dst, const MatrixBase<ComplexDerived> & src, int nfft=-1) + void inv( DenseDirectAccessBase<OutputDerived> & dst, const DenseDirectAccessBase<ComplexDerived> & src, int nfft=-1) { typedef typename ComplexDerived::Scalar src_type; typedef typename OutputDerived::Scalar dst_type; @@ -316,7 +316,7 @@ class FFT ? ( (nfft/2+1) - src.size() ) : ( nfft - src.size() ); - if ( src.stride() != 1 || resize_input ) { + if ( src.innerStride() != 1 || resize_input ) { // if the vector is strided, then we need to copy it to a packed temporary Matrix<src_type,1,Dynamic> tmp; if ( resize_input ) { |