1 // Boost.uBLAS
2 //
3 // Copyright (c) 2018 Fady Essam
4 // Copyright (c) 2018 Stefan Seefeld
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // (See accompanying file LICENSE_1_0.txt or
8 // copy at http://www.boost.org/LICENSE_1_0.txt)
9 
10 #ifndef boost_numeric_ublas_opencl_library_hpp_
11 #define boost_numeric_ublas_opencl_library_hpp_
12 
13 #include <clBLAS.h>
14 #include <type_traits>
15 #include <complex>
16 
17 namespace boost { namespace numeric { namespace ublas { namespace opencl {
18 
19 class library
20 {
21 public:
library()22   library() { clblasSetup();}
~library()23   ~library() { clblasTeardown();}
24 };
25 
26 template <typename T>
27 struct is_numeric
28 {
29   static bool const value =
30     std::is_same<T, float>::value |
31     std::is_same<T, double>::value |
32     std::is_same<T, std::complex<float>>::value |
33     std::is_same<T, std::complex<double>>::value;
34 };
35 
36 }}}}
37 
38 #endif
39