mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
Fix traits for scalar_logistic_op.
This commit is contained in:
parent
e9f0eb8a5e
commit
8e33844fc7
@ -905,9 +905,11 @@ struct scalar_logistic_op {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct functor_traits<scalar_logistic_op<T> > {
|
struct functor_traits<scalar_logistic_op<T>> {
|
||||||
enum {
|
enum {
|
||||||
Cost = NumTraits<T>::AddCost * 2 + NumTraits<T>::MulCost * 6,
|
Cost = NumTraits<T>::AddCost * 2 + NumTraits<T>::MulCost * 6 +
|
||||||
|
scalar_div_cost<T, packet_traits<T>::HasDiv>::value +
|
||||||
|
functor_traits<scalar_exp_op<T>>::Cost,
|
||||||
PacketAccess = packet_traits<T>::HasAdd && packet_traits<T>::HasDiv &&
|
PacketAccess = packet_traits<T>::HasAdd && packet_traits<T>::HasDiv &&
|
||||||
packet_traits<T>::HasNegate && packet_traits<T>::HasExp
|
packet_traits<T>::HasNegate && packet_traits<T>::HasExp
|
||||||
};
|
};
|
||||||
@ -976,6 +978,18 @@ struct scalar_logistic_op<float> {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct functor_traits<scalar_logistic_op<float>> {
|
||||||
|
enum {
|
||||||
|
Cost = NumTraits<float>::AddCost * 12 + NumTraits<float>::MulCost * 11 +
|
||||||
|
scalar_div_cost<float, packet_traits<float>::HasDiv>::value,
|
||||||
|
PacketAccess = packet_traits<float>::HasAdd &&
|
||||||
|
packet_traits<float>::HasMul &&
|
||||||
|
packet_traits<float>::HasDiv &&
|
||||||
|
packet_traits<float>::HasMax && packet_traits<float>::HasMin
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
|
||||||
} // end namespace Eigen
|
} // end namespace Eigen
|
||||||
|
Loading…
x
Reference in New Issue
Block a user