Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-12 09:43:35

0001 // This file is part of Eigen, a lightweight C++ template library
0002 // for linear algebra.
0003 //
0004 // Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
0005 //
0006 // This Source Code Form is subject to the terms of the Mozilla
0007 // Public License v. 2.0. If a copy of the MPL was not distributed
0008 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
0009 
0010 #ifndef EIGEN_BESSELFUNCTIONS_PACKETMATH_H
0011 #define EIGEN_BESSELFUNCTIONS_PACKETMATH_H
0012 
0013 namespace Eigen {
0014 
0015 namespace internal {
0016 
0017 /** \internal \returns the exponentially scaled modified Bessel function of
0018  * order zero i0(\a a) (coeff-wise) */
0019 template <typename Packet>
0020 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0021 Packet pbessel_i0(const Packet& x) {
0022   return numext::bessel_i0(x);
0023 }
0024 
0025 /** \internal \returns the exponentially scaled modified Bessel function of
0026  * order zero i0e(\a a) (coeff-wise) */
0027 template <typename Packet>
0028 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0029 Packet pbessel_i0e(const Packet& x) {
0030   return numext::bessel_i0e(x);
0031 }
0032 
0033 /** \internal \returns the exponentially scaled modified Bessel function of
0034  * order one i1(\a a) (coeff-wise) */
0035 template <typename Packet>
0036 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0037 Packet pbessel_i1(const Packet& x) {
0038   return numext::bessel_i1(x);
0039 }
0040 
0041 /** \internal \returns the exponentially scaled modified Bessel function of
0042  * order one i1e(\a a) (coeff-wise) */
0043 template <typename Packet>
0044 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0045 Packet pbessel_i1e(const Packet& x) {
0046   return numext::bessel_i1e(x);
0047 }
0048 
0049 /** \internal \returns the exponentially scaled modified Bessel function of
0050  * order zero j0(\a a) (coeff-wise) */
0051 template <typename Packet>
0052 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0053 Packet pbessel_j0(const Packet& x) {
0054   return numext::bessel_j0(x);
0055 }
0056 
0057 /** \internal \returns the exponentially scaled modified Bessel function of
0058  * order zero j1(\a a) (coeff-wise) */
0059 template <typename Packet>
0060 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0061 Packet pbessel_j1(const Packet& x) {
0062   return numext::bessel_j1(x);
0063 }
0064 
0065 /** \internal \returns the exponentially scaled modified Bessel function of
0066  * order one y0(\a a) (coeff-wise) */
0067 template <typename Packet>
0068 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0069 Packet pbessel_y0(const Packet& x) {
0070   return numext::bessel_y0(x);
0071 }
0072 
0073 /** \internal \returns the exponentially scaled modified Bessel function of
0074  * order one y1(\a a) (coeff-wise) */
0075 template <typename Packet>
0076 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0077 Packet pbessel_y1(const Packet& x) {
0078   return numext::bessel_y1(x);
0079 }
0080 
0081 /** \internal \returns the exponentially scaled modified Bessel function of
0082  * order zero k0(\a a) (coeff-wise) */
0083 template <typename Packet>
0084 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0085 Packet pbessel_k0(const Packet& x) {
0086   return numext::bessel_k0(x);
0087 }
0088 
0089 /** \internal \returns the exponentially scaled modified Bessel function of
0090  * order zero k0e(\a a) (coeff-wise) */
0091 template <typename Packet>
0092 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0093 Packet pbessel_k0e(const Packet& x) {
0094   return numext::bessel_k0e(x);
0095 }
0096 
0097 /** \internal \returns the exponentially scaled modified Bessel function of
0098  * order one k1e(\a a) (coeff-wise) */
0099 template <typename Packet>
0100 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0101 Packet pbessel_k1(const Packet& x) {
0102   return numext::bessel_k1(x);
0103 }
0104 
0105 /** \internal \returns the exponentially scaled modified Bessel function of
0106  * order one k1e(\a a) (coeff-wise) */
0107 template <typename Packet>
0108 EIGEN_DEVICE_FUNC EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
0109 Packet pbessel_k1e(const Packet& x) {
0110   return numext::bessel_k1e(x);
0111 }
0112 
0113 } // end namespace internal
0114 
0115 } // end namespace Eigen
0116 
0117 #endif // EIGEN_BESSELFUNCTIONS_PACKETMATH_H
0118