diff --git a/Eigen/src/Core/Random.h b/Eigen/src/Core/Random.h index 0b304e75b..fab6889dc 100644 --- a/Eigen/src/Core/Random.h +++ b/Eigen/src/Core/Random.h @@ -17,7 +17,6 @@ namespace Eigen { namespace internal { template struct scalar_random_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_random_op) inline const Scalar operator() () const { return random(); } }; diff --git a/Eigen/src/Core/VectorwiseOp.h b/Eigen/src/Core/VectorwiseOp.h index cf8b27fd9..b004f76ce 100644 --- a/Eigen/src/Core/VectorwiseOp.h +++ b/Eigen/src/Core/VectorwiseOp.h @@ -88,7 +88,6 @@ template struct partial_redux_dummy_func; #define EIGEN_MAKE_PARTIAL_REDUX_FUNCTOR(MEMBER,COST,VECTORIZABLE,BINARYOP) \ template \ struct member_##MEMBER { \ - EIGEN_EMPTY_STRUCT_CTOR(member_##MEMBER) \ typedef ResultType result_type; \ typedef BINARYOP BinaryOp; \ template struct Cost { enum { value = COST }; }; \ diff --git a/Eigen/src/Core/arch/Default/TypeCasting.h b/Eigen/src/Core/arch/Default/TypeCasting.h index b71cbdf34..dc779a725 100644 --- a/Eigen/src/Core/arch/Default/TypeCasting.h +++ b/Eigen/src/Core/arch/Default/TypeCasting.h @@ -19,7 +19,6 @@ namespace internal { template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef Eigen::half result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::half operator() (const float& a) const { #if (defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300) || \ @@ -38,7 +37,6 @@ struct functor_traits > template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef Eigen::half result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::half operator() (const int& a) const { #if (defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300) || \ @@ -57,7 +55,6 @@ struct functor_traits > template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef float result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float operator() (const Eigen::half& a) const { #if (defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300) || \ @@ -76,7 +73,6 @@ struct functor_traits > template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef Eigen::bfloat16 result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::bfloat16 operator() (const float& a) const { return Eigen::bfloat16(a); @@ -90,7 +86,6 @@ struct functor_traits > template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef Eigen::bfloat16 result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::bfloat16 operator() (const int& a) const { return Eigen::bfloat16(static_cast(a)); @@ -104,7 +99,6 @@ struct functor_traits > template<> struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef float result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float operator() (const Eigen::bfloat16& a) const { return static_cast(a); diff --git a/Eigen/src/Core/arch/NEON/UnaryFunctors.h b/Eigen/src/Core/arch/NEON/UnaryFunctors.h index 131746dbd..67f9dcff0 100644 --- a/Eigen/src/Core/arch/NEON/UnaryFunctors.h +++ b/Eigen/src/Core/arch/NEON/UnaryFunctors.h @@ -20,7 +20,6 @@ namespace internal { */ template <> struct scalar_logistic_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_logistic_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::half operator()(const Eigen::half& x) const { // Convert to float and call scalar_logistic_op. diff --git a/Eigen/src/Core/functors/AssignmentFunctors.h b/Eigen/src/Core/functors/AssignmentFunctors.h index 6bf755fc9..c9d80e6dc 100644 --- a/Eigen/src/Core/functors/AssignmentFunctors.h +++ b/Eigen/src/Core/functors/AssignmentFunctors.h @@ -22,9 +22,8 @@ namespace internal { */ template struct assign_op { - EIGEN_EMPTY_STRUCT_CTOR(assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a = b; } - + template EIGEN_STRONG_INLINE void assignPacket(DstScalar* a, const Packet& b) const { internal::pstoret(a,b); } @@ -47,9 +46,8 @@ struct functor_traits > { */ template struct add_assign_op { - EIGEN_EMPTY_STRUCT_CTOR(add_assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a += b; } - + template EIGEN_STRONG_INLINE void assignPacket(DstScalar* a, const Packet& b) const { internal::pstoret(a,internal::padd(internal::ploadt(a),b)); } @@ -68,9 +66,8 @@ struct functor_traits > { */ template struct sub_assign_op { - EIGEN_EMPTY_STRUCT_CTOR(sub_assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a -= b; } - + template EIGEN_STRONG_INLINE void assignPacket(DstScalar* a, const Packet& b) const { internal::pstoret(a,internal::psub(internal::ploadt(a),b)); } @@ -90,9 +87,8 @@ struct functor_traits > { template struct mul_assign_op { - EIGEN_EMPTY_STRUCT_CTOR(mul_assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a *= b; } - + template EIGEN_STRONG_INLINE void assignPacket(DstScalar* a, const Packet& b) const { internal::pstoret(a,internal::pmul(internal::ploadt(a),b)); } @@ -111,9 +107,8 @@ struct functor_traits > { */ template struct div_assign_op { - EIGEN_EMPTY_STRUCT_CTOR(div_assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a /= b; } - + template EIGEN_STRONG_INLINE void assignPacket(DstScalar* a, const Packet& b) const { internal::pstoret(a,internal::pdiv(internal::ploadt(a),b)); } @@ -143,7 +138,6 @@ struct functor_traits > { */ template struct swap_assign_op { - EIGEN_EMPTY_STRUCT_CTOR(swap_assign_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Scalar& a, const Scalar& b) const { #ifdef EIGEN_GPUCC diff --git a/Eigen/src/Core/functors/BinaryFunctors.h b/Eigen/src/Core/functors/BinaryFunctors.h index 88e2e8a8a..094acb401 100644 --- a/Eigen/src/Core/functors/BinaryFunctors.h +++ b/Eigen/src/Core/functors/BinaryFunctors.h @@ -34,9 +34,7 @@ template struct scalar_sum_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_sum_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_sum_op() { EIGEN_SCALAR_BINARY_OP_PLUGIN } @@ -72,9 +70,7 @@ template struct scalar_product_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_product_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_product_op() { EIGEN_SCALAR_BINARY_OP_PLUGIN } @@ -115,7 +111,6 @@ struct scalar_conj_product_op : binary_op_base typedef typename ScalarBinaryOpTraits::ReturnType result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_conj_product_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return conj_helper().pmul(a,b); } @@ -140,7 +135,6 @@ template struct scalar_min_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_min_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return internal::pmin(a, b); } @@ -173,7 +167,6 @@ template struct scalar_max_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_max_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return internal::pmax(a,b); } @@ -225,7 +218,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a==b;} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -235,7 +227,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -245,7 +236,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a<=b;} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -255,7 +245,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a>b;} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -265,7 +254,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a>=b;} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -275,7 +263,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return !(a<=b || b<=a);} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -285,7 +272,6 @@ template struct scalar_cmp_op : binary_op_base { typedef bool result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator()(const LhsScalar& a, const RhsScalar& b) const {return a!=b;} template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const @@ -300,8 +286,6 @@ struct scalar_cmp_op : binary_op_base struct scalar_hypot_op : binary_op_base { - EIGEN_EMPTY_STRUCT_CTOR(scalar_hypot_op) - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar &x, const Scalar &y) const { // This functor is used by hypotNorm only for which it is faster to first apply abs @@ -331,9 +315,7 @@ template struct scalar_pow_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_pow_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_pow_op() { typedef Scalar LhsScalar; typedef Exponent RhsScalar; @@ -376,9 +358,7 @@ template struct scalar_difference_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_difference_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_difference_op() { EIGEN_SCALAR_BINARY_OP_PLUGIN } @@ -405,9 +385,7 @@ template struct scalar_quotient_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_quotient_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_quotient_op() { EIGEN_SCALAR_BINARY_OP_PLUGIN } @@ -434,7 +412,6 @@ struct functor_traits > { * \sa class CwiseBinaryOp, ArrayBase::operator&& */ struct scalar_boolean_and_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_and_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a && b; } template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const @@ -453,7 +430,6 @@ template<> struct functor_traits { * \sa class CwiseBinaryOp, ArrayBase::operator|| */ struct scalar_boolean_or_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_or_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a || b; } template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const @@ -472,7 +448,6 @@ template<> struct functor_traits { * \sa class CwiseBinaryOp, ArrayBase::operator^ */ struct scalar_boolean_xor_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_xor_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a ^ b; } template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const @@ -494,9 +469,7 @@ template struct scalar_absolute_difference_op : binary_op_base { typedef typename ScalarBinaryOpTraits::ReturnType result_type; -#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN - EIGEN_EMPTY_STRUCT_CTOR(scalar_absolute_difference_op) -#else +#ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_absolute_difference_op() { EIGEN_SCALAR_BINARY_OP_PLUGIN } diff --git a/Eigen/src/Core/functors/NullaryFunctors.h b/Eigen/src/Core/functors/NullaryFunctors.h index 0293a9957..e099d4ac1 100644 --- a/Eigen/src/Core/functors/NullaryFunctors.h +++ b/Eigen/src/Core/functors/NullaryFunctors.h @@ -31,7 +31,6 @@ struct functor_traits > PacketAccess = packet_traits::Vectorizable, IsRepeatable = true }; }; template struct scalar_identity_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_identity_op) template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (IndexType row, IndexType col) const { return row==col ? Scalar(1) : Scalar(0); } }; diff --git a/Eigen/src/Core/functors/UnaryFunctors.h b/Eigen/src/Core/functors/UnaryFunctors.h index e7bccafe0..fafb53376 100644 --- a/Eigen/src/Core/functors/UnaryFunctors.h +++ b/Eigen/src/Core/functors/UnaryFunctors.h @@ -22,7 +22,6 @@ namespace internal { * \sa class CwiseUnaryOp, MatrixBase::operator- */ template struct scalar_opposite_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_opposite_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return -a; } template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const @@ -41,7 +40,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::abs */ template struct scalar_abs_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_abs_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::abs(a); } template @@ -72,14 +70,12 @@ struct functor_traits > : functor_traits struct abs_knowing_score { - EIGEN_EMPTY_STRUCT_CTOR(abs_knowing_score) typedef typename NumTraits::Real result_type; template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a, const Score&) const { return numext::abs(a); } }; template struct abs_knowing_score::Score_is_abs> { - EIGEN_EMPTY_STRUCT_CTOR(abs_knowing_score) typedef typename NumTraits::Real result_type; template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scal&, const result_type& a) const { return a; } @@ -91,7 +87,6 @@ template struct abs_knowing_score struct scalar_abs2_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_abs2_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::abs2(a); } @@ -109,7 +104,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, MatrixBase::conjugate() */ template struct scalar_conjugate_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_conjugate_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::conj(a); } template @@ -138,7 +132,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::arg */ template struct scalar_arg_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_arg_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::arg(a); } template @@ -160,7 +153,6 @@ struct functor_traits > */ template struct scalar_cast_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op) typedef NewType result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const NewType operator() (const Scalar& a) const { return cast(a); } }; @@ -175,7 +167,6 @@ struct functor_traits > */ template struct scalar_shift_right_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_shift_right_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return a >> N; } @@ -194,8 +185,6 @@ struct functor_traits > */ template struct scalar_shift_left_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_shift_left_op) - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return a << N; } template @@ -213,7 +202,6 @@ struct functor_traits > */ template struct scalar_real_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_real_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::real(a); } @@ -229,7 +217,6 @@ struct functor_traits > */ template struct scalar_imag_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::imag(a); } @@ -245,7 +232,6 @@ struct functor_traits > */ template struct scalar_real_ref_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_real_ref_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::real_ref(*const_cast(&a)); } @@ -261,7 +247,6 @@ struct functor_traits > */ template struct scalar_imag_ref_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_ref_op) typedef typename NumTraits::Real result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::imag_ref(*const_cast(&a)); } @@ -277,7 +262,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::exp() */ template struct scalar_exp_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_exp_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return internal::pexp(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexp(a); } @@ -317,7 +301,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, ArrayBase::expm1() */ template struct scalar_expm1_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_expm1_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::expm1(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexpm1(a); } @@ -337,7 +320,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, ArrayBase::log() */ template struct scalar_log_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_log_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::log(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog(a); } @@ -368,7 +350,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, ArrayBase::log1p() */ template struct scalar_log1p_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_log1p_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::log1p(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog1p(a); } @@ -388,7 +369,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, Cwise::log10() */ template struct scalar_log10_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_log10_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { EIGEN_USING_STD(log10) return log10(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog10(a); } @@ -404,7 +384,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::log2() */ template struct scalar_log2_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_log2_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return Scalar(EIGEN_LOG2E) * numext::log(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog2(a); } @@ -418,7 +397,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::sqrt() */ template struct scalar_sqrt_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sqrt_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::sqrt(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psqrt(a); } @@ -442,7 +420,6 @@ struct functor_traits > { // Boolean specialization to eliminate -Wimplicit-conversion-floating-point-to-bool warnings. template<> struct scalar_sqrt_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sqrt_op) EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline bool operator() (const bool& a) const { return a; } template EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return a; } @@ -457,7 +434,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, Cwise::rsqrt() */ template struct scalar_rsqrt_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_rsqrt_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::rsqrt(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::prsqrt(a); } @@ -476,7 +452,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::cos() */ template struct scalar_cos_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cos_op) EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return numext::cos(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcos(a); } @@ -495,7 +470,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::sin() */ template struct scalar_sin_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sin_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::sin(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psin(a); } @@ -515,7 +489,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::tan() */ template struct scalar_tan_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_tan_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::tan(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::ptan(a); } @@ -534,7 +507,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::acos() */ template struct scalar_acos_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_acos_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::acos(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pacos(a); } @@ -553,7 +525,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::asin() */ template struct scalar_asin_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_asin_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::asin(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pasin(a); } @@ -573,7 +544,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::atan() */ template struct scalar_atan_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_atan_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::atan(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::patan(a); } @@ -593,7 +563,6 @@ struct functor_traits > */ template struct scalar_tanh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_tanh_op) EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::tanh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& x) const { return ptanh(x); } @@ -631,7 +600,6 @@ struct functor_traits > { */ template struct scalar_atanh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_atanh_op) EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::atanh(a); } }; @@ -646,7 +614,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, ArrayBase::sinh() */ template struct scalar_sinh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sinh_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::sinh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psinh(a); } @@ -667,7 +634,6 @@ struct functor_traits > */ template struct scalar_asinh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_asinh_op) EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::asinh(a); } }; @@ -682,7 +648,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, ArrayBase::cosh() */ template struct scalar_cosh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cosh_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return numext::cosh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcosh(a); } @@ -703,7 +668,6 @@ struct functor_traits > */ template struct scalar_acosh_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_acosh_op) EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::acosh(a); } }; @@ -719,7 +683,6 @@ struct functor_traits > { */ template struct scalar_inverse_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_inverse_op) EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return Scalar(1)/a; } template EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const @@ -744,7 +707,6 @@ struct functor_traits > { */ template struct scalar_square_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_square_op) EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return a*a; } template EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const @@ -757,7 +719,6 @@ struct functor_traits > // Boolean specialization to avoid -Wint-in-bool-context warnings on GCC. template<> struct scalar_square_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_square_op) EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline bool operator() (const bool& a) const { return a; } template EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const @@ -773,7 +734,6 @@ struct functor_traits > */ template struct scalar_cube_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cube_op) EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return a*a*a; } template EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const @@ -786,7 +746,6 @@ struct functor_traits > // Boolean specialization to avoid -Wint-in-bool-context warnings on GCC. template<> struct scalar_cube_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_cube_op) EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline bool operator() (const bool& a) const { return a; } template EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const @@ -801,7 +760,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::round() */ template struct scalar_round_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_round_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::round(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pround(a); } @@ -820,7 +778,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::floor() */ template struct scalar_floor_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_floor_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::floor(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pfloor(a); } @@ -839,7 +796,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::rint() */ template struct scalar_rint_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_rint_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::rint(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::print(a); } @@ -858,7 +814,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::ceil() */ template struct scalar_ceil_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_ceil_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::ceil(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pceil(a); } @@ -877,7 +832,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::isnan() */ template struct scalar_isnan_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_isnan_op) typedef bool result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { #if defined(SYCL_DEVICE_ONLY) @@ -901,7 +855,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::isinf() */ template struct scalar_isinf_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_isinf_op) typedef bool result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { #if defined(SYCL_DEVICE_ONLY) @@ -925,7 +878,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::isfinite() */ template struct scalar_isfinite_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_isfinite_op) typedef bool result_type; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { #if defined(SYCL_DEVICE_ONLY) @@ -950,7 +902,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::operator! */ template struct scalar_boolean_not_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_not_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a) const { return !a; } }; template @@ -968,7 +919,6 @@ struct functor_traits > { template::IsComplex!=0), bool is_integer=(NumTraits::IsInteger!=0) > struct scalar_sign_op; template struct scalar_sign_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sign_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return Scalar( (a>Scalar(0)) - (a { template struct scalar_sign_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sign_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { return (numext::isnan)(a) ? a : Scalar( (a>Scalar(0)) - (a { template struct scalar_sign_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_sign_op) EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { typedef typename NumTraits::Real real_type; @@ -1023,7 +971,6 @@ struct functor_traits > */ template struct scalar_logistic_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_logistic_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T operator()(const T& x) const { return packetOp(x); } @@ -1059,7 +1006,6 @@ struct scalar_logistic_op { */ template <> struct scalar_logistic_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_logistic_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float operator()(const float& x) const { // Truncate at the first point where the interpolant is exactly one. const float cst_exp_hi = 16.6355324f; diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 5823f029f..ba8a7f1cb 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -11,17 +11,6 @@ #ifndef EIGEN_XPRHELPER_H #define EIGEN_XPRHELPER_H -// just a workaround because GCC seems to not really like empty structs -// FIXME: gcc 4.3 generates bad code when strict-aliasing is enabled -// so currently we simply disable this optimization for gcc 4.3 -#if EIGEN_COMP_GNUC - #define EIGEN_EMPTY_STRUCT_CTOR(X) \ - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE X() {} \ - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE X(const X& ) {} -#else - #define EIGEN_EMPTY_STRUCT_CTOR(X) -#endif - #include "../InternalHeaderCheck.h" namespace Eigen { @@ -148,7 +137,6 @@ template class variable_if_dynamic template class variable_if_dynamicindex { public: - EIGEN_EMPTY_STRUCT_CTOR(variable_if_dynamicindex) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit variable_if_dynamicindex(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); eigen_assert(v == T(Value)); } EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE EIGEN_CONSTEXPR T value() { return T(Value); } diff --git a/blas/level1_cplx_impl.h b/blas/level1_cplx_impl.h index 6c7edd7eb..aa4678442 100644 --- a/blas/level1_cplx_impl.h +++ b/blas/level1_cplx_impl.h @@ -11,7 +11,6 @@ struct scalar_norm1_op { typedef RealScalar result_type; - EIGEN_EMPTY_STRUCT_CTOR(scalar_norm1_op) inline RealScalar operator() (const Scalar& a) const { return numext::norm1(a); } }; namespace Eigen { diff --git a/doc/examples/class_CwiseBinaryOp.cpp b/doc/examples/class_CwiseBinaryOp.cpp index aec926dce..973befdee 100644 --- a/doc/examples/class_CwiseBinaryOp.cpp +++ b/doc/examples/class_CwiseBinaryOp.cpp @@ -5,7 +5,6 @@ using Eigen::Matrix4d; // define a custom template binary functor template struct MakeComplexOp { - EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) typedef std::complex result_type; result_type operator()(const Scalar& a, const Scalar& b) const { return result_type(a,b); } }; diff --git a/test/unaryviewstride.cpp b/test/unaryviewstride.cpp index 08d097fb6..03a770b5c 100644 --- a/test/unaryviewstride.cpp +++ b/test/unaryviewstride.cpp @@ -17,9 +17,8 @@ template void unaryview_str VectorType vec = VectorType::Random(rows, cols); struct view_op { - EIGEN_EMPTY_STRUCT_CTOR(view_op) EIGEN_DEVICE_FUNC - EIGEN_STRONG_INLINE const Scalar& + EIGEN_STRONG_INLINE const Scalar& operator()(const Scalar& v) const { return v; } }; diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h b/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h index 780451f1d..137fe5878 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h @@ -35,7 +35,6 @@ struct functor_traits > */ template struct scalar_mod2_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_mod2_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a, const Scalar& b) const { return a % b; } }; template @@ -44,7 +43,6 @@ struct functor_traits > template struct scalar_fmod_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_fmod_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a, const Scalar& b) const { return numext::fmod(a, b); diff --git a/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h b/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h index 623f0b99d..2d6b386ee 100644 --- a/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +++ b/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h @@ -24,7 +24,6 @@ namespace internal { */ template struct scalar_bessel_i0_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_i0_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_i0; return bessel_i0(x); @@ -52,7 +51,6 @@ struct functor_traits > { */ template struct scalar_bessel_i0e_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_i0e_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_i0e; return bessel_i0e(x); @@ -79,7 +77,6 @@ struct functor_traits > { */ template struct scalar_bessel_i1_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_i1_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_i1; return bessel_i1(x); @@ -107,7 +104,6 @@ struct functor_traits > { */ template struct scalar_bessel_i1e_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_i1e_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_i1e; return bessel_i1e(x); @@ -134,7 +130,6 @@ struct functor_traits > { */ template struct scalar_bessel_j0_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_j0_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_j0; return bessel_j0(x); @@ -162,7 +157,6 @@ struct functor_traits > { */ template struct scalar_bessel_y0_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_y0_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_y0; return bessel_y0(x); @@ -190,7 +184,6 @@ struct functor_traits > { */ template struct scalar_bessel_j1_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_j1_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_j1; return bessel_j1(x); @@ -218,7 +211,6 @@ struct functor_traits > { */ template struct scalar_bessel_y1_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_y1_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_y1; return bessel_y1(x); @@ -246,7 +238,6 @@ struct functor_traits > { */ template struct scalar_bessel_k0_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_k0_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_k0; return bessel_k0(x); @@ -274,7 +265,6 @@ struct functor_traits > { */ template struct scalar_bessel_k0e_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_k0e_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_k0e; return bessel_k0e(x); @@ -302,7 +292,6 @@ struct functor_traits > { */ template struct scalar_bessel_k1_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_k1_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_k1; return bessel_k1(x); @@ -330,7 +319,6 @@ struct functor_traits > { */ template struct scalar_bessel_k1e_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_bessel_k1e_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x) const { using numext::bessel_k1e; return bessel_k1e(x); diff --git a/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h b/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h index 125f1b907..0955c436d 100644 --- a/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +++ b/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h @@ -25,7 +25,6 @@ namespace internal { */ template struct scalar_igamma_op : binary_op_base { - EIGEN_EMPTY_STRUCT_CTOR(scalar_igamma_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& x) const { using numext::igamma; return igamma(a, x); } @@ -51,7 +50,6 @@ struct functor_traits > { */ template struct scalar_igamma_der_a_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_igamma_der_a_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a, const Scalar& x) const { using numext::igamma_der_a; return igamma_der_a(a, x); @@ -79,7 +77,6 @@ struct functor_traits > { */ template struct scalar_gamma_sample_der_alpha_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_gamma_sample_der_alpha_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& alpha, const Scalar& sample) const { using numext::gamma_sample_der_alpha; return gamma_sample_der_alpha(alpha, sample); @@ -105,7 +102,6 @@ struct functor_traits > { */ template struct scalar_igammac_op : binary_op_base { - EIGEN_EMPTY_STRUCT_CTOR(scalar_igammac_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& x) const { using numext::igammac; return igammac(a, x); } @@ -130,7 +126,6 @@ struct functor_traits > { * */ template struct scalar_betainc_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_betainc_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& x, const Scalar& a, const Scalar& b) const { using numext::betainc; return betainc(x, a, b); } @@ -156,7 +151,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, Cwise::lgamma() */ template struct scalar_lgamma_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_lgamma_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::lgamma; return lgamma(a); } @@ -178,7 +172,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::digamma() */ template struct scalar_digamma_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_digamma_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::digamma; return digamma(a); } @@ -200,7 +193,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::zeta() */ template struct scalar_zeta_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_zeta_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& x, const Scalar& q) const { using numext::zeta; return zeta(x, q); } @@ -222,7 +214,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::polygamma() */ template struct scalar_polygamma_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_polygamma_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& n, const Scalar& x) const { using numext::polygamma; return polygamma(n, x); } @@ -244,7 +235,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, ArrayBase::erf() */ template struct scalar_erf_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_erf_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::erf(a); @@ -283,7 +273,6 @@ struct functor_traits > { * \sa class CwiseUnaryOp, Cwise::erfc() */ template struct scalar_erfc_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_erfc_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::erfc; return erfc(a); } @@ -306,7 +295,6 @@ struct functor_traits > * \sa class CwiseUnaryOp, Cwise::ndtri() */ template struct scalar_ndtri_op { - EIGEN_EMPTY_STRUCT_CTOR(scalar_ndtri_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::ndtri; return ndtri(a); }