| 97 | }; |
| 98 | |
| 99 | TEST_F(LiteralUtilTest, LiteralScalarToString) { |
| 100 | auto true_lit = LiteralUtil::CreateR0<bool>(true); |
| 101 | EXPECT_EQ("pred[] true", true_lit.ToString()); |
| 102 | |
| 103 | auto false_lit = LiteralUtil::CreateR0<bool>(false); |
| 104 | EXPECT_EQ("pred[] false", false_lit.ToString()); |
| 105 | |
| 106 | auto u32_lit = LiteralUtil::CreateR0<uint32>(42); |
| 107 | EXPECT_EQ("u32[] 42", u32_lit.ToString()); |
| 108 | |
| 109 | auto s32_lit = LiteralUtil::CreateR0<int32>(-999); |
| 110 | EXPECT_EQ("s32[] -999", s32_lit.ToString()); |
| 111 | |
| 112 | auto f32_lit = LiteralUtil::CreateR0<float>(3.14f); |
| 113 | EXPECT_EQ("f32[] 3.14", f32_lit.ToString()); |
| 114 | |
| 115 | auto f16_lit = LiteralUtil::CreateR0<half>(static_cast<half>(0.5f)); |
| 116 | EXPECT_EQ("f16[] 0.5", f16_lit.ToString()); |
| 117 | |
| 118 | auto c64_lit = LiteralUtil::CreateR0<complex64>({3.14f, 2.78f}); |
| 119 | EXPECT_EQ("c64[] (3.14, 2.78)", c64_lit.ToString()); |
| 120 | |
| 121 | auto c128_lit = LiteralUtil::CreateR0<complex128>({3.14, 2.78}); |
| 122 | EXPECT_EQ("c128[] (3.14, 2.78)", c128_lit.ToString()); |
| 123 | |
| 124 | auto bf16_lit = LiteralUtil::CreateR0<bfloat16>(static_cast<bfloat16>(0.5f)); |
| 125 | EXPECT_EQ("bf16[] 0.5", bf16_lit.ToString()); |
| 126 | |
| 127 | // 3.14 will be rounded to 3.140625 in bfloat16 format. |
| 128 | auto bf16_lit_truncated = |
| 129 | LiteralUtil::CreateR0<bfloat16>(static_cast<bfloat16>(3.14f)); |
| 130 | ASSERT_EQ("bf16[] 3.141", bf16_lit_truncated.ToString()); |
| 131 | |
| 132 | auto bf16_lit_truncated2 = |
| 133 | LiteralUtil::CreateR0<bfloat16>(static_cast<bfloat16>(9.001f)); |
| 134 | EXPECT_EQ("bf16[] 9", bf16_lit_truncated2.ToString()); |
| 135 | } |
| 136 | |
| 137 | TEST_F(LiteralUtilTest, LiteralVectorToString) { |
| 138 | auto pred_vec = LiteralUtil::CreateR1<bool>({true, false, true}); |
nothing calls this directly
no test coverage detected