diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2019-03-03 21:09:10 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2019-03-03 21:10:13 +0100 |
commit | f0238cfb6997c4acfc2bd200de7295f3fa36968f (patch) | |
tree | b215183760e4f615b9c1dabc1f116383b72a1b55 /eigen/doc/examples/make_circulant2.cpp | |
parent | 543edd372a5193d04b3de9f23c176ab439e51b31 (diff) |
don't index Eigen
Diffstat (limited to 'eigen/doc/examples/make_circulant2.cpp')
-rw-r--r-- | eigen/doc/examples/make_circulant2.cpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/eigen/doc/examples/make_circulant2.cpp b/eigen/doc/examples/make_circulant2.cpp deleted file mode 100644 index 95d3dd3..0000000 --- a/eigen/doc/examples/make_circulant2.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; - -// [circulant_func] -template<class ArgType> -class circulant_functor { - const ArgType &m_vec; -public: - circulant_functor(const ArgType& arg) : m_vec(arg) {} - - const typename ArgType::Scalar& operator() (Index row, Index col) const { - Index index = row - col; - if (index < 0) index += m_vec.size(); - return m_vec(index); - } -}; -// [circulant_func] - -// [square] -template<class ArgType> -struct circulant_helper { - typedef Matrix<typename ArgType::Scalar, - ArgType::SizeAtCompileTime, - ArgType::SizeAtCompileTime, - ColMajor, - ArgType::MaxSizeAtCompileTime, - ArgType::MaxSizeAtCompileTime> MatrixType; -}; -// [square] - -// [makeCirculant] -template <class ArgType> -CwiseNullaryOp<circulant_functor<ArgType>, typename circulant_helper<ArgType>::MatrixType> -makeCirculant(const Eigen::MatrixBase<ArgType>& arg) -{ - typedef typename circulant_helper<ArgType>::MatrixType MatrixType; - return MatrixType::NullaryExpr(arg.size(), arg.size(), circulant_functor<ArgType>(arg.derived())); -} -// [makeCirculant] - -// [main] -int main() -{ - Eigen::VectorXd vec(4); - vec << 1, 2, 4, 8; - Eigen::MatrixXd mat; - mat = makeCirculant(vec); - std::cout << mat << std::endl; -} -// [main] |