From f0238cfb6997c4acfc2bd200de7295f3fa36968f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 3 Mar 2019 21:09:10 +0100 Subject: don't index Eigen --- eigen/doc/examples/make_circulant2.cpp | 52 ---------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 eigen/doc/examples/make_circulant2.cpp (limited to 'eigen/doc/examples/make_circulant2.cpp') 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 -#include - -using namespace Eigen; - -// [circulant_func] -template -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 -struct circulant_helper { - typedef Matrix MatrixType; -}; -// [square] - -// [makeCirculant] -template -CwiseNullaryOp, typename circulant_helper::MatrixType> -makeCirculant(const Eigen::MatrixBase& arg) -{ - typedef typename circulant_helper::MatrixType MatrixType; - return MatrixType::NullaryExpr(arg.size(), arg.size(), circulant_functor(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] -- cgit v1.2.3