inline void unaligned_unpack_1()

in aios/storage/indexlib/index/common/numeric_compress/UnalignedUnpack.h [30:129]


inline void unaligned_unpack_1(Type* decode, const uint32_t* encode, uint32_t dataNum)
{
    uint32_t offset = 0;
    uint32_t rest = dataNum;

    uint32_t val = encode[offset++];

    decode[0] = (val << 31) >> 31;
    if (--rest == 0)
        return;
    decode[1] = (val << 30) >> 31;
    if (--rest == 0)
        return;
    decode[2] = (val << 29) >> 31;
    if (--rest == 0)
        return;
    decode[3] = (val << 28) >> 31;
    if (--rest == 0)
        return;
    decode[4] = (val << 27) >> 31;
    if (--rest == 0)
        return;
    decode[5] = (val << 26) >> 31;
    if (--rest == 0)
        return;
    decode[6] = (val << 25) >> 31;
    if (--rest == 0)
        return;
    decode[7] = (val << 24) >> 31;
    if (--rest == 0)
        return;
    decode[8] = (val << 23) >> 31;
    if (--rest == 0)
        return;
    decode[9] = (val << 22) >> 31; // 10
    if (--rest == 0)
        return;
    decode[10] = (val << 21) >> 31;
    if (--rest == 0)
        return;
    decode[11] = (val << 20) >> 31;
    if (--rest == 0)
        return;
    decode[12] = (val << 19) >> 31;
    if (--rest == 0)
        return;
    decode[13] = (val << 18) >> 31;
    if (--rest == 0)
        return;
    decode[14] = (val << 17) >> 31;
    if (--rest == 0)
        return;
    decode[15] = (val << 16) >> 31;
    if (--rest == 0)
        return;
    decode[16] = (val << 15) >> 31;
    if (--rest == 0)
        return;
    decode[17] = (val << 14) >> 31;
    if (--rest == 0)
        return;
    decode[18] = (val << 13) >> 31;
    if (--rest == 0)
        return;
    decode[19] = (val << 12) >> 31; // 20
    if (--rest == 0)
        return;
    decode[20] = (val << 11) >> 31;
    if (--rest == 0)
        return;
    decode[21] = (val << 10) >> 31;
    if (--rest == 0)
        return;
    decode[22] = (val << 9) >> 31;
    if (--rest == 0)
        return;
    decode[23] = (val << 8) >> 31;
    if (--rest == 0)
        return;
    decode[24] = (val << 7) >> 31;
    if (--rest == 0)
        return;
    decode[25] = (val << 6) >> 31;
    if (--rest == 0)
        return;
    decode[26] = (val << 5) >> 31;
    if (--rest == 0)
        return;
    decode[27] = (val << 4) >> 31;
    if (--rest == 0)
        return;
    decode[28] = (val << 3) >> 31;
    if (--rest == 0)
        return;
    decode[29] = (val << 2) >> 31;
    if (--rest == 0)
        return;
    decode[30] = (val << 1) >> 31;
    return;
}