@@ -425,7 +425,7 @@ TEST(bitreaderTest, read_float_aligned)
425425 bitreader<source_t > br (source);
426426
427427 const uint32_t raw_expected = 0x4148F5C3 ;
428- const auto expected = * reinterpret_cast < const float *>(& raw_expected);
428+ const auto expected = std::bit_cast< float >( raw_expected);
429429 EXPECT_EQ (expected, br.read <float >(32 ));
430430 EXPECT_EQ (32 , br.position ());
431431 EXPECT_EQ (0 , br.available ());
@@ -439,7 +439,7 @@ TEST(bitreaderTest, read_double_aligned)
439439 bitreader<source_t > br (source);
440440
441441 const uint64_t raw_expected = 0x4005BF0A8B145762 ;
442- const auto expected = * reinterpret_cast < const double *>(& raw_expected);
442+ const auto expected = std::bit_cast< double >( raw_expected);
443443 EXPECT_EQ (expected, br.read <double >(64 ));
444444 EXPECT_EQ (64 , br.position ());
445445 EXPECT_EQ (0 , br.available ());
@@ -455,7 +455,7 @@ TEST(bitreaderTest, read_float_unaligned)
455455 br.skip (4 );
456456
457457 const uint32_t raw_expected = 0x02030405 ;
458- const auto expected = * reinterpret_cast < const float *>(& raw_expected);
458+ const auto expected = std::bit_cast< float >( raw_expected);
459459 EXPECT_EQ (expected, br.read <float >(32 )); // exact eq
460460 EXPECT_EQ (36 , br.position ());
461461 EXPECT_EQ (4 , br.available ());
@@ -471,7 +471,7 @@ TEST(bitreaderTest, read_double_unaligned)
471471 br.skip (4 );
472472
473473 const uint64_t raw_expected = 0x0203'0405'0607'0809 ;
474- const auto expected = * reinterpret_cast < const double *>(& raw_expected);
474+ const auto expected = std::bit_cast< double >( raw_expected);
475475 EXPECT_EQ (expected, br.read <double >(64 ));
476476 EXPECT_EQ (68 , br.position ());
477477 EXPECT_EQ (4 , br.available ());
0 commit comments