Pulled latest fixes

This commit is contained in:
Benoit Steiner 2015-02-06 05:30:20 -08:00
commit 01f7918788
3 changed files with 8 additions and 3 deletions

View File

@ -374,7 +374,7 @@ EIGEN_DONT_INLINE void product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,t
{ {
const Index actual_mc = (std::min)(i2+mc,k2)-i2; const Index actual_mc = (std::min)(i2+mc,k2)-i2;
// transposed packed copy // transposed packed copy
pack_lhs_transposed(blockA, lhs_transpose.getSubMapper(k2, i2), actual_kc, actual_mc); pack_lhs_transposed(blockA, lhs_transpose.getSubMapper(i2, k2), actual_kc, actual_mc);
gebp_kernel(res.getSubMapper(i2, 0), blockA, blockB, actual_mc, actual_kc, cols, alpha); gebp_kernel(res.getSubMapper(i2, 0), blockA, blockB, actual_mc, actual_kc, cols, alpha);
} }

View File

@ -389,7 +389,7 @@ static void test_matrix_vector()
m_result = m_left * m_right; m_result = m_left * m_right;
for (size_t i = 0; i < t_result.dimensions().TotalSize(); i++) { for (size_t i = 0; i < t_result.dimensions().TotalSize(); i++) {
VERIFY_IS_APPROX(t_result(i), m_result(i, 0)); VERIFY(internal::isApprox(t_result(i), m_result(i, 0), 1));
} }
} }
@ -399,6 +399,10 @@ static void test_tensor_vector()
{ {
Tensor<float, 3, DataLayout> t_left(7, 13, 17); Tensor<float, 3, DataLayout> t_left(7, 13, 17);
Tensor<float, 2, DataLayout> t_right(1, 7); Tensor<float, 2, DataLayout> t_right(1, 7);
t_left.setRandom();
t_right.setRandom();
typedef typename Tensor<float, 1, DataLayout>::DimensionPair DimensionPair; typedef typename Tensor<float, 1, DataLayout>::DimensionPair DimensionPair;
Eigen::array<DimensionPair, 1> dim_pair01{{{0, 1}}}; Eigen::array<DimensionPair, 1> dim_pair01{{{0, 1}}};
Tensor<float, 3, DataLayout> t_result = t_left.contract(t_right, dim_pair01); Tensor<float, 3, DataLayout> t_result = t_left.contract(t_right, dim_pair01);
@ -409,7 +413,7 @@ static void test_tensor_vector()
Eigen::Matrix<float, Dynamic, Dynamic, DataLayout> m_result = m_left.transpose() * m_right.transpose(); Eigen::Matrix<float, Dynamic, Dynamic, DataLayout> m_result = m_left.transpose() * m_right.transpose();
for (size_t i = 0; i < t_result.dimensions().TotalSize(); i++) { for (size_t i = 0; i < t_result.dimensions().TotalSize(); i++) {
VERIFY_IS_APPROX(t_result(i), m_result(i, 0)); VERIFY(internal::isApprox(t_result(i), m_result(i, 0), 1));
} }
} }

View File

@ -15,6 +15,7 @@
#include <Eigen/CXX11/Tensor> #include <Eigen/CXX11/Tensor>
using Eigen::Tensor; using Eigen::Tensor;
using std::isnan;
static void test_multithread_elementwise() static void test_multithread_elementwise()
{ {