| 23 | using singa::Tensor; |
| 24 | |
| 25 | TEST(TensorClass, Constructor) { |
| 26 | singa::Tensor float_t(singa::Shape{2, 3}); |
| 27 | EXPECT_EQ(6u, float_t.Size()); |
| 28 | EXPECT_EQ(sizeof(float) * 6, float_t.MemSize()); |
| 29 | EXPECT_EQ(singa::kFloat32, float_t.data_type()); |
| 30 | auto s = float_t.shape(); |
| 31 | EXPECT_EQ(s[0], 2u); |
| 32 | EXPECT_EQ(s[1], 3u); |
| 33 | |
| 34 | EXPECT_NE(float_t.device(), nullptr); |
| 35 | |
| 36 | singa::Tensor float16_t(Shape{2, 3}, singa::kFloat16); |
| 37 | EXPECT_EQ(singa::kFloat16, float16_t.data_type()); |
| 38 | EXPECT_EQ(6u, float16_t.Size()); |
| 39 | EXPECT_EQ(12u, float16_t.block()->size()); |
| 40 | |
| 41 | singa::Tensor x(float16_t); |
| 42 | EXPECT_EQ(float16_t.Size(), x.Size()); |
| 43 | EXPECT_EQ(float16_t.block(), x.block()); |
| 44 | EXPECT_EQ(float16_t.data_type(), x.data_type()); |
| 45 | EXPECT_EQ(float16_t.device(), x.device()); |
| 46 | |
| 47 | singa::Tensor y = float16_t; |
| 48 | EXPECT_EQ(float16_t.Size(), x.Size()); |
| 49 | EXPECT_EQ(float16_t.block(), x.block()); |
| 50 | EXPECT_EQ(float16_t.data_type(), x.data_type()); |
| 51 | EXPECT_EQ(float16_t.device(), x.device()); |
| 52 | } |
| 53 | |
| 54 | TEST(TensorClass, Reshape) { |
| 55 | Tensor t; |
nothing calls this directly
no test coverage detected