SpecialFunctions (2951B)
1 // This file is part of Eigen, a lightweight C++ template library 2 // for linear algebra. 3 // 4 // Copyright (C) 2016 Gael Guennebaud <g.gael@free.fr> 5 // 6 // This Source Code Form is subject to the terms of the Mozilla 7 // Public License v. 2.0. If a copy of the MPL was not distributed 8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 10 #ifndef EIGEN_SPECIALFUNCTIONS_MODULE 11 #define EIGEN_SPECIALFUNCTIONS_MODULE 12 13 #include <math.h> 14 15 #include "../../Eigen/Core" 16 17 #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 18 19 namespace Eigen { 20 21 /** 22 * \defgroup SpecialFunctions_Module Special math functions module 23 * 24 * This module features additional coefficient-wise math functions available 25 * within the numext:: namespace for the scalar version, and as method and/or free 26 * functions of Array. Those include: 27 * 28 * - erf 29 * - erfc 30 * - lgamma 31 * - igamma 32 * - igamma_der_a 33 * - gamma_sample_der_alpha 34 * - igammac 35 * - digamma 36 * - ndtri 37 * - polygamma 38 * - zeta 39 * - betainc 40 * 41 * Bessel Functions 42 * - bessel_i0 43 * - bessel_i0e 44 * - bessel_i1 45 * - bessel_i1e 46 * - bessel_j0 47 * - bessel_j1 48 * - bessel_k0 49 * - bessel_k0e 50 * - bessel_k1 51 * - bessel_k1e 52 * - bessel_y0 53 * - bessel_y1 54 * 55 * \code 56 * #include <unsupported/Eigen/SpecialFunctions> 57 * \endcode 58 */ 59 //@{ 60 61 } 62 63 #include "src/SpecialFunctions/BesselFunctionsImpl.h" 64 #include "src/SpecialFunctions/BesselFunctionsBFloat16.h" 65 #include "src/SpecialFunctions/BesselFunctionsHalf.h" 66 #include "src/SpecialFunctions/BesselFunctionsPacketMath.h" 67 #include "src/SpecialFunctions/BesselFunctionsFunctors.h" 68 #include "src/SpecialFunctions/BesselFunctionsArrayAPI.h" 69 #include "src/SpecialFunctions/SpecialFunctionsImpl.h" 70 #if defined(EIGEN_HIPCC) 71 #include "src/SpecialFunctions/HipVectorCompatibility.h" 72 #endif 73 #include "src/SpecialFunctions/SpecialFunctionsBFloat16.h" 74 #include "src/SpecialFunctions/SpecialFunctionsHalf.h" 75 #include "src/SpecialFunctions/SpecialFunctionsPacketMath.h" 76 #include "src/SpecialFunctions/SpecialFunctionsFunctors.h" 77 #include "src/SpecialFunctions/SpecialFunctionsArrayAPI.h" 78 79 #if defined EIGEN_VECTORIZE_AVX512 80 #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h" 81 #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h" 82 #include "src/SpecialFunctions/arch/AVX512/BesselFunctions.h" 83 #include "src/SpecialFunctions/arch/AVX512/SpecialFunctions.h" 84 #elif defined EIGEN_VECTORIZE_AVX 85 #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h" 86 #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h" 87 #elif defined EIGEN_VECTORIZE_NEON 88 #include "src/SpecialFunctions/arch/NEON/BesselFunctions.h" 89 #include "src/SpecialFunctions/arch/NEON/SpecialFunctions.h" 90 #endif 91 92 #if defined EIGEN_VECTORIZE_GPU 93 #include "src/SpecialFunctions/arch/GPU/SpecialFunctions.h" 94 #endif 95 96 namespace Eigen { 97 //@} 98 } 99 100 101 #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 102 103 #endif // EIGEN_SPECIALFUNCTIONS_MODULE