summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/misc/unittests/hash_ut.cpp
blob: 0695d32d47ad09a147c1d487807af9d06e67e0e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <library/cpp/testing/gtest/gtest.h>

#include <library/cpp/yt/misc/hash.h>

namespace NYT {
namespace {

////////////////////////////////////////////////////////////////////////////////

TEST(THashTest, NaNSafeHash)
{
    EXPECT_EQ(NaNSafeHash(123), THash<int>()(123));
    EXPECT_EQ(NaNSafeHash(std::nan("1")), NaNSafeHash(std::nan("2")));
}

////////////////////////////////////////////////////////////////////////////////

TEST(THashTest, SplitMix64Test)
{
    EXPECT_EQ(SplitMix(0), 0xe220a8397b1dcdafULL);
    EXPECT_EQ(SplitMix(12345), 0x22118258a9d111a0ULL);
}

////////////////////////////////////////////////////////////////////////////////

} // namespace
} // namespace NYT