aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/cxx11_tensor_contraction.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-05-05 08:37:47 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-05-05 08:37:47 -0700
commit06d774bf5865cbecfde868b2554c177d95988552 (patch)
treea44f07223de04796cfa47dd5b3b4b2e98737c5f0 /unsupported/test/cxx11_tensor_contraction.cpp
parentb300a84989cd13a779ead980c3197c2599b15f14 (diff)
Updated the contraction code to ensure that full contraction return a tensor of rank 0
Diffstat (limited to 'unsupported/test/cxx11_tensor_contraction.cpp')
-rw-r--r--unsupported/test/cxx11_tensor_contraction.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/unsupported/test/cxx11_tensor_contraction.cpp b/unsupported/test/cxx11_tensor_contraction.cpp
index 0e16308a2..73623b2ed 100644
--- a/unsupported/test/cxx11_tensor_contraction.cpp
+++ b/unsupported/test/cxx11_tensor_contraction.cpp
@@ -87,19 +87,14 @@ static void test_scalar()
vec1.setRandom();
vec2.setRandom();
- Tensor<float, 1, DataLayout> scalar(1);
- scalar.setZero();
Eigen::array<DimPair, 1> dims = {{DimPair(0, 0)}};
- typedef TensorEvaluator<decltype(vec1.contract(vec2, dims)), DefaultDevice> Evaluator;
- Evaluator eval(vec1.contract(vec2, dims), DefaultDevice());
- eval.evalTo(scalar.data());
- EIGEN_STATIC_ASSERT(Evaluator::NumDims==1ul, YOU_MADE_A_PROGRAMMING_MISTAKE);
+ Tensor<float, 0, DataLayout> scalar = vec1.contract(vec2, dims);
float expected = 0.0f;
for (int i = 0; i < 6; ++i) {
expected += vec1(i) * vec2(i);
}
- VERIFY_IS_APPROX(scalar(0), expected);
+ VERIFY_IS_APPROX(scalar(), expected);
}
template<int DataLayout>