// File: 0asa[P]TTree-source/Learner.cpp
// Function: Learner::printVimp(std::vector<float, std::allocator<float>>&, _IO_FILE*, int)
void Learner::printVimp(std::vector<float> &vim, FILE *out, int norma) {
	if (norma == 0) {
		for (int i = 0 ; i < vim.size() ; ++i) {
			fprintf(out,"%d\t%2.10f\n",i,vim[i]);
		}
	} else if (norma == 1) {
		double max = *max_element(vim.begin(), vim.end());
		for (int i = 0 ; i < vim.size() ; ++i) {
			fprintf(out,"%d\t%2.10f\n",i,vim[i]/max);
		}
	} else if (norma == 2) {
		double sum = 0.0;
		for (int i = 0 ; i < vim.size() ; ++i) sum += vim[i];
		for (int i = 0 ; i < vim.size() ; ++i) {
			fprintf(out,"%d\t%2.10f\n",i,vim[i]/sum);
		}
	}

}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
movq %rdx, 0x90(%rsp)
movl %ecx, 0x8c(%rsp)
cmpl $0x0, 0x8c(%rsp)
jne 0x20c1d
movl $0x0, 0x88(%rsp)
movslq 0x88(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x98(%rsp), %rdi
callq 0x126a0
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq %rcx, %rax
jae 0x20c18
movq 0x90(%rsp), %rax
movq %rax, 0x38(%rsp)
movl 0x88(%rsp), %eax
movl %eax, 0x44(%rsp)
movq 0x98(%rsp), %rdi
movslq 0x88(%rsp), %rsi
callq 0x12680
movq 0x38(%rsp), %rdi
movl 0x44(%rsp), %edx
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0xfe31(%rip), %rsi      # 0x30a2c
movb $0x1, %al
callq 0x3360
movl 0x88(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x88(%rsp)
jmp 0x20b8f
jmp 0x20e0a
cmpl $0x1, 0x8c(%rsp)
jne 0x20d0b
movq 0x98(%rsp), %rdi
callq 0x1d720
movq %rax, 0x70(%rsp)
movq 0x98(%rsp), %rdi
callq 0x1d750
movq %rax, 0x68(%rsp)
movq 0x70(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1d6d0
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x1d780
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x80(%rsp)
movl $0x0, 0x64(%rsp)
movslq 0x64(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x98(%rsp), %rdi
callq 0x126a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
jae 0x20d06
movq 0x90(%rsp), %rax
movq %rax, 0x20(%rsp)
movl 0x64(%rsp), %eax
movl %eax, 0x2c(%rsp)
movq 0x98(%rsp), %rdi
movslq 0x64(%rsp), %rsi
callq 0x12680
movq 0x20(%rsp), %rdi
movl 0x2c(%rsp), %edx
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
divsd 0x80(%rsp), %xmm0
leaq 0xfd3a(%rip), %rsi      # 0x30a2c
movb $0x1, %al
callq 0x3360
movl 0x64(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x64(%rsp)
jmp 0x20c86
jmp 0x20e08
cmpl $0x2, 0x8c(%rsp)
jne 0x20e06
xorps %xmm0, %xmm0
movsd %xmm0, 0x58(%rsp)
movl $0x0, 0x54(%rsp)
movslq 0x54(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x98(%rsp), %rdi
callq 0x126a0
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
jae 0x20d81
movq 0x98(%rsp), %rdi
movslq 0x54(%rsp), %rsi
callq 0x12680
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x58(%rsp), %xmm0
movsd %xmm0, 0x58(%rsp)
movl 0x54(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x54(%rsp)
jmp 0x20d2a
movl $0x0, 0x50(%rsp)
movslq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x98(%rsp), %rdi
callq 0x126a0
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x20e04
movq 0x90(%rsp), %rax
movq %rax, (%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x98(%rsp), %rdi
movslq 0x50(%rsp), %rsi
callq 0x12680
movq (%rsp), %rdi
movl 0xc(%rsp), %edx
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
divsd 0x58(%rsp), %xmm0
leaq 0xfc3c(%rip), %rsi      # 0x30a2c
movb $0x1, %al
callq 0x3360
movl 0x50(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50(%rsp)
jmp 0x20d89
jmp 0x20e06
jmp 0x20e08
jmp 0x20e0a
addq $0xa8, %rsp
retq
nopw %cs:(%rax,%rax)