SpecialFunctions 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. * - igammac
  27. * - digamma
  28. * - polygamma
  29. * - zeta
  30. * - betainc
  31. *
  32. * \code
  33. * #include <unsupported/Eigen/SpecialFunctions>
  34. * \endcode
  35. */
  36. //@{
  37. }
  38. #include "src/SpecialFunctions/SpecialFunctionsImpl.h"
  39. #include "src/SpecialFunctions/SpecialFunctionsPacketMath.h"
  40. #include "src/SpecialFunctions/SpecialFunctionsHalf.h"
  41. #include "src/SpecialFunctions/SpecialFunctionsFunctors.h"
  42. #include "src/SpecialFunctions/SpecialFunctionsArrayAPI.h"
  43. #if defined EIGEN_VECTORIZE_CUDA
  44. #include "src/SpecialFunctions/arch/CUDA/CudaSpecialFunctions.h"
  45. #endif
  46. namespace Eigen {
  47. //@}
  48. }
  49. #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
  50. #endif // EIGEN_SPECIALFUNCTIONS_MODULE