1// This file is part of Eigen, a lightweight C++ template library 2// for linear algebra. 3// 4// Copyright (C) 2016 Gael Guennebaud <[email protected]> 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 19namespace 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 96namespace Eigen { 97//@} 98} 99 100 101#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 102 103#endif // EIGEN_SPECIALFUNCTIONS_MODULE 104