mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-23 01:59:38 +08:00
ptranpose test for non-square kernels added
(cherry picked from commit 8877f8d9b2631301ba070d645cdc3fc9b9f764f5)
This commit is contained in:
parent
77c66e368c
commit
0bd9e9bc45
@ -548,6 +548,25 @@ void packetmath() {
|
||||
}
|
||||
}
|
||||
|
||||
const int m_size = PacketSize < 4 ? 1 : 4;
|
||||
internal::PacketBlock<Packet, m_size> kernel2;
|
||||
for (int i = 0; i < m_size; ++i) {
|
||||
kernel2.packet[i] = internal::pload<Packet>(data1 + i * PacketSize);
|
||||
}
|
||||
ptranspose(kernel2);
|
||||
int data_counter = 0;
|
||||
for (int i = 0; i < PacketSize; ++i) {
|
||||
for (int j = 0; j < m_size; ++j) {
|
||||
data2[data_counter++] = data1[j*PacketSize + i];
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < m_size; ++i) {
|
||||
internal::pstore(data3, kernel2.packet[i]);
|
||||
for (int j = 0; j < PacketSize; ++j) {
|
||||
VERIFY(test::isApproxAbs(data3[j], data2[i*PacketSize + j], refvalue) && "ptranspose");
|
||||
}
|
||||
}
|
||||
|
||||
if (PacketTraits::HasBlend) {
|
||||
Packet thenPacket = internal::pload<Packet>(data1);
|
||||
Packet elsePacket = internal::pload<Packet>(data2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user