mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add support for complex numbers in the generic clang backend
libeigen/eigen!2078 Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
This commit is contained in:
@@ -1010,12 +1010,26 @@ EIGEN_DEVICE_FUNC inline Packet preverse(const Packet& a) {
|
||||
return a;
|
||||
}
|
||||
|
||||
/** \internal \returns \a a with real and imaginary part flipped (for complex type only) */
|
||||
/** \internal \returns \a a with real and imaginary parts flipped (for complex types only) */
|
||||
template <typename Packet>
|
||||
EIGEN_DEVICE_FUNC inline Packet pcplxflip(const Packet& a) {
|
||||
return Packet(numext::imag(a), numext::real(a));
|
||||
}
|
||||
|
||||
/** \internal \returns \a a with real part duplicated (for complex types only) */
|
||||
// TODO(rmlarsen): Define and use in all complex backends.
|
||||
template <typename Packet>
|
||||
EIGEN_DEVICE_FUNC inline Packet pdupreal(const Packet& a) {
|
||||
return Packet(numext::real(a), numext::real(a));
|
||||
}
|
||||
|
||||
/** \internal \returns \a a with imaginary part duplicated (for complex types only) */
|
||||
// TODO(rmlarsen): Define and use in all complex backends.
|
||||
template <typename Packet>
|
||||
EIGEN_DEVICE_FUNC inline Packet pdupimag(const Packet& a) {
|
||||
return Packet(numext::imag(a), numext::imag(a));
|
||||
}
|
||||
|
||||
/**************************
|
||||
* Special math functions
|
||||
***************************/
|
||||
|
||||
Reference in New Issue
Block a user