Line data Source code
1 : #pragma once 2 : 3 : #include "CUDADefines.h" 4 : 5 : #include <thrust/complex.h> 6 : 7 : #include <cmath> 8 : #include <complex> 9 : 10 : namespace elsa::fn 11 : { 12 : namespace detail 13 : { 14 : struct LogFn { 15 : template <class T> 16 : __host__ __device__ constexpr T operator()(const T& arg) const noexcept 17 1814 : { 18 1814 : using thrust::log; 19 1814 : using std::log; 20 : 21 1814 : return log(arg); 22 1814 : } 23 : }; 24 : } // namespace detail 25 : 26 : static constexpr __device__ detail::LogFn log; 27 : } // namespace elsa::fn