diff options
author | Eliot Horowitz <eliot@10gen.com> | 2012-10-14 08:37:43 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2012-10-14 08:42:32 -0400 |
commit | b184c111a62d27c49507e4042413fcc88f7f42d2 (patch) | |
tree | 8b9e7218bd0512d1efd51348164c569b9c847b08 /src/mongo/platform/bits_test.cpp | |
parent | 3a91169190b1876f6a5f74bbfb7ef1908e6cc5cd (diff) | |
download | mongo-b184c111a62d27c49507e4042413fcc88f7f42d2.tar.gz |
cross platform firstBitSet in prep for firstBitSet
Diffstat (limited to 'src/mongo/platform/bits_test.cpp')
-rw-r--r-- | src/mongo/platform/bits_test.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/platform/bits_test.cpp b/src/mongo/platform/bits_test.cpp index eb675ef00fb..6a0f40fb8b0 100644 --- a/src/mongo/platform/bits_test.cpp +++ b/src/mongo/platform/bits_test.cpp @@ -31,4 +31,17 @@ namespace mongo { #endif } +#if defined(MONGO_SYSTEM_FFS) + TEST( BitsTest, FIRST_BIT_SET ) { + ASSERT_EQUALS( firstBitSet(0), mongo_firstBitSet(0) ); + ASSERT_EQUALS( firstBitSet(0x1234), mongo_firstBitSet(0x1234) ); + + for ( int i = 0; i < 64; i++ ) { + unsigned long long x = 1ULL << i; + ASSERT_EQUALS( firstBitSet(x), mongo_firstBitSet(x) ); + x &= 0x5; + ASSERT_EQUALS( firstBitSet(x), mongo_firstBitSet(x) ); + } + } +#endif } |