xref: /aosp_15_r20/external/eigen/unsupported/Eigen/SpecialFunctions (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
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