From 8877f8d9b2631301ba070d645cdc3fc9b9f764f5 Mon Sep 17 00:00:00 2001 From: Jakub Lichman Date: Wed, 19 May 2021 08:26:45 +0000 Subject: ptranpose test for non-square kernels added --- test/packetmath.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 0bb511d5a..18357df5e 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -548,6 +548,25 @@ void packetmath() { } } + const int m_size = PacketSize < 4 ? 1 : 4; + internal::PacketBlock kernel2; + for (int i = 0; i < m_size; ++i) { + kernel2.packet[i] = internal::pload(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(data1); Packet elsePacket = internal::pload(data2); -- cgit v1.2.3