#include "triton/Dialect/Triton/IR/Utility.h"
#include "llvm/Support/Signals.h"
#include <gtest/gtest.h>
namespace mlir {
TEST(Analysis, reorder) {
SmallVector<int> shape({10, 20, 30});
{
SmallVector<unsigned> order({2, 1, 0});
auto reordered = triton::applyPermutation(shape, order);
EXPECT_EQ(reordered[0], 30);
EXPECT_EQ(reordered[1], 20);
EXPECT_EQ(reordered[2], 10);
}
{
SmallVector<unsigned> order({1, 0, 2});
auto reordered = triton::applyPermutation(shape, order);
EXPECT_EQ(reordered[0], 20);
EXPECT_EQ(reordered[1], 10);
EXPECT_EQ(reordered[2], 30);
}
}
}
int main(int argc, char *argv[]) {
llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}