diff options
author | Milo Yip <miloyip@gmail.com> | 2020-08-07 05:12:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-07 05:12:21 +0300 |
commit | ce81bc9edfe773667a7a4454ba81dac72ed4364c (patch) | |
tree | 5b4b375c71de4567127fea284bfdd89956fceff6 /test | |
parent | f56928de85d56add3ca6ae7cf7f119a42ee1585b (diff) | |
parent | 5fbf8bf89cec8154c4b0be0c5c529694e8477bf2 (diff) |
Merge pull request #1760 from escherstair/fix_ce6_support
fix _BitScanReverse() usage for CE6
Diffstat (limited to 'test')
-rw-r--r-- | test/unittest/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/unittest/clzlltest.cpp | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt index 072b7b15..fc8803ef 100644 --- a/test/unittest/CMakeLists.txt +++ b/test/unittest/CMakeLists.txt @@ -3,6 +3,7 @@ include(CheckCXXCompilerFlag) set(UNITTEST_SOURCES allocatorstest.cpp bigintegertest.cpp + clzlltest.cpp cursorstreamwrappertest.cpp documenttest.cpp dtoatest.cpp diff --git a/test/unittest/clzlltest.cpp b/test/unittest/clzlltest.cpp new file mode 100644 index 00000000..a5b3e2ef --- /dev/null +++ b/test/unittest/clzlltest.cpp @@ -0,0 +1,34 @@ +// Tencent is pleased to support the open source community by making RapidJSON available. +// +// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. +// +// Licensed under the MIT License (the "License"); you may not use this file except +// in compliance with the License. You may obtain a copy of the License at +// +// http://opensource.org/licenses/MIT +// +// Unless required by applicable law or agreed to in writing, software distributed +// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. + +#include "unittest.h" +#include "rapidjson/internal/clzll.h" + +#ifdef __GNUC__ +RAPIDJSON_DIAG_PUSH +#endif + +using namespace rapidjson::internal; + +TEST(clzll, normal) { + EXPECT_EQ(clzll(1), 63U); + EXPECT_EQ(clzll(2), 62U); + EXPECT_EQ(clzll(12), 60U); + EXPECT_EQ(clzll(0x0000000080000001UL), 32U); + EXPECT_EQ(clzll(0x8000000000000001UL), 0U); +} + +#ifdef __GNUC__ +RAPIDJSON_DIAG_POP +#endif |