return ret;
}
+bool operator==(const Index &lhs, const Index &rhs)
+{
+ if (lhs.rank() != rhs.rank())
+ return false;
+ for (uint32_t axis = 0; axis < lhs.rank(); axis++)
+ {
+ if (lhs.at(axis) != rhs.at(axis))
+ return false;
+ }
+ return true;
+}
+
} // namespace tensor
} // namespace ADT
} // namespace core
ASSERT_EQ(result.at(3), 12);
}
+TEST(ADT_TENSOR_INDEX, operator_eqaul)
+{
+ nncc::core::ADT::tensor::Index index1{1, 2, 3, 4};
+ nncc::core::ADT::tensor::Index index2{1, 2, 3, 4};
+ nncc::core::ADT::tensor::Index index3{5, 6, 7, 8};
+ nncc::core::ADT::tensor::Index index4{1, 2};
+
+ ASSERT_TRUE(index1 == index2);
+ ASSERT_FALSE(index1 == index3);
+ ASSERT_FALSE(index1 == index4);
+}
+
TEST(ADT_TENSOR_INDEX, operator_add_different_size)
{
nncc::core::ADT::tensor::Index index1{1, 2, 3, 4};