mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-21 07:19:46 +08:00
876f392c39
The major changes are 1. Moving CUDA/PacketMath.h to GPU/PacketMath.h 2. Moving CUDA/MathFunctions.h to GPU/MathFunction.h 3. Moving CUDA/CudaSpecialFunctions.h to GPU/GpuSpecialFunctions.h The above three changes effectively enable the Eigen "Packet" layer for the HIP platform 4. Merging the "hip_basic" and "cuda_basic" unit tests into one ("gpu_basic") 5. Updating the "EIGEN_DEVICE_FUNC" marking in some places The change has been tested on the HIP and CUDA platforms.
68 lines
1.6 KiB
Plaintext
68 lines
1.6 KiB
Plaintext
// 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
|
|
* - polygamma
|
|
* - zeta
|
|
* - betainc
|
|
* - i0e
|
|
* - i1e
|
|
*
|
|
* \code
|
|
* #include <unsupported/Eigen/SpecialFunctions>
|
|
* \endcode
|
|
*/
|
|
//@{
|
|
|
|
}
|
|
|
|
#include "src/SpecialFunctions/SpecialFunctionsImpl.h"
|
|
#include "src/SpecialFunctions/SpecialFunctionsPacketMath.h"
|
|
#include "src/SpecialFunctions/SpecialFunctionsHalf.h"
|
|
#include "src/SpecialFunctions/SpecialFunctionsFunctors.h"
|
|
#include "src/SpecialFunctions/SpecialFunctionsArrayAPI.h"
|
|
|
|
#if defined EIGEN_VECTORIZE_GPU
|
|
#include "src/SpecialFunctions/arch/GPU/GpuSpecialFunctions.h"
|
|
#endif
|
|
|
|
namespace Eigen {
|
|
//@}
|
|
}
|
|
|
|
|
|
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
|
|
|
|
#endif // EIGEN_SPECIALFUNCTIONS_MODULE
|