// File: /workspace/github_cpp_makefile_star2_O2/cjc12[P]ezSTL/src/../include/test.h
// Function: ezSTL::test::test_set()
void test::test_set() {
		const int max_iteration = 10;
		srand((unsigned int)time(NULL));
		start_info("set");
		set<int> s;
		print_set(s);
		test_info("set   find and insert");
		for (int i = 0; i < max_iteration; ++i) {
			int number = rand() % 100;
			std::cout << "to insert " << number << " ; ";
			auto ite = s.find(number);
			if (ite == s.end()) std::cout << "not exists" << std::endl;
			else std::cout << "already exist : " << *ite << " (obtained by find iterator)" << std::endl;
			s.insert(number);
			print_set(s);
		}
		test_info("set   erase");
		for (int i = 0; i < max_iteration * 20; ++i) {
			int number = rand() % 100;
			auto ite = s.find(number);
			if (ite != s.end()) {
				std::cout << "to remove : " << number << std::endl;
				s.erase(ite);
				print_set(s);
			}
		}
		test_info("set   clear");
		s.clear();
		print_set(s);
		finish_info("set");
		continue_next_test();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
xorl %edi, %edi
callq 0x21a0
movl %eax, %edi
callq 0x21c0
leaq 0xa9ee(%rip), %rsi      # 0xe67c
leaq 0xb8(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x2090
leaq 0xb8(%rsp), %rdi
callq 0x243c
leaq 0xb8(%rsp), %rdi
callq 0x20c0
leaq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x733e
movq %rbx, %rdi
callq 0x76c6
leaq 0xa75a(%rip), %rsi      # 0xe430
leaq 0x98(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x98(%rsp), %rdi
callq 0x257e
leaq 0x98(%rsp), %rdi
callq 0x20c0
pushq $0xa
popq %r15
pushq $0x64
popq %r12
movq 0x112c7(%rip), %rbx     # 0x14fd8
leaq 0x18(%rsp), %r13
leaq 0xc(%rsp), %rbp
leaq 0xa6aa(%rip), %r14      # 0xe3cc
subl $0x1, %r15d
jb 0x3dd3
callq 0x2060
cltd
idivl %r12d
movl %edx, 0xc(%rsp)
movq %rbx, %rdi
leaq 0xa67a(%rip), %rsi      # 0xe3bd
callq 0x21d0
movl 0xc(%rsp), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
leaq 0xa66a(%rip), %rsi      # 0xe3c8
callq 0x21d0
leaq 0x10(%rsp), %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x7450
movq 0x10(%rsp), %rcx
movq %rbx, %rax
movq %r14, %rsi
cmpq 0x20(%rsp), %rcx
je 0x3dab
movq %rbx, %rdi
leaq 0xa648(%rip), %rsi      # 0xe3d7
callq 0x21d0
movq 0x10(%rsp), %rcx
movl 0x20(%rcx), %esi
movq %rax, %rdi
callq 0x22c0
leaq 0xa63d(%rip), %rsi      # 0xe3e8
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20d0
movq %r13, %rdi
movq %rbp, %rsi
callq 0x748a
movq %r13, %rdi
callq 0x76c6
jmp 0x3d22
leaq 0xa66c(%rip), %rsi      # 0xe446
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x78(%rsp), %rdi
callq 0x257e
leaq 0x78(%rsp), %rdi
callq 0x20c0
movl $0xc8, %r13d
leaq 0x10(%rsp), %rbx
leaq 0x18(%rsp), %r14
leaq 0xc(%rsp), %r15
leaq 0x30(%rsp), %rbp
subl $0x1, %r13d
jb 0x3e8a
callq 0x2060
cltd
idivl %r12d
movl %edx, 0xc(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x7450
movq 0x10(%rsp), %rax
cmpq 0x20(%rsp), %rax
je 0x3e17
movq 0x1118d(%rip), %rdi     # 0x14fd8
leaq 0xa5c2(%rip), %rsi      # 0xe414
callq 0x21d0
movl 0xc(%rsp), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
callq 0x20d0
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
movq %r14, %rdi
movq %rbp, %rsi
callq 0x7782
movq %r14, %rdi
callq 0x76c6
jmp 0x3e17
leaq 0xa5c1(%rip), %rsi      # 0xe452
leaq 0x58(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x58(%rsp), %rdi
callq 0x257e
leaq 0x58(%rsp), %rdi
callq 0x20c0
leaq 0x18(%rsp), %rdi
callq 0x7688
leaq 0x18(%rsp), %rdi
callq 0x76c6
leaq 0xa7ad(%rip), %rsi      # 0xe67c
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2090
leaq 0x38(%rsp), %rdi
callq 0x2542
leaq 0x38(%rsp), %rdi
callq 0x20c0
callq 0x25a2
leaq 0x18(%rsp), %rdi
callq 0x76b6
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
jmp 0x3f42
jmp 0x3f68
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
jmp 0x3f42
jmp 0x3f68
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
jmp 0x3f42
jmp 0x3f68
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x20c0
jmp 0x3f6b
jmp 0x3f68
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x20c0
jmp 0x3f75
movq %rax, %rbx
jmp 0x3f75
jmp 0x3f68
jmp 0x3f68
jmp 0x3f68
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x76b6
movq %rbx, %rdi
callq 0x22d0
nop