// File: /workspace/github_cpp_makefile_star2_O2/cjc12[P]ezSTL/src/../include/test.h
// Function: ezSTL::test::test_unordered_map()
void test::test_unordered_map() {
		const int max_iteration = 10;
		srand((unsigned int)time(NULL));
		start_info("unordered_map");
		unordered_map<int, int> um;
		print_unordered_map(um);
		test_info("unordered_map   insert");
		for(int i = 0; i < max_iteration; ++i){
			pair<int, int> p(rand() % max_iteration, rand() % max_iteration);
			um.insert(p);
			std::cout << "insert key-value pair   " << p.first << ":" << p.second << std::endl;
			print_unordered_map(um);
		}
		test_info("unordered_map   erase");
		for (int i = 0; i < max_iteration; ++i) {
			int key = rand() % max_iteration;
			auto ite = um.find(key);
			if (ite != um.end()) um.erase(ite);
			std::cout << "deleting key   " << key << std::endl;
			print_unordered_map(um);
		}
		test_info("unordered_map   copy consructor");
		unordered_map<int, int> um1(um);
		print_unordered_map(um1);
		test_info("unordered_map   move consructor");
		unordered_map<int, int> um2(ezSTL::move(um1));
		print_unordered_map(um2);
		test_info("unordered_map   copy assignment operator");
		unordered_map<int, int> um3;
		um3 = um;
		print_unordered_map(um);
		print_unordered_map(um3);
		test_info("unordered_map   move assignment operator");
		unordered_map<int, int> um4;
		um4 = ezSTL::move(um2);
		print_unordered_map(um4);
		test_info("unordered_map   clear");
		um.clear();
		print_unordered_map(um);
		finish_info("unordered_map");
		continue_next_test();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
xorl %edi, %edi
callq 0x21a0
movl %eax, %edi
callq 0x21c0
leaq 0xa182(%rip), %rsi      # 0xe484
leaq 0x238(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x2090
leaq 0x238(%rsp), %rdi
callq 0x243c
leaq 0x238(%rsp), %rdi
callq 0x20c0
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
callq 0x78b2
movq %rbx, %rdi
callq 0x78ee
leaq 0xa148(%rip), %rsi      # 0xe492
leaq 0x218(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x218(%rsp), %rdi
callq 0x257e
leaq 0x218(%rsp), %rdi
callq 0x20c0
pushq $0xa
popq %r15
leaq 0x50(%rsp), %rbx
leaq 0xa123(%rip), %r12      # 0xe4a9
leaq 0x9d1c(%rip), %r13      # 0xe0a9
movl %r15d, %r14d
subl $0x1, %r14d
jb 0x4403
callq 0x2060
cltd
idivl %r15d
movl %edx, %ebp
callq 0x2060
cltd
idivl %r15d
movl %ebp, 0x10(%rsp)
movl %edx, 0x14(%rsp)
movq %rbx, %rdi
leaq 0x10(%rsp), %rsi
callq 0x7a20
movq 0x10c12(%rip), %rdi     # 0x14fd8
movq %r12, %rsi
callq 0x21d0
movl 0x10(%rsp), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
movl 0x14(%rsp), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
callq 0x20d0
movq %rbx, %rdi
callq 0x78ee
jmp 0x4390
leaq 0xa0b8(%rip), %rsi      # 0xe4c2
leaq 0x1f8(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x1f8(%rsp), %rdi
callq 0x257e
leaq 0x1f8(%rsp), %rdi
callq 0x20c0
pushq $0xa
popq %r12
leaq 0x10(%rsp), %rbx
leaq 0x50(%rsp), %r14
movq 0x10b8d(%rip), %rbp     # 0x14fd8
leaq 0xa086(%rip), %r13      # 0xe4d8
movl %r12d, %r15d
subl $0x1, %r15d
jb 0x4525
callq 0x2060
cltd
idivl %r12d
movl %edx, 0xd0(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
leaq 0xd0(%rsp), %rdx
callq 0x7bf2
movups 0x70(%rsp), %xmm0
movaps %xmm0, 0x90(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0xa0(%rsp)
movl 0x88(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq %rbx, %rdi
leaq 0x90(%rsp), %rsi
callq 0x7c9c
testb %al, %al
je 0x44f6
movaps 0x10(%rsp), %xmm0
movaps %xmm0, 0x110(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x120(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0x128(%rsp)
movq %r14, %rdi
leaq 0x110(%rsp), %rsi
callq 0x7ca6
movq %rbp, %rdi
movq %r13, %rsi
callq 0x21d0
movl 0xd0(%rsp), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
callq 0x20d0
movq %r14, %rdi
callq 0x78ee
jmp 0x4455
leaq 0x9fbc(%rip), %rsi      # 0xe4e8
leaq 0x1d8(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x1d8(%rsp), %rdi
callq 0x257e
leaq 0x1d8(%rsp), %rdi
callq 0x20c0
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x7d18
leaq 0x10(%rsp), %rdi
callq 0x78ee
leaq 0x9f90(%rip), %rsi      # 0xe508
leaq 0x1b8(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x2090
leaq 0x1b8(%rsp), %rdi
callq 0x257e
leaq 0x1b8(%rsp), %rdi
callq 0x20c0
leaq 0x90(%rsp), %rbx
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x7dd8
movq %rbx, %rdi
callq 0x78ee
leaq 0x9f5d(%rip), %rsi      # 0xe528
leaq 0x198(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
callq 0x2090
leaq 0x198(%rsp), %rdi
callq 0x257e
leaq 0x198(%rsp), %rdi
callq 0x20c0
leaq 0xd0(%rsp), %rdi
callq 0x78b2
leaq 0xd0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x7e14
leaq 0x50(%rsp), %rdi
callq 0x78ee
leaq 0xd0(%rsp), %rdi
callq 0x78ee
leaq 0x9f1a(%rip), %rsi      # 0xe551
leaq 0x178(%rsp), %rdi
leaq 0x258(%rsp), %rdx
callq 0x2090
leaq 0x178(%rsp), %rdi
callq 0x257e
leaq 0x178(%rsp), %rdi
callq 0x20c0
leaq 0x258(%rsp), %rdi
callq 0x78b2
leaq 0x258(%rsp), %rbx
leaq 0x90(%rsp), %rsi
movq %rbx, %rdi
callq 0x7eca
movq %rbx, %rdi
callq 0x78ee
leaq 0x9ee0(%rip), %rsi      # 0xe57a
leaq 0x158(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x2090
leaq 0x158(%rsp), %rdi
callq 0x257e
leaq 0x158(%rsp), %rdi
callq 0x20c0
leaq 0x50(%rsp), %rdi
callq 0x7f04
leaq 0x50(%rsp), %rdi
callq 0x78ee
leaq 0x9da3(%rip), %rsi      # 0xe484
leaq 0x138(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x2090
leaq 0x138(%rsp), %rdi
callq 0x2542
leaq 0x138(%rsp), %rdi
callq 0x20c0
callq 0x25a2
leaq 0x258(%rsp), %rdi
callq 0x7f54
leaq 0xd0(%rsp), %rdi
callq 0x7f54
leaq 0x90(%rsp), %rdi
callq 0x7f54
leaq 0x10(%rsp), %rdi
callq 0x7f54
leaq 0x50(%rsp), %rdi
callq 0x7f54
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x138(%rsp), %rdi
jmp 0x477c
jmp 0x483c
movq %rax, %rbx
leaq 0x158(%rsp), %rdi
callq 0x20c0
jmp 0x483f
jmp 0x483c
jmp 0x4837
movq %rax, %rbx
leaq 0x178(%rsp), %rdi
callq 0x20c0
jmp 0x484c
jmp 0x4837
jmp 0x47c3
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0x20c0
jmp 0x4859
jmp 0x47c3
movq %rax, %rbx
jmp 0x4859
movq %rax, %rbx
leaq 0x1b8(%rsp), %rdi
callq 0x20c0
jmp 0x4866
jmp 0x47e2
movq %rax, %rbx
jmp 0x4866
jmp 0x4876
movq %rax, %rbx
leaq 0x1d8(%rsp), %rdi
jmp 0x4815
jmp 0x4876
movq %rax, %rbx
leaq 0x1f8(%rsp), %rdi
jmp 0x4815
jmp 0x4876
movq %rax, %rbx
leaq 0x218(%rsp), %rdi
callq 0x20c0
jmp 0x4879
jmp 0x4876
jmp 0x4876
movq %rax, %rbx
leaq 0x238(%rsp), %rdi
callq 0x20c0
jmp 0x4883
movq %rax, %rbx
jmp 0x4883
movq %rax, %rbx
jmp 0x484c
movq %rax, %rbx
leaq 0x258(%rsp), %rdi
callq 0x7f54
leaq 0xd0(%rsp), %rdi
callq 0x7f54
leaq 0x90(%rsp), %rdi
callq 0x7f54
leaq 0x10(%rsp), %rdi
callq 0x7f54
jmp 0x4879
jmp 0x4876
jmp 0x4876
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x7f54
movq %rbx, %rdi
callq 0x22d0
nop