VirtualBox

Changeset 63691 in vbox


Ignore:
Timestamp:
Sep 2, 2016 12:24:25 PM (8 years ago)
Author:
vboxsync
Message:

Runtime/testcase: added tests for ASMBitFirstSetU64()/ASMBitLastSetU64()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/testcase/tstRTBitOperations.cpp

    r62477 r63691  
    428428        CHECK(ASMBitFirstSetU32(1 << i) == (unsigned)i + 1);
    429429
     430    CHECK(ASMBitLastSetU64(UINT64_C(0)) == 0);
     431    CHECK(ASMBitLastSetU64(UINT64_C(1)) == 1);
     432    CHECK(ASMBitLastSetU64(UINT64_C(0x80000000)) == 32);
     433    CHECK(ASMBitLastSetU64(UINT64_C(0xffffffff)) == 32);
     434    CHECK(ASMBitLastSetU64(RT_BIT_64(33) | RT_BIT_64(11)) == 34);
     435    for (i = 0; i < 64; i++)
     436        CHECK(ASMBitLastSetU64(UINT64_C(1) << i) == (unsigned)i + 1);
     437
     438    CHECK(ASMBitFirstSetU64(UINT64_C(0)) == 0);
     439    CHECK(ASMBitFirstSetU64(UINT64_C(1)) == 1);
     440    CHECK(ASMBitFirstSetU64(UINT64_C(0x80000000)) == 32);
     441    CHECK(ASMBitFirstSetU64(UINT64_C(0xffffffff)) == 1);
     442    CHECK(ASMBitFirstSetU64(RT_BIT_64(33) | RT_BIT_64(11)) == 12);
     443    for (i = 0; i < 64; i++)
     444        CHECK(ASMBitFirstSetU64(UINT64_C(1) << i) == (unsigned)i + 1);
     445
    430446    /*
    431447     * Special tests.
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette