| // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| |
| #include "base/bit_cast.h" |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace base { |
| namespace { |
| |
| TEST(BitCastTest, FloatIntFloat) { |
| float f = 3.1415926f; |
| int i = bit_cast<int32_t>(f); |
| float f2 = bit_cast<float>(i); |
| EXPECT_EQ(f, f2); |
| } |
| |
| struct A { |
| int x; |
| }; |
| |
| TEST(BitCastTest, StructureInt) { |
| A a = { 1 }; |
| int b = bit_cast<int>(a); |
| EXPECT_EQ(1, b); |
| } |
| |
| } // namespace |
| } // namespace base |