aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/cxx11_tensor_sugar.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-03-07 09:04:27 -0800
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-03-07 09:04:27 -0800
commite5f25622e20563d35d51de356379bdfd257f1d67 (patch)
tree2033ee582ded5bbf4e52e89ddec041ac6a67d78b /unsupported/test/cxx11_tensor_sugar.cpp
parent9f5740cbc108adf477521f025605891ebeda61c6 (diff)
Added a test to validate the behavior of some of the tensor syntactic sugar.
Diffstat (limited to 'unsupported/test/cxx11_tensor_sugar.cpp')
-rw-r--r--unsupported/test/cxx11_tensor_sugar.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/unsupported/test/cxx11_tensor_sugar.cpp b/unsupported/test/cxx11_tensor_sugar.cpp
index adac472cf..a03f75cfe 100644
--- a/unsupported/test/cxx11_tensor_sugar.cpp
+++ b/unsupported/test/cxx11_tensor_sugar.cpp
@@ -32,7 +32,30 @@ static void test_comparison_sugar() {
#undef TEST_TENSOR_EQUAL
}
+
+static void test_scalar_sugar() {
+ Tensor<float, 3> A(6, 7, 5);
+ Tensor<float, 3> B(6, 7, 5);
+ A.setRandom();
+ B.setRandom();
+
+ const float alpha = 0.43f;
+ const float beta = 0.21f;
+
+ Tensor<float, 3> R = A * A.constant(alpha) + B * B.constant(beta);
+ Tensor<float, 3> S = A * alpha + B * beta;
+
+ // TODO: add enough syntactic sugar to support this
+ // Tensor<float, 3> T = alpha * A + beta * B;
+
+ for (int i = 0; i < 6*7*5; ++i) {
+ VERIFY_IS_APPROX(R(i), S(i));
+ }
+}
+
+
void test_cxx11_tensor_sugar()
{
CALL_SUBTEST(test_comparison_sugar());
+ CALL_SUBTEST(test_scalar_sugar());
}