8 #ifndef EIGEN_NEON_UNARY_FUNCTORS_H
9 #define EIGEN_NEON_UNARY_FUNCTORS_H
12 #include "../../InternalHeaderCheck.h"
18 #if EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC
23 struct scalar_logistic_op<
Eigen::half> {
26 const scalar_logistic_op<float> float_op;
33 const scalar_logistic_op<float> float_op;
34 return vcvt_f16_f32(float_op.packetOp(vcvt_f32_f16(
x)));
38 const scalar_logistic_op<float> float_op;
39 return vcombine_f16(vcvt_f16_f32(float_op.packetOp(vcvt_f32_f16(vget_low_f16(
x)))),
40 vcvt_f16_f32(float_op.packetOp(vcvt_high_f32_f16(
x))));
45 struct functor_traits<scalar_logistic_op<
Eigen::half>> {
47 Cost = functor_traits<scalar_logistic_op<float>>
::Cost,
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
@ PacketAccess
Definition: XprHelper.h:206
@ Cost
Definition: XprHelper.h:206
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T operator()(const T &x) const
Definition: functors/UnaryFunctors.h:1189
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &x) const
Definition: functors/UnaryFunctors.h:1192