Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-13 08:55:36

0001 //  Copyright (c) 2024 Matt Borland
0002 //  Use, modification and distribution are subject to the
0003 //  Boost Software License, Version 1.0. (See accompanying file
0004 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0005 //
0006 //  Regular use of std::array functions can not be used on 
0007 //  GPU platforms like CUDA since they are missing the __device__ marker
0008 //  Alias as needed to get correct support
0009 
0010 #ifndef BOOST_MATH_TOOLS_ARRAY_HPP
0011 #define BOOST_MATH_TOOLS_ARRAY_HPP
0012 
0013 #include <boost/math/tools/config.hpp>
0014 
0015 #ifdef BOOST_MATH_ENABLE_CUDA
0016 
0017 #include <cuda/std/array>
0018 
0019 namespace boost {
0020 namespace math {
0021 
0022 using cuda::std::array;
0023 
0024 } // namespace math
0025 } // namespace boost
0026 
0027 #else
0028 
0029 #include <array>
0030 
0031 namespace boost {
0032 namespace math {
0033 
0034 using std::array;
0035 
0036 } // namespace math
0037 } // namespace boost
0038 
0039 #endif // BOOST_MATH_ENABLE_CUDA
0040 
0041 #endif // BOOST_MATH_TOOLS_ARRAY_HPP