From f34db6578a36438c6d229a9be25378cfe6fab38b Mon Sep 17 00:00:00 2001 From: Chen-Pang He Date: Sun, 14 Oct 2012 01:38:38 +0800 Subject: [PATCH] KroneckerProduct: we have const_cast_derived so why not use it? --- .../KroneckerProduct/KroneckerTensorProduct.h | 23 ++++--------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h b/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h index 84fd72fc6..14502f03f 100644 --- a/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +++ b/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h @@ -31,6 +31,8 @@ void kroneckerProduct_full(const Derived_A& A, const Derived_B& B, Derived_AB & Ac = A.cols(), Br = B.rows(), Bc = B.cols(); + AB.resize(Ar*Br,Ac*Bc); + for (unsigned int i=0; i -void kroneckerProduct(const MatrixBase& a, const MatrixBase& b, Matrix& c) -{ - c.resize(a.rows()*b.rows(),a.cols()*b.cols()); - internal::kroneckerProduct_full(a.derived(), b.derived(), c); -} - /*! * Computes Kronecker tensor product of two dense matrices * @@ -107,10 +93,9 @@ void kroneckerProduct(const MatrixBase& a, const MatrixBase& b, Matrix -void kroneckerProduct(const MatrixBase& a, const MatrixBase& b, MatrixBase const & c_) +void kroneckerProduct(const MatrixBase& a, const MatrixBase& b, const MatrixBase& c) { - MatrixBase& c = const_cast& >(c_); - internal::kroneckerProduct_full(a.derived(), b.derived(), c.derived()); + internal::kroneckerProduct_full(a.derived(), b.derived(), c.const_cast_derived()); } /*!