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