$darkmode
Eigen  5.0.1-dev
MathFunctions.h
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 
24 EIGEN_DOUBLE_PACKET_FUNCTION(atanh, Packet2d)
25 EIGEN_DOUBLE_PACKET_FUNCTION(log, Packet2d)
26 EIGEN_DOUBLE_PACKET_FUNCTION(log2, Packet2d)
27 EIGEN_DOUBLE_PACKET_FUNCTION(tanh, Packet2d)
28 
29 EIGEN_FLOAT_PACKET_FUNCTION(atanh, Packet4f)
30 EIGEN_FLOAT_PACKET_FUNCTION(log, Packet4f)
31 EIGEN_FLOAT_PACKET_FUNCTION(log2, Packet4f)
32 EIGEN_FLOAT_PACKET_FUNCTION(tanh, Packet4f)
33 
34 EIGEN_GENERIC_PACKET_FUNCTION(atan, Packet2d)
35 EIGEN_GENERIC_PACKET_FUNCTION(atan, Packet4f)
36 EIGEN_GENERIC_PACKET_FUNCTION(exp2, Packet2d)
37 EIGEN_GENERIC_PACKET_FUNCTION(exp2, Packet4f)
38 
39 } // end namespace internal
40 
41 } // end namespace Eigen
42 
43 #endif // EIGEN_MATH_FUNCTIONS_LSX_H
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_tanh_op< typename Derived::Scalar >, const Derived > tanh(const Eigen::ArrayBase< Derived > &x)
Namespace containing all symbols from the Eigen library.
Definition: B01_Experimental.dox:1
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_exp2_op< typename Derived::Scalar >, const Derived > exp2(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_log_op< typename Derived::Scalar >, const Derived > log(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_atanh_op< typename Derived::Scalar >, const Derived > atanh(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_log2_op< typename Derived::Scalar >, const Derived > log2(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_atan_op< typename Derived::Scalar >, const Derived > atan(const Eigen::ArrayBase< Derived > &x)