Use static_cast<float> to convert bfloat16 to float instead of relying on implicit casting in argument to float ctor.

PiperOrigin-RevId: 302081696
Change-Id: I089523d7e55cf8ede4297393b701377ebf6b3e73
This commit is contained in:
A. Unique TensorFlower 2020-03-20 12:49:05 -07:00 committed by TensorFlower Gardener
parent a23fe18cb3
commit 9df9b1a1f3

View File

@ -36,14 +36,14 @@ TEST(Bfloat16Test, FlushDenormalsToZero) {
denorm < std::numeric_limits<float>::denorm_min();
denorm = std::nextafterf(denorm, 1.0f)) {
bfloat16 bf_trunc = bfloat16::truncate_to_bfloat16(denorm);
ASSERT_EQ(float{bf_trunc}, 0.0f);
ASSERT_EQ(static_cast<float>(bf_trunc), 0.0f);
if (std::signbit(denorm)) {
ASSERT_EQ(bf_trunc.value, 0x8000) << denorm;
} else {
ASSERT_EQ(bf_trunc.value, 0x0000) << denorm;
}
bfloat16 bf_round = bfloat16::round_to_bfloat16(denorm);
ASSERT_EQ(float{bf_round}, 0.0f);
ASSERT_EQ(static_cast<float>(bf_round), 0.0f);
if (std::signbit(denorm)) {
ASSERT_EQ(bf_round.value, 0x8000) << denorm;
} else {