summaryrefslogtreecommitdiffstats
path: root/src/EigenUnsupported/SpecialFunctions
blob: f6a2460e6757b3d0d08a10c2068ac7ad11f2f5ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Gael Guennebaud <g.gael@free.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

#ifndef EIGEN_SPECIALFUNCTIONS_MODULE
#define EIGEN_SPECIALFUNCTIONS_MODULE

#include <math.h>

#include "../../Eigen/Core"

#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"

namespace Eigen {

/**
  * \defgroup SpecialFunctions_Module Special math functions module
  *
  * This module features additional coefficient-wise math functions available
  * within the numext:: namespace for the scalar version, and as method and/or free
  * functions of Array. Those include:
  *
  * - erf
  * - erfc
  * - lgamma
  * - igamma
  * - igamma_der_a
  * - gamma_sample_der_alpha
  * - igammac
  * - digamma
  * - ndtri
  * - polygamma
  * - zeta
  * - betainc
  *
  * Bessel Functions
  * - bessel_i0
  * - bessel_i0e
  * - bessel_i1
  * - bessel_i1e
  * - bessel_j0
  * - bessel_j1
  * - bessel_k0
  * - bessel_k0e
  * - bessel_k1
  * - bessel_k1e
  * - bessel_y0
  * - bessel_y1
  *
  * \code
  * #include <unsupported/Eigen/SpecialFunctions>
  * \endcode
  */
//@{

}

#include "src/SpecialFunctions/BesselFunctionsImpl.h"
#include "src/SpecialFunctions/BesselFunctionsBFloat16.h"
#include "src/SpecialFunctions/BesselFunctionsHalf.h"
#include "src/SpecialFunctions/BesselFunctionsPacketMath.h"
#include "src/SpecialFunctions/BesselFunctionsFunctors.h"
#include "src/SpecialFunctions/BesselFunctionsArrayAPI.h"
#include "src/SpecialFunctions/SpecialFunctionsImpl.h"
#if defined(EIGEN_HIPCC)
#include "src/SpecialFunctions/HipVectorCompatibility.h"
#endif
#include "src/SpecialFunctions/SpecialFunctionsBFloat16.h"
#include "src/SpecialFunctions/SpecialFunctionsHalf.h"
#include "src/SpecialFunctions/SpecialFunctionsPacketMath.h"
#include "src/SpecialFunctions/SpecialFunctionsFunctors.h"
#include "src/SpecialFunctions/SpecialFunctionsArrayAPI.h"

#if defined EIGEN_VECTORIZE_AVX512
  #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h"
  #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h"
  #include "src/SpecialFunctions/arch/AVX512/BesselFunctions.h"
  #include "src/SpecialFunctions/arch/AVX512/SpecialFunctions.h"
#elif defined EIGEN_VECTORIZE_AVX
  #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h"
  #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h"
#elif defined EIGEN_VECTORIZE_NEON
  #include "src/SpecialFunctions/arch/NEON/BesselFunctions.h"
  #include "src/SpecialFunctions/arch/NEON/SpecialFunctions.h"
#endif

#if defined EIGEN_VECTORIZE_GPU
  #include "src/SpecialFunctions/arch/GPU/SpecialFunctions.h"
#endif

namespace Eigen {
//@}
}


#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"

#endif // EIGEN_SPECIALFUNCTIONS_MODULE