// File: /workspace/github_cpp_makefile_star2_O2/ghulette[P]neural-net-openmp/dataset.cpp
// Function: test()
void test() {
	using namespace std;
	cout << "Testing full encoding" << endl;
	for(int i=0; i < 10; i++) {
		cout << "Label: " << i << endl;
		double *vec = vector_for_label_full(i);
		print_vec(vec, FULL_LENGTH);
		int label = label_for_vector_full(vec);
		cout << "Output: " << label << endl;
		delete[] vec;
	}
	cout << "Testing ascii encoding" << endl;
	for(int i=0; i < 10; i++) {
		cout << "Label: " << i << endl;
		double *vec = vector_for_label_ascii(i);
		print_vec(vec, ASCII_LENGTH);
		int label = label_for_vector_ascii(vec);
		cout << "Output: " << label << endl;
		delete[] vec;
	}
	cout << "Testing packed encoding" << endl;
	for(int i=0; i < 10; i++) {
		cout << "Label: " << i << endl;
		double *vec = vector_for_label_packed(i);
		print_vec(vec, PACKED_LENGTH);
		int label = label_for_vector_packed(vec);
		cout << "Output: " << label << endl;
		delete[] vec;
	}
	
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0x39b9(%rip), %rbx      # 0x5fd0
leaq 0x1a18(%rip), %rsi      # 0x4036
movq %rbx, %rdi
callq 0x2100
movq %rax, %rdi
callq 0x2090
xorl %ebp, %ebp
pushq $0xa
popq %r15
leaq 0x1a19(%rip), %r12      # 0x4054
cmpl $0xa, %ebp
je 0x26ab
movq %rbx, %rdi
leaq 0x1a02(%rip), %rsi      # 0x404c
callq 0x2100
movq %rax, %rdi
movl %ebp, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movl %ebp, %edi
callq 0x2531
movq %rax, %r13
movq %rax, %rdi
movl %r15d, %esi
callq 0x258d
movq %r13, %rdi
callq 0x2565
movl %eax, %r14d
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2100
movq %rax, %rdi
movl %r14d, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movq %r13, %rdi
callq 0x2150
incl %ebp
jmp 0x263b
movq 0x391e(%rip), %rbx      # 0x5fd0
leaq 0x19a4(%rip), %rsi      # 0x405d
movq %rbx, %rdi
callq 0x2100
movq %rax, %rdi
callq 0x2090
xorl %ebp, %ebp
pushq $0x8
popq %r15
leaq 0x197e(%rip), %r12      # 0x4054
cmpl $0xa, %ebp
je 0x2746
movq %rbx, %rdi
leaq 0x1967(%rip), %rsi      # 0x404c
callq 0x2100
movq %rax, %rdi
movl %ebp, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movl %ebp, %edi
callq 0x247c
movq %rax, %r13
movq %rax, %rdi
movl %r15d, %esi
callq 0x258d
movq %r13, %rdi
callq 0x24ac
movl %eax, %r14d
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2100
movq %rax, %rdi
movl %r14d, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movq %r13, %rdi
callq 0x2150
incl %ebp
jmp 0x26d6
movq 0x3883(%rip), %rbx      # 0x5fd0
leaq 0x1920(%rip), %rsi      # 0x4074
movq %rbx, %rdi
callq 0x2100
movq %rax, %rdi
callq 0x2090
xorl %ebp, %ebp
pushq $0x4
popq %r15
leaq 0x18e3(%rip), %r12      # 0x4054
cmpl $0xa, %ebp
je 0x27e1
movq %rbx, %rdi
leaq 0x18cc(%rip), %rsi      # 0x404c
callq 0x2100
movq %rax, %rdi
movl %ebp, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movl %ebp, %edi
callq 0x24db
movq %rax, %r13
movq %rax, %rdi
movl %r15d, %esi
callq 0x258d
movq %r13, %rdi
callq 0x2508
movl %eax, %r14d
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2100
movq %rax, %rdi
movl %r14d, %esi
callq 0x2190
movq %rax, %rdi
callq 0x2090
movq %r13, %rdi
callq 0x2150
incl %ebp
jmp 0x2771
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq