File indexing completed on 2025-01-18 09:57:08
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef EIGEN_BESSELFUNCTIONS_HALF_H
0009 #define EIGEN_BESSELFUNCTIONS_HALF_H
0010
0011 namespace Eigen {
0012 namespace numext {
0013
0014 #if EIGEN_HAS_C99_MATH
0015 template <>
0016 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i0(const Eigen::half& x) {
0017 return Eigen::half(Eigen::numext::bessel_i0(static_cast<float>(x)));
0018 }
0019 template <>
0020 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i0e(const Eigen::half& x) {
0021 return Eigen::half(Eigen::numext::bessel_i0e(static_cast<float>(x)));
0022 }
0023 template <>
0024 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i1(const Eigen::half& x) {
0025 return Eigen::half(Eigen::numext::bessel_i1(static_cast<float>(x)));
0026 }
0027 template <>
0028 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_i1e(const Eigen::half& x) {
0029 return Eigen::half(Eigen::numext::bessel_i1e(static_cast<float>(x)));
0030 }
0031 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_j0(const Eigen::half& x) {
0032 return Eigen::half(Eigen::numext::bessel_j0(static_cast<float>(x)));
0033 }
0034 template <>
0035 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_j1(const Eigen::half& x) {
0036 return Eigen::half(Eigen::numext::bessel_j1(static_cast<float>(x)));
0037 }
0038 template <>
0039 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_y0(const Eigen::half& x) {
0040 return Eigen::half(Eigen::numext::bessel_y0(static_cast<float>(x)));
0041 }
0042 template <>
0043 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_y1(const Eigen::half& x) {
0044 return Eigen::half(Eigen::numext::bessel_y1(static_cast<float>(x)));
0045 }
0046 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k0(const Eigen::half& x) {
0047 return Eigen::half(Eigen::numext::bessel_k0(static_cast<float>(x)));
0048 }
0049 template <>
0050 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k0e(const Eigen::half& x) {
0051 return Eigen::half(Eigen::numext::bessel_k0e(static_cast<float>(x)));
0052 }
0053 template <>
0054 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k1(const Eigen::half& x) {
0055 return Eigen::half(Eigen::numext::bessel_k1(static_cast<float>(x)));
0056 }
0057 template <>
0058 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half bessel_k1e(const Eigen::half& x) {
0059 return Eigen::half(Eigen::numext::bessel_k1e(static_cast<float>(x)));
0060 }
0061 #endif
0062
0063 }
0064 }
0065
0066 #endif