42 lines · plain
1// Copyright (c) 2024 Matt Borland2// Use, modification and distribution are subject to the3// Boost Software License, Version 1.0. (See accompanying file4// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)5//6// Regular use of std::array functions can not be used on 7// GPU platforms like CUDA since they are missing the __device__ marker8// Alias as needed to get correct support9 10#ifndef BOOST_MATH_TOOLS_ARRAY_HPP11#define BOOST_MATH_TOOLS_ARRAY_HPP12 13#include <boost/math/tools/config.hpp>14 15#ifdef BOOST_MATH_ENABLE_CUDA16 17#include <cuda/std/array>18 19namespace boost {20namespace math {21 22using cuda::std::array;23 24} // namespace math25} // namespace boost26 27#else28 29#include <array>30 31namespace boost {32namespace math {33 34using std::array;35 36} // namespace math37} // namespace boost38 39#endif // BOOST_MATH_ENABLE_CUDA40 41#endif // BOOST_MATH_TOOLS_ARRAY_HPP42