summaryrefslogtreecommitdiffhomepage
path: root/eigen/unsupported/test/cxx11_tensor_notification.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2019-03-03 21:09:10 +0100
committerStanislaw Halik <sthalik@misaki.pl>2019-03-03 21:10:13 +0100
commitf0238cfb6997c4acfc2bd200de7295f3fa36968f (patch)
treeb215183760e4f615b9c1dabc1f116383b72a1b55 /eigen/unsupported/test/cxx11_tensor_notification.cpp
parent543edd372a5193d04b3de9f23c176ab439e51b31 (diff)
don't index Eigen
Diffstat (limited to 'eigen/unsupported/test/cxx11_tensor_notification.cpp')
-rw-r--r--eigen/unsupported/test/cxx11_tensor_notification.cpp81
1 files changed, 0 insertions, 81 deletions
diff --git a/eigen/unsupported/test/cxx11_tensor_notification.cpp b/eigen/unsupported/test/cxx11_tensor_notification.cpp
deleted file mode 100644
index c946007..0000000
--- a/eigen/unsupported/test/cxx11_tensor_notification.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2015 Vijay Vasudevan <vrv@google.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#define EIGEN_USE_THREADS
-
-#include <stdlib.h>
-#include "main.h"
-#include <Eigen/CXX11/Tensor>
-
-#if EIGEN_OS_WIN || EIGEN_OS_WIN64
-#include <windows.h>
-void sleep(int seconds) {
- Sleep(seconds*1000);
-}
-#else
-#include <unistd.h>
-#endif
-
-
-namespace {
-
-void WaitAndAdd(Eigen::Notification* n, int* counter) {
- n->Wait();
- *counter = *counter + 1;
-}
-
-} // namespace
-
-static void test_notification_single()
-{
- ThreadPool thread_pool(1);
-
- int counter = 0;
- Eigen::Notification n;
- std::function<void()> func = std::bind(&WaitAndAdd, &n, &counter);
- thread_pool.Schedule(func);
- sleep(1);
-
- // The thread should be waiting for the notification.
- VERIFY_IS_EQUAL(counter, 0);
-
- // Unblock the thread
- n.Notify();
-
- sleep(1);
-
- // Verify the counter has been incremented
- VERIFY_IS_EQUAL(counter, 1);
-}
-
-// Like test_notification_single() but enqueues multiple threads to
-// validate that all threads get notified by Notify().
-static void test_notification_multiple()
-{
- ThreadPool thread_pool(1);
-
- int counter = 0;
- Eigen::Notification n;
- std::function<void()> func = std::bind(&WaitAndAdd, &n, &counter);
- thread_pool.Schedule(func);
- thread_pool.Schedule(func);
- thread_pool.Schedule(func);
- thread_pool.Schedule(func);
- sleep(1);
- VERIFY_IS_EQUAL(counter, 0);
- n.Notify();
- sleep(1);
- VERIFY_IS_EQUAL(counter, 4);
-}
-
-void test_cxx11_tensor_notification()
-{
- CALL_SUBTEST(test_notification_single());
- CALL_SUBTEST(test_notification_multiple());
-}