mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 03:09:01 +08:00
fix breakage from my last commit
This commit is contained in:
parent
844f69e4a9
commit
55e08f7102
@ -31,63 +31,65 @@
|
||||
// called, TODO so sould we raise an assertion or not ?
|
||||
/** \internal \returns a + b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_padd(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_padd(const Packet& a,
|
||||
const Packet& b) { return a+b; }
|
||||
|
||||
/** \internal \returns a - b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_psub(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_psub(const Packet& a,
|
||||
const Packet& b) { return a-b; }
|
||||
|
||||
/** \internal \returns a * b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_pmul(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_pmul(const Packet& a,
|
||||
const Packet& b) { return a*b; }
|
||||
|
||||
/** \internal \returns a / b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_pdiv(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_pdiv(const Packet& a,
|
||||
const Packet& b) { return a/b; }
|
||||
|
||||
/** \internal \returns the min of \a a and \a b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_pmin(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_pmin(const Packet& a,
|
||||
const Packet& b) { return std::min(a, b); }
|
||||
|
||||
/** \internal \returns the max of \a a and \a b (coeff-wise) */
|
||||
template <typename Packet> inline Packet
|
||||
ei_pmax(const Packet&,
|
||||
const Packet&) { Packet ret; return ret; }
|
||||
ei_pmax(const Packet& a,
|
||||
const Packet& b) { return std::max(a, b); }
|
||||
|
||||
/** \internal \returns a packet version of \a *from, from must be 16 bytes aligned */
|
||||
template <typename Scalar> inline typename ei_packet_traits<Scalar>::type
|
||||
ei_pload(const Scalar*) { typename ei_packet_traits<Scalar>::type ret; return ret; }
|
||||
ei_pload(const Scalar* from) { return *from; }
|
||||
|
||||
/** \internal \returns a packet version of \a *from, (un-aligned load) */
|
||||
template <typename Scalar> inline typename ei_packet_traits<Scalar>::type
|
||||
ei_ploadu(const Scalar*) { typename ei_packet_traits<Scalar>::type ret; return ret; }
|
||||
ei_ploadu(const Scalar* from) { return *from; }
|
||||
|
||||
/** \internal \returns a packet with constant coefficients \a a, e.g.: (a,a,a,a) */
|
||||
template <typename Scalar> inline typename ei_packet_traits<Scalar>::type
|
||||
ei_pset1(const Scalar&) { typename ei_packet_traits<Scalar>::type ret; return ret; }
|
||||
ei_pset1(const Scalar& a) { return a; }
|
||||
|
||||
/** \internal copy the packet \a from to \a *to, \a to must be 16 bytes aligned */
|
||||
template <typename Scalar, typename Packet> inline void ei_pstore(Scalar*, const Packet&) {}
|
||||
template <typename Scalar, typename Packet> inline void ei_pstore(Scalar* to, const Packet& from)
|
||||
{ (*to) = from; }
|
||||
|
||||
/** \internal copy the packet \a from to \a *to, (un-aligned store) */
|
||||
template <typename Scalar, typename Packet> inline void ei_pstoreu(Scalar*, const Packet&) {}
|
||||
template <typename Scalar, typename Packet> inline void ei_pstoreu(Scalar* to, const Packet& from)
|
||||
{ (*to) = from; }
|
||||
|
||||
/** \internal \returns the first element of a packet */
|
||||
template <typename Packet> inline typename ei_unpacket_traits<Packet>::type ei_pfirst(const Packet&)
|
||||
{ typename ei_unpacket_traits<Packet>::type ret; return ret; }
|
||||
template <typename Packet> inline typename ei_unpacket_traits<Packet>::type ei_pfirst(const Packet& a)
|
||||
{ return a; }
|
||||
|
||||
/** \internal \returns a packet where the element i contains the sum of the packet of \a vec[i] */
|
||||
template <typename Packet> inline Packet
|
||||
ei_preduxp(const Packet*) { Packet ret; return ret; }
|
||||
ei_preduxp(const Packet* vecs) { return vecs[0]; }
|
||||
|
||||
/** \internal \returns the sum of the elements of \a a*/
|
||||
template <typename Packet> inline typename ei_unpacket_traits<Packet>::type ei_predux(const Packet&)
|
||||
{ typename ei_unpacket_traits<Packet>::type ret; return ret; }
|
||||
template <typename Packet> inline typename ei_unpacket_traits<Packet>::type ei_predux(const Packet& a)
|
||||
{ return a; }
|
||||
|
||||
|
||||
////////////
|
||||
|
Loading…
x
Reference in New Issue
Block a user