?? skl_bmasks.cpp
字號:
/******************************************************** * Some code. Copyright (C) 2003 by Pascal Massimino. * * All Rights Reserved. (http://skal.planet-d.net) * * For Educational/Academic use ONLY. See 'LICENSE.TXT'.* ********************************************************//* * skl_bmasks.cpp * * Useful bit masks ********************************************************/#include "skl.h"#include "skl_syst/skl_bits.h"//////////////////////////////////////////////////////////const SKL_UINT32 SKL_BMASKS::And[33] = // And[n] = (1<<n)-1{ 0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff, 0x000fffff, 0x001fffff, 0x003fffff, 0x007fffff, 0x00ffffff, 0x01ffffff, 0x03ffffff, 0x07ffffff, 0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff}; const SKL_UINT32 SKL_BMASKS::Or[33] = // Or[n] = 1<<(n-1){ 0x00000000, 0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010, 0x00000020, 0x00000040, 0x00000080, 0x00000100, 0x00000200, 0x00000400, 0x00000800, 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00010000, 0x00020000, 0x00040000, 0x00080000, 0x00100000, 0x00200000, 0x00400000, 0x00800000, 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000};//////////////////////////////////////////////////////////const SKL_BYTE SKL_BMASKS::Bit_Sizes[256] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8};const SKL_BYTE SKL_BMASKS::First_Bit_Set[256] = { 8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};//////////////////////////////////////////////////////////// SKL_FBB tablesconst SKL_UINT16 SKL_FBB::UEG_Tab[256][2] = { // Code, Length { 1, 1}, { 2, 3}, { 3, 3}, { 4, 5}, { 5, 5}, { 6, 5}, { 7, 5}, { 8, 7}, { 9, 7}, { 10, 7}, { 11, 7}, { 12, 7}, { 13, 7}, { 14, 7}, { 15, 7}, { 16, 9}, { 17, 9}, { 18, 9}, { 19, 9}, { 20, 9}, { 21, 9}, { 22, 9}, { 23, 9}, { 24, 9}, { 25, 9}, { 26, 9}, { 27, 9}, { 28, 9}, { 29, 9}, { 30, 9}, { 31, 9}, { 32,11}, { 33,11}, { 34,11}, { 35,11}, { 36,11}, { 37,11}, { 38,11}, { 39,11}, { 40,11}, { 41,11}, { 42,11}, { 43,11}, { 44,11}, { 45,11}, { 46,11}, { 47,11}, { 48,11}, { 49,11}, { 50,11}, { 51,11}, { 52,11}, { 53,11}, { 54,11}, { 55,11}, { 56,11}, { 57,11}, { 58,11}, { 59,11}, { 60,11}, { 61,11}, { 62,11}, { 63,11}, { 64,13}, { 65,13}, { 66,13}, { 67,13}, { 68,13}, { 69,13}, { 70,13}, { 71,13}, { 72,13}, { 73,13}, { 74,13}, { 75,13}, { 76,13}, { 77,13}, { 78,13}, { 79,13}, { 80,13}, { 81,13}, { 82,13}, { 83,13}, { 84,13}, { 85,13}, { 86,13}, { 87,13}, { 88,13}, { 89,13}, { 90,13}, { 91,13}, { 92,13}, { 93,13}, { 94,13}, { 95,13}, { 96,13}, { 97,13}, { 98,13}, { 99,13}, {100,13}, {101,13}, {102,13}, {103,13}, {104,13}, {105,13}, {106,13}, {107,13}, {108,13}, {109,13}, {110,13}, {111,13}, {112,13}, {113,13}, {114,13}, {115,13}, {116,13}, {117,13}, {118,13}, {119,13}, {120,13}, {121,13}, {122,13}, {123,13}, {124,13}, {125,13}, {126,13}, {127,13}, {128,15}, {129,15}, {130,15}, {131,15}, {132,15}, {133,15}, {134,15}, {135,15}, {136,15}, {137,15}, {138,15}, {139,15}, {140,15}, {141,15}, {142,15}, {143,15}, {144,15}, {145,15}, {146,15}, {147,15}, {148,15}, {149,15}, {150,15}, {151,15}, {152,15}, {153,15}, {154,15}, {155,15}, {156,15}, {157,15}, {158,15}, {159,15}, {160,15}, {161,15}, {162,15}, {163,15}, {164,15}, {165,15}, {166,15}, {167,15}, {168,15}, {169,15}, {170,15}, {171,15}, {172,15}, {173,15}, {174,15}, {175,15}, {176,15}, {177,15}, {178,15}, {179,15}, {180,15}, {181,15}, {182,15}, {183,15}, {184,15}, {185,15}, {186,15}, {187,15}, {188,15}, {189,15}, {190,15}, {191,15}, {192,15}, {193,15}, {194,15}, {195,15}, {196,15}, {197,15}, {198,15}, {199,15}, {200,15}, {201,15}, {202,15}, {203,15}, {204,15}, {205,15}, {206,15}, {207,15}, {208,15}, {209,15}, {210,15}, {211,15}, {212,15}, {213,15}, {214,15}, {215,15}, {216,15}, {217,15}, {218,15}, {219,15}, {220,15}, {221,15}, {222,15}, {223,15}, {224,15}, {225,15}, {226,15}, {227,15}, {228,15}, {229,15}, {230,15}, {231,15}, {232,15}, {233,15}, {234,15}, {235,15}, {236,15}, {237,15}, {238,15}, {239,15}, {240,15}, {241,15}, {242,15}, {243,15}, {244,15}, {245,15}, {246,15}, {247,15}, {248,15}, {249,15}, {250,15}, {251,15}, {252,15}, {253,15}, {254,15}, {255,15}, {256,17}};const SKL_UINT16 SKL_FBB::SEG_Tab[256][2] = { // Code, Length {257,17}, {255,15}, {253,15}, {251,15}, {249,15}, {247,15}, {245,15}, {243,15}, {241,15}, {239,15}, {237,15}, {235,15}, {233,15}, {231,15}, {229,15}, {227,15}, {225,15}, {223,15}, {221,15}, {219,15}, {217,15}, {215,15}, {213,15}, {211,15}, {209,15}, {207,15}, {205,15}, {203,15}, {201,15}, {199,15}, {197,15}, {195,15}, {193,15}, {191,15}, {189,15}, {187,15}, {185,15}, {183,15}, {181,15}, {179,15}, {177,15}, {175,15}, {173,15}, {171,15}, {169,15}, {167,15}, {165,15}, {163,15}, {161,15}, {159,15}, {157,15}, {155,15}, {153,15}, {151,15}, {149,15}, {147,15}, {145,15}, {143,15}, {141,15}, {139,15}, {137,15}, {135,15}, {133,15}, {131,15}, {129,15}, {127,13}, {125,13}, {123,13}, {121,13}, {119,13}, {117,13}, {115,13}, {113,13}, {111,13}, {109,13}, {107,13}, {105,13}, {103,13}, {101,13}, { 99,13}, { 97,13}, { 95,13}, { 93,13}, { 91,13}, { 89,13}, { 87,13}, { 85,13}, { 83,13}, { 81,13}, { 79,13}, { 77,13}, { 75,13}, { 73,13}, { 71,13}, { 69,13}, { 67,13}, { 65,13}, { 63,11}, { 61,11}, { 59,11}, { 57,11}, { 55,11}, { 53,11}, { 51,11}, { 49,11}, { 47,11}, { 45,11}, { 43,11}, { 41,11}, { 39,11}, { 37,11}, { 35,11}, { 33,11}, { 31, 9}, { 29, 9}, { 27, 9}, { 25, 9}, { 23, 9}, { 21, 9}, { 19, 9}, { 17, 9}, { 15, 7}, { 13, 7}, { 11, 7}, { 9, 7}, { 7, 5}, { 5, 5}, { 3, 3} , { 1, 1}, { 2, 3}, { 4, 5}, { 6, 5}, { 8, 7}, { 10, 7}, { 12, 7}, { 14, 7}, { 16, 9}, { 18, 9}, { 20, 9}, { 22, 9}, { 24, 9}, { 26, 9}, { 28, 9}, { 30, 9}, { 32,11}, { 34,11}, { 36,11}, { 38,11}, { 40,11}, { 42,11}, { 44,11}, { 46,11}, { 48,11}, { 50,11}, { 52,11}, { 54,11}, { 56,11}, { 58,11}, { 60,11}, { 62,11}, { 64,13}, { 66,13}, { 68,13}, { 70,13}, { 72,13}, { 74,13}, { 76,13}, { 78,13}, { 80,13}, { 82,13}, { 84,13}, { 86,13}, { 88,13}, { 90,13}, { 92,13}, { 94,13}, { 96,13}, { 98,13}, {100,13}, {102,13}, {104,13}, {106,13}, {108,13}, {110,13}, {112,13}, {114,13}, {116,13}, {118,13}, {120,13}, {122,13}, {124,13}, {126,13}, {128,15}, {130,15}, {132,15}, {134,15}, {136,15}, {138,15}, {140,15}, {142,15}, {144,15}, {146,15}, {148,15}, {150,15}, {152,15}, {154,15}, {156,15}, {158,15}, {160,15}, {162,15}, {164,15}, {166,15}, {168,15}, {170,15}, {172,15}, {174,15}, {176,15}, {178,15}, {180,15}, {182,15}, {184,15}, {186,15}, {188,15}, {190,15}, {192,15}, {194,15}, {196,15}, {198,15}, {200,15}, {202,15}, {204,15}, {206,15}, {208,15}, {210,15}, {212,15}, {214,15}, {216,15}, {218,15}, {220,15}, {222,15}, {224,15}, {226,15}, {228,15}, {230,15}, {232,15}, {234,15}, {236,15}, {238,15}, {240,15}, {242,15}, {244,15}, {246,15}, {248,15}, {250,15}, {252,15}, {254,15}};//////////////////////////////////////////////////////////const SKL_BYTE SKL_FBB::EG_Len[512-16] = { 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};const SKL_UINT8 SKL_FBB::UEG_Val[512-16] = { 15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};const SKL_INT8 SKL_FBB::SEG_Val[512-16] = { 8, -8, 9, -9, 10,-10, 11,-11, 12,-12, 13,-13, 14,-14, 15,-15, 4, 4, 4, 4, -4, -4, -4, -4, 5, 5, 5, 5, -5, -5, -5, -5, 6, 6, 6, 6, -6, -6, -6, -6, 7, 7, 7, 7, -7, -7, -7, -7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};SKL_UINT32 SKL_FBB::UEG() // unsigned{ Check_Bits(24); SKL_UINT32 B = Bits; if (B>=(1U<<27)) { B >>= 32-9; Discard_Safe(EG_Len[B-16]); return UEG_Val[B-16]; } int Len = 5; B <<= 5; while( !(B & 0xff000000) ) { B <<= 8; Len += 8; } Len += SKL_BMASKS::Get_First_Bit_Set_8(B>>24); Discard_Safe(Len); return Get_Bits(Len+1) - 1;}SKL_INT32 SKL_FBB::SEG() // signed{ Check_Bits(24); SKL_UINT32 B = Bits; if (B>=(1U<<27)) { B >>= 32-9; Discard_Safe(EG_Len[B-16]); return SEG_Val[B-16]; } int Len = 5; B <<= 5; while( !(B & 0xff000000) ) { B <<= 8; Len += 8; } Len += SKL_BMASKS::Get_First_Bit_Set_8(B>>24); Discard_Safe(Len); const SKL_INT32 Val = Get_Bits(Len+1); return (Val&1) ? -(Val>>1) : (Val>>1);}//////////////////////////////////////////////////////////void SKL_FBB::Put_UEG(SKL_UINT32 v) // unsigned{ if (!(v&~255)) Put_Bits(UEG_Tab[v][0],UEG_Tab[v][1]); else { v += 1; const int Len = SKL_BMASKS::Log2(v); // Put_Bits(v, 2*Len-1); <- this could overflow if 2*Len-1>24 Put_Bits(0, Len-1); Put_Bits(v, Len ); }}void SKL_FBB::Put_SEG(SKL_INT32 v) // signed{ if (!((v+128)&~255)) Put_Bits(SEG_Tab[v+128][0],SEG_Tab[v+128][1]); else { v = (v<0) ? 1-2*v : 2*v; const int Len = SKL_BMASKS::Log2(v); // Put_Bits(v, 2*Len-1); <- this could overflow if 2*Len-1>24 Put_Bits(0, Len-1); Put_Bits(v, Len ); }}//////////////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -