// File: /workspace/github_cpp_makefile_star2_O2/PrarabdhJoshi[P]DatabaseImplementation/test.cc
// Function: main
int main () {
cout <<"here";
	setup (catalog_path, dbfile_dir, tpch_dir);

	void (*test) ();
	relation *rel_ptr[] = {n, r, c, p, ps, o, li};
	void (*test_ptr[]) () = {&test1, &test2, &test3};  

	int tindx = 0;
	while (tindx < 1 || tindx > 3) {
		cout << " select test: \n";
		cout << " \t 1. load file \n";
		cout << " \t 2. scan \n";
		cout << " \t 3. scan & filter \n \t ";
		cin >> tindx;
	}

	int findx = 0;
	while (findx < 1 || findx > 7) {
		cout << "\n select table: \n";
		cout << "\t 1. nation \n";
		cout << "\t 2. region \n";
		cout << "\t 3. customer \n";
		cout << "\t 4. part \n";
		cout << "\t 5. partsupp \n";
		cout << "\t 6. orders \n";
		cout << "\t 7. lineitem \n \t ";
		cin >> findx;
	}

	rel = rel_ptr [findx - 1];
	test = test_ptr [tindx - 1];

	test ();

	cleanup ();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq 0x44bd(%rip), %rbx      # 0xafc0
leaq 0x1082(%rip), %rsi      # 0x7b8c
movq %rbx, %rdi
callq 0x2140
movq 0x470f(%rip), %rdi      # 0xb228
movq 0x46f8(%rip), %rsi      # 0xb218
movq 0x46f9(%rip), %rdx      # 0xb220
callq 0x63c4
movq 0x47b5(%rip), %rax      # 0xb2e8
movq %rax, 0x10(%rsp)
movq 0x47b9(%rip), %rax      # 0xb2f8
movq %rax, 0x18(%rsp)
movq 0x47bd(%rip), %rax      # 0xb308
movq %rax, 0x20(%rsp)
movq 0x4781(%rip), %rax      # 0xb2d8
movq %rax, 0x28(%rsp)
movq 0x477d(%rip), %rax      # 0xb2e0
movq %rax, 0x30(%rsp)
movq 0x4791(%rip), %rax      # 0xb300
movq %rax, 0x38(%rsp)
leaq 0x8(%rsp), %rax
andl $0x0, (%rax)
movq 0x476d(%rip), %rax      # 0xb2f0
movq %rax, 0x40(%rsp)
xorl %eax, %eax
leaq 0x107a(%rip), %r15      # 0x7c0b
leaq 0x1083(%rip), %r12      # 0x7c1b
leaq 0x108e(%rip), %r13      # 0x7c2d
leaq 0x1094(%rip), %rbp      # 0x7c3a
movq 0x442b(%rip), %r14      # 0xafd8
addl $-0x4, %eax
cmpl $-0x4, %eax
ja 0x6bf4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2140
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2140
movq %rbx, %rdi
movq %r13, %rsi
callq 0x2140
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x2140
movq %r14, %rdi
leaq 0x8(%rsp), %rsi
callq 0x20f0
movl 0x8(%rsp), %eax
jmp 0x6bad
leaq 0xc(%rsp), %rax
andl $0x0, (%rax)
xorl %eax, %eax
movq 0x43bb(%rip), %r14      # 0xafc0
leaq 0x1085(%rip), %rbx      # 0x7c91
leaq 0x108a(%rip), %r15      # 0x7c9d
leaq 0x1093(%rip), %r12      # 0x7cad
leaq 0x109a(%rip), %r13      # 0x7cbb
movq 0x43b0(%rip), %rbp      # 0xafd8
leal -0x8(%rax), %ecx
cmpl $-0x8, %ecx
ja 0x6cae
movq %r14, %rdi
leaq 0x1019(%rip), %rsi      # 0x7c53
callq 0x2140
movq %r14, %rdi
leaq 0x101c(%rip), %rsi      # 0x7c65
callq 0x2140
movq %r14, %rdi
leaq 0x101b(%rip), %rsi      # 0x7c73
callq 0x2140
movq %r14, %rdi
leaq 0x101a(%rip), %rsi      # 0x7c81
callq 0x2140
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2140
movq %r14, %rdi
movq %r15, %rsi
callq 0x2140
movq %r14, %rdi
movq %r12, %rsi
callq 0x2140
movq %r14, %rdi
movq %r13, %rsi
callq 0x2140
movq %rbp, %rdi
leaq 0xc(%rsp), %rsi
callq 0x20f0
movl 0xc(%rsp), %eax
jmp 0x6c28
decl %eax
movq 0x10(%rsp,%rax,8), %rax
movq %rax, 0x4654(%rip)      # 0xb310
movslq 0x8(%rsp), %rax
leaq 0x4098(%rip), %rcx      # 0xad60
callq *-0x8(%rcx,%rax,8)
callq 0x66d7
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq