From b8c8e5f436743ac6a6a5ed0ad7ec5cce7dd00248 Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Mon, 14 May 2018 16:07:13 -0700 Subject: Add vectorized clip functor for Eigen Tensors. --- unsupported/test/cxx11_tensor_expr.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'unsupported/test/cxx11_tensor_expr.cpp') diff --git a/unsupported/test/cxx11_tensor_expr.cpp b/unsupported/test/cxx11_tensor_expr.cpp index 129b4e659..30e5a9860 100644 --- a/unsupported/test/cxx11_tensor_expr.cpp +++ b/unsupported/test/cxx11_tensor_expr.cpp @@ -340,6 +340,26 @@ void test_minmax_nan_propagation_templ() { } } +static void test_clip() +{ + Tensor vec(6); + vec(0) = 4.0; + vec(1) = 8.0; + vec(2) = 15.0; + vec(3) = 16.0; + vec(4) = 23.0; + vec(5) = 42.0; + + float kMin = 20; + float kMax = 30; + + Tensor vec_clipped(6); + vec_clipped = vec.clip(kMin, kMax); + for (int i = 0; i < 6; ++i) { + VERIFY_IS_EQUAL(vec_clipped(i), std::min(std::max(vec(i), kMin), kMax)); + } +} + static void test_minmax_nan_propagation() { test_minmax_nan_propagation_templ(); @@ -356,5 +376,6 @@ void test_cxx11_tensor_expr() CALL_SUBTEST(test_functors()); CALL_SUBTEST(test_type_casting()); CALL_SUBTEST(test_select()); + CALL_SUBTEST(test_clip()); CALL_SUBTEST(test_minmax_nan_propagation()); } -- cgit v1.2.3