// File: wwdatabase[P]database/./rcdmana/../bufmanager/../utils/MyBitMap.h
// Function: MyBitMap::init()
void init() {
		rootLevel = 0;
		int s = size;
		rootIndex = 0;
		while (s > LEAF_BIT) {
			int wordNum = (s >> BIAS);
			//cout << rootIndex << " " << s << " " << wordNum << endl;
			for (int i = 0; i < wordNum; ++ i) {
				uint w = 0;
				//cout << "---------------------------------------" << endl;
				for (int j = 0; j < LEAF_BIT; ++ j) {
					//cout << i << endl;
					uint k = (1 << j);
					uint c = childWord(rootIndex, s, i, j);
					if (c != 0) {
						w += k;
					}
				}
				inner[rootIndex + i] = w;
			}
			rootLevel ++;
			rootIndex += wordNum;
			s = wordNum;
		}
		rootBit = s;
		int i = 0;
		uint w = 0;
		for (int j = 0; j < rootBit; ++ j) {
			uint k = (1 << j);
			uint c = childWord(rootIndex, s, i, j);
			if (c != 0) {
				w += k;
			}
		}
		inner[rootIndex] = w;
		innerMask = getMask(BIAS);
		rootMask = getMask(s);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x0, 0x10(%rax)
movl 0x8(%rax), %ecx
movl %ecx, -0xc(%rbp)
movl $0x0, 0x14(%rax)
cmpl $0x20, -0xc(%rbp)
jle 0x6300
movl -0xc(%rbp), %eax
sarl $0x5, %eax
movl %eax, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x62df
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x20, -0x1c(%rbp)
jge 0x62c0
movq -0x40(%rbp), %rdi
movl -0x1c(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, -0x20(%rbp)
movl 0x14(%rdi), %esi
movl -0xc(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x1c(%rbp), %r8d
callq 0x63b0
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
je 0x62b3
movl -0x20(%rbp), %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
jmp 0x62b5
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6278
movq -0x40(%rbp), %rax
movl -0x18(%rbp), %edx
movl 0x14(%rax), %ecx
addl -0x14(%rbp), %ecx
movslq %ecx, %rcx
movl %edx, 0x18(%rax,%rcx,4)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x6262
movq -0x40(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl -0x10(%rbp), %ecx
addl 0x14(%rax), %ecx
movl %ecx, 0x14(%rax)
movl -0x10(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x6248
movq -0x40(%rbp), %rax
movl -0xc(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movq -0x40(%rbp), %rcx
movl -0x30(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0x636d
movq -0x40(%rbp), %rdi
movl -0x30(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, -0x34(%rbp)
movl 0x14(%rdi), %esi
movl -0xc(%rbp), %edx
movl -0x28(%rbp), %ecx
movl -0x30(%rbp), %r8d
callq 0x63b0
movl %eax, -0x38(%rbp)
cmpl $0x0, -0x38(%rbp)
je 0x6360
movl -0x34(%rbp), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x6362
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x631f
movq -0x40(%rbp), %rax
movl -0x2c(%rbp), %edx
movslq 0x14(%rax), %rcx
movl %edx, 0x18(%rax,%rcx,4)
movl $0x5, %edi
callq 0x6420
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x124(%rax)
movl -0xc(%rbp), %edi
callq 0x6420
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x128(%rax)
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)