Files
GTASource/rage/scaleform/Src/GKernel/GHeapStaticTables.cpp
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

127 lines
5.4 KiB
C++

/**********************************************************************
Filename : GHeapStaticTables.cpp
Content :
:
Created : March, 2009
Authors : Maxim Shemanarev
Copyright : (c) 2008 Scaleform Corp. All Rights Reserved.
Licensees may use this file in accordance with the valid Scaleform
Commercial License Agreement provided with the software.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
**********************************************************************/
#include "GTypes.h"
#include "GHeapBitSet1.h"
//------------------------------------------------------------------------
extern const UByte GHeapUpperBit[256] =
{
0,0,1,1,2,2,2,2,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,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,
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,
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
};
//------------------------------------------------------------------------
extern const UByte GHeapLowerBit[256] =
{
8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0
};
//------------------------------------------------------------------------
const UInt32 GHeapBitSet1::HeadUsedTable[32] =
{
0xFFFFFFFFU,0xFFFFFFFEU,0xFFFFFFFCU,0xFFFFFFF8U,
0xFFFFFFF0U,0xFFFFFFE0U,0xFFFFFFC0U,0xFFFFFF80U,
0xFFFFFF00U,0xFFFFFE00U,0xFFFFFC00U,0xFFFFF800U,
0xFFFFF000U,0xFFFFE000U,0xFFFFC000U,0xFFFF8000U,
0xFFFF0000U,0xFFFE0000U,0xFFFC0000U,0xFFF80000U,
0xFFF00000U,0xFFE00000U,0xFFC00000U,0xFF800000U,
0xFF000000U,0xFE000000U,0xFC000000U,0xF8000000U,
0xF0000000U,0xE0000000U,0xC0000000U,0x80000000U
};
//------------------------------------------------------------------------
const UInt32 GHeapBitSet1::TailUsedTable[32] =
{
0x00000001U,0x00000003U,0x00000007U,0x0000000FU,
0x0000001FU,0x0000003FU,0x0000007FU,0x000000FFU,
0x000001FFU,0x000003FFU,0x000007FFU,0x00000FFFU,
0x00001FFFU,0x00003FFFU,0x00007FFFU,0x0000FFFFU,
0x0001FFFFU,0x0003FFFFU,0x0007FFFFU,0x000FFFFFU,
0x001FFFFFU,0x003FFFFFU,0x007FFFFFU,0x00FFFFFFU,
0x01FFFFFFU,0x03FFFFFFU,0x07FFFFFFU,0x0FFFFFFFU,
0x1FFFFFFFU,0x3FFFFFFFU,0x7FFFFFFFU,0xFFFFFFFFU
};
//------------------------------------------------------------------------
const UInt32 GHeapBitSet1::HeadFreeTable[32] =
{
0x00000000U,0x00000001U,0x00000003U,0x00000007U,
0x0000000FU,0x0000001FU,0x0000003FU,0x0000007FU,
0x000000FFU,0x000001FFU,0x000003FFU,0x000007FFU,
0x00000FFFU,0x00001FFFU,0x00003FFFU,0x00007FFFU,
0x0000FFFFU,0x0001FFFFU,0x0003FFFFU,0x0007FFFFU,
0x000FFFFFU,0x001FFFFFU,0x003FFFFFU,0x007FFFFFU,
0x00FFFFFFU,0x01FFFFFFU,0x03FFFFFFU,0x07FFFFFFU,
0x0FFFFFFFU,0x1FFFFFFFU,0x3FFFFFFFU,0x7FFFFFFFU
};
//------------------------------------------------------------------------
const UInt32 GHeapBitSet1::TailFreeTable[32] =
{
0xFFFFFFFEU,0xFFFFFFFCU,0xFFFFFFF8U,0xFFFFFFF0U,
0xFFFFFFE0U,0xFFFFFFC0U,0xFFFFFF80U,0xFFFFFF00U,
0xFFFFFE00U,0xFFFFFC00U,0xFFFFF800U,0xFFFFF000U,
0xFFFFE000U,0xFFFFC000U,0xFFFF8000U,0xFFFF0000U,
0xFFFE0000U,0xFFFC0000U,0xFFF80000U,0xFFF00000U,
0xFFE00000U,0xFFC00000U,0xFF800000U,0xFF000000U,
0xFE000000U,0xFC000000U,0xF8000000U,0xF0000000U,
0xE0000000U,0xC0000000U,0x80000000U,0x00000000U
};
//------------------------------------------------------------------------
const UByte GHeapBitSet1::LastFreeBlock[256] =
{
8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0
};
//------------------------------------------------------------------------
const UByte GHeapBitSet1::LastUsedBlock[256] =
{
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,
0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,8
};