// File: /workspace/github_cpp_makefile_star2_O2/gvaumour[P]cache-simulator/src/SimplePerceptron.cc
// Function: SimplePerceptronPredictor::printConfig(std::ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void SimplePerceptronPredictor::printConfig(std::ostream& out, std::string entete) { 

	out << entete << ":SimplePerceptron:TableSize\t" << m_tableSize << endl; 
	out << entete << ":SimplePerceptron:CounterRange\t" << simu_parameters.perceptron_counter_size << endl; 
		
	
	out << entete << ":SimplePerceptron:Features\t"; 
	for(auto p : m_feature_names)
		out << p << ",";
	out << endl;

	out << entete << ":SimplePerceptron:LearningThreshold\t" << simu_parameters.simple_perceptron_learningTreshold << endl;
	out << entete << ":SimplePerceptron:FastLearning\t" << convertBool(simu_parameters.simple_perceptron_fastLearning) << endl;
	out << entete << ":SimplePerceptron:IndependantLearning\t" << convertBool(simu_parameters.simple_perceptron_independantLearning) << endl;
	out << entete << ":SimplePerceptron:enableMigration\t" << convertBool(simu_parameters.simple_perceptron_enableMigration) << endl;
	
	Predictor::printConfig(out, entete);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x5290
leaq 0x749c(%rip), %rsi      # 0x2be03
movq %rax, %rdi
callq 0x52c0
movl 0x2b8(%r14), %esi
movq %rax, %rdi
callq 0x5560
movq %rax, %rdi
callq 0x5190
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x7488(%rip), %rsi      # 0x2be20
movq %rax, %rdi
callq 0x52c0
leaq 0x195a9(%rip), %rcx     # 0x3df50
movl 0x1b0(%rcx), %esi
movq %rax, %rdi
callq 0x5560
movq %rax, %rdi
callq 0x5190
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x7471(%rip), %rsi      # 0x2be40
movq %rax, %rdi
callq 0x52c0
movq 0x2a0(%r14), %r12
movq %r14, 0x20(%rsp)
movq 0x2a8(%r14), %r14
movq %rsp, %r13
leaq 0x463e(%rip), %rbp      # 0x29032
cmpq %r14, %r12
je 0x24a28
movq %r13, %rdi
movq %r12, %rsi
callq 0x5410
movq %rbx, %rdi
movq %r13, %rsi
callq 0x5290
movq %rax, %rdi
movq %rbp, %rsi
callq 0x52c0
movq %r13, %rdi
callq 0x5618
addq $0x20, %r12
jmp 0x249f4
movq %rbx, %rdi
callq 0x5190
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x741a(%rip), %rsi      # 0x2be5c
movq %rax, %rdi
callq 0x52c0
leaq 0x194ff(%rip), %r14     # 0x3df50
movl 0x248(%r14), %esi
movq %rax, %rdi
callq 0x5560
movq %rax, %rdi
callq 0x5190
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x7407(%rip), %rsi      # 0x2be81
movq %rax, %rdi
callq 0x52c0
movq %rax, %r12
movzbl 0x24c(%r14), %esi
movq %rsp, %r13
movq %r13, %rdi
callq 0x25746
movq %r12, %rdi
movq %r13, %rsi
callq 0x5290
movq %rax, %rdi
callq 0x5190
movq %rsp, %rdi
callq 0x5618
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x73dc(%rip), %rsi      # 0x2bea1
movq %rax, %rdi
callq 0x52c0
movq %rax, %r12
movzbl 0x24d(%r14), %esi
movq %rsp, %r13
movq %r13, %rdi
callq 0x25746
movq %r12, %rdi
movq %r13, %rsi
callq 0x5290
movq %rax, %rdi
callq 0x5190
movq %rsp, %rdi
callq 0x5618
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5290
leaq 0x73b8(%rip), %rsi      # 0x2bec8
movq %rax, %rdi
callq 0x52c0
movq %rax, %r12
movzbl 0x24e(%r14), %esi
movq %rsp, %r13
movq %r13, %rdi
callq 0x25746
movq %r12, %rdi
movq %r13, %rsi
callq 0x5290
movq %rax, %rdi
callq 0x5190
movq %rsp, %rdi
callq 0x5618
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x5410
movq 0x20(%rsp), %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x20228
leaq 0x28(%rsp), %rdi
callq 0x5618
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
jmp 0x24b98
jmp 0x24b92
jmp 0x24b92
jmp 0x24b92
movq %rax, %rbx
movq %rsp, %rdi
callq 0x5618
movq %rbx, %rdi
callq 0x5570
nop