SpecialFunctions 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. #ifndef EIGEN_SPECIALFUNCTIONS_MODULE
  10. #define EIGEN_SPECIALFUNCTIONS_MODULE
  11. #include <math.h>
  12. #include "../../Eigen/Core"
  13. #include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
  14. namespace Eigen {
  15. /**
  16. * \defgroup SpecialFunctions_Module Special math functions module
  17. *
  18. * This module features additional coefficient-wise math functions available
  19. * within the numext:: namespace for the scalar version, and as method and/or free
  20. * functions of Array. Those include:
  21. *
  22. * - erf
  23. * - erfc
  24. * - lgamma
  25. * - igamma
  26. * - igamma_der_a
  27. * - gamma_sample_der_alpha
  28. * - igammac
  29. * - digamma
  30. * - ndtri
  31. * - polygamma
  32. * - zeta
  33. * - betainc
  34. *
  35. * Bessel Functions
  36. * - bessel_i0
  37. * - bessel_i0e
  38. * - bessel_i1
  39. * - bessel_i1e
  40. * - bessel_j0
  41. * - bessel_j1
  42. * - bessel_k0
  43. * - bessel_k0e
  44. * - bessel_k1
  45. * - bessel_k1e
  46. * - bessel_y0
  47. * - bessel_y1
  48. *
  49. * \code
  50. * #include <unsupported/Eigen/SpecialFunctions>
  51. * \endcode
  52. */
  53. //@{
  54. }
  55. #include "src/SpecialFunctions/BesselFunctionsImpl.h"
  56. #include "src/SpecialFunctions/BesselFunctionsBFloat16.h"
  57. #include "src/SpecialFunctions/BesselFunctionsHalf.h"
  58. #include "src/SpecialFunctions/BesselFunctionsPacketMath.h"
  59. #include "src/SpecialFunctions/BesselFunctionsFunctors.h"
  60. #include "src/SpecialFunctions/BesselFunctionsArrayAPI.h"
  61. #include "src/SpecialFunctions/SpecialFunctionsImpl.h"
  62. #if defined(EIGEN_HIPCC)
  63. #include "src/SpecialFunctions/HipVectorCompatibility.h"
  64. #endif
  65. #include "src/SpecialFunctions/SpecialFunctionsBFloat16.h"
  66. #include "src/SpecialFunctions/SpecialFunctionsHalf.h"
  67. #include "src/SpecialFunctions/SpecialFunctionsPacketMath.h"
  68. #include "src/SpecialFunctions/SpecialFunctionsFunctors.h"
  69. #include "src/SpecialFunctions/SpecialFunctionsArrayAPI.h"
  70. #if defined EIGEN_VECTORIZE_AVX512
  71. #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h"
  72. #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h"
  73. #include "src/SpecialFunctions/arch/AVX512/BesselFunctions.h"
  74. #include "src/SpecialFunctions/arch/AVX512/SpecialFunctions.h"
  75. #elif defined EIGEN_VECTORIZE_AVX
  76. #include "src/SpecialFunctions/arch/AVX/BesselFunctions.h"
  77. #include "src/SpecialFunctions/arch/AVX/SpecialFunctions.h"
  78. #elif defined EIGEN_VECTORIZE_NEON
  79. #include "src/SpecialFunctions/arch/NEON/BesselFunctions.h"
  80. #include "src/SpecialFunctions/arch/NEON/SpecialFunctions.h"
  81. #endif
  82. #if defined EIGEN_VECTORIZE_GPU
  83. #include "src/SpecialFunctions/arch/GPU/SpecialFunctions.h"
  84. #endif
  85. namespace Eigen {
  86. //@}
  87. }
  88. #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
  89. #endif // EIGEN_SPECIALFUNCTIONS_MODULE