arch/LSX/MathFunctions.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2024 XiWei Gu (guxiwei-hf@loongson.cn)
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_MATH_FUNCTIONS_LSX_H
11 #define EIGEN_MATH_FUNCTIONS_LSX_H
12 
13 /* The sin and cos functions of this file are loosely derived from
14  * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
15  */
16 
17 // IWYU pragma: private
18 #include "../../InternalHeaderCheck.h"
19 
20 namespace Eigen {
21 
22 namespace internal {
23 
28 
33 
38 
39 } // end namespace internal
40 
41 } // end namespace Eigen
42 
43 #endif // EIGEN_MATH_FUNCTIONS_LSX_H
#define EIGEN_DOUBLE_PACKET_FUNCTION(METHOD, PACKET)
Definition: GenericPacketMathFunctionsFwd.h:186
#define EIGEN_FLOAT_PACKET_FUNCTION(METHOD, PACKET)
Definition: GenericPacketMathFunctionsFwd.h:185
#define EIGEN_GENERIC_PACKET_FUNCTION(METHOD, PACKET)
Definition: GenericPacketMathFunctionsFwd.h:179
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tanh(const bfloat16 &a)
Definition: BFloat16.h:639
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atanh(const bfloat16 &a)
Definition: BFloat16.h:642
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan(const bfloat16 &a)
Definition: BFloat16.h:636
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp2(const bfloat16 &a)
Definition: BFloat16.h:616
__m128d Packet2d
Definition: LSX/PacketMath.h:36
__vector float Packet4f
Definition: AltiVec/PacketMath.h:33
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
Definition: Eigen_Colamd.h:49
Scalar log2(Scalar x)
Definition: packetmath.cpp:754