Skip to content

Commit 3171ede

Browse files
shoumikhinfacebook-github-bot
authored andcommitted
Add scalar tensor tests. (#5260)
Summary: Pull Request resolved: #5260 overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: executorch Differential Revision: D62484498 fbshipit-source-id: 345fcd365d25beb1e2ae713cca9bea36e1db04d2
1 parent d73a653 commit 3171ede

File tree

2 files changed

+47
-2
lines changed

2 files changed

+47
-2
lines changed

extension/tensor/test/tensor_impl_ptr_test.cpp

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,29 @@ class TensorImplPtrTest : public ::testing::Test {
2323
}
2424
};
2525

26+
TEST_F(TensorImplPtrTest, ScalarTensorCreation) {
27+
float scalar_data = 3.14f;
28+
auto tensor_impl =
29+
make_tensor_impl_ptr(exec_aten::ScalarType::Float, {}, &scalar_data);
30+
31+
EXPECT_EQ(tensor_impl->numel(), 1);
32+
EXPECT_EQ(tensor_impl->dim(), 0);
33+
EXPECT_EQ(tensor_impl->sizes().size(), 0);
34+
EXPECT_EQ(tensor_impl->strides().size(), 0);
35+
EXPECT_EQ((float*)tensor_impl->data(), &scalar_data);
36+
EXPECT_EQ(((float*)tensor_impl->data())[0], 3.14f);
37+
}
38+
39+
TEST_F(TensorImplPtrTest, ScalarTensorOwningData) {
40+
auto tensor_impl = make_tensor_impl_ptr({}, {3.14f});
41+
42+
EXPECT_EQ(tensor_impl->numel(), 1);
43+
EXPECT_EQ(tensor_impl->dim(), 0);
44+
EXPECT_EQ(tensor_impl->sizes().size(), 0);
45+
EXPECT_EQ(tensor_impl->strides().size(), 0);
46+
EXPECT_EQ(((float*)tensor_impl->data())[0], 3.14f);
47+
}
48+
2649
TEST_F(TensorImplPtrTest, TensorImplCreation) {
2750
float data[20] = {2};
2851
auto tensor_impl = make_tensor_impl_ptr(
@@ -34,8 +57,8 @@ TEST_F(TensorImplPtrTest, TensorImplCreation) {
3457
EXPECT_EQ(tensor_impl->strides()[0], 5);
3558
EXPECT_EQ(tensor_impl->strides()[1], 1);
3659
EXPECT_EQ(tensor_impl->data(), data);
37-
EXPECT_EQ(tensor_impl->mutable_data(), data);
38-
EXPECT_EQ(((float*)tensor_impl->mutable_data())[0], 2);
60+
EXPECT_EQ(tensor_impl->data(), data);
61+
EXPECT_EQ(((float*)tensor_impl->data())[0], 2);
3962
}
4063

4164
TEST_F(TensorImplPtrTest, TensorImplSharedOwnership) {

extension/tensor/test/tensor_ptr_test.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,28 @@ class TensorPtrTest : public ::testing::Test {
2222
}
2323
};
2424

25+
TEST_F(TensorPtrTest, ScalarTensorCreation) {
26+
float scalar_data = 3.14f;
27+
auto tensor = make_tensor_ptr(exec_aten::ScalarType::Float, {}, &scalar_data);
28+
29+
EXPECT_EQ(tensor->numel(), 1);
30+
EXPECT_EQ(tensor->dim(), 0);
31+
EXPECT_EQ(tensor->sizes().size(), 0);
32+
EXPECT_EQ(tensor->strides().size(), 0);
33+
EXPECT_EQ(tensor->const_data_ptr<float>(), &scalar_data);
34+
EXPECT_EQ(tensor->const_data_ptr<float>()[0], 3.14f);
35+
}
36+
37+
TEST_F(TensorPtrTest, ScalarTensorOwningData) {
38+
auto tensor = make_tensor_ptr({}, {3.14f});
39+
40+
EXPECT_EQ(tensor->numel(), 1);
41+
EXPECT_EQ(tensor->dim(), 0);
42+
EXPECT_EQ(tensor->sizes().size(), 0);
43+
EXPECT_EQ(tensor->strides().size(), 0);
44+
EXPECT_EQ(tensor->const_data_ptr<float>()[0], 3.14f);
45+
}
46+
2547
TEST_F(TensorPtrTest, CreateTensorWithStridesAndDimOrder) {
2648
float data[20] = {2};
2749
auto tensor = make_tensor_ptr(

0 commit comments

Comments
 (0)