// File: /workspace/github_c_makefile_star2_O2/olcaytaner[P]Isell/savecode.c
// Function: code_case
void code_case(FILE* testcodefile, PROGRAMMING_LANGUAGE_TYPE language, int* cases, int casecount)
{
 /*!Last Changed 12.06.2006*/
 int i;
 code_indentation(testcodefile);
 switch (language){
   case C_LANGUAGE      :
   case CPP_LANGUAGE    :
   case JAVA_LANGUAGE   :for (i = 0; i < casecount - 1; i++)
																									 {
                           fprintf(testcodefile, "case %d:\n", cases[i]);
                           code_indentation(testcodefile);
																									 }
                         fprintf(testcodefile, "case %d:", cases[i]);
                         break;
   case PASCAL_LANGUAGE :fprintf(testcodefile, "%d", cases[0]);
                         for (i = 1; i < casecount; i++)
                           fprintf(testcodefile, ", %d", cases[i]);
                         fprintf(testcodefile, ":");
                         break;
   case MATLAB_LANGUAGE :fprintf(testcodefile, "case ");
                         if (casecount == 1)
                           fprintf(testcodefile, "%d,\n", cases[0]);
                         else
                          {
                           fprintf(testcodefile, "{%d", cases[0]);
                           for (i = 1; i < casecount; i++)
                             fprintf(testcodefile, ", %d", cases[i]);
                           fprintf(testcodefile, "}\n");
                          }
                         break;
   case FORTRAN_LANGUAGE:for (i = 0; i < casecount - 1; i++)
																									 {
                           fprintf(testcodefile, "(%d)\n", cases[i]);
																											code_indentation(testcodefile);
																									 }
				                     fprintf(testcodefile, "(%d)\n", cases[i]);
                         break;
 }  
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %ebp
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %rbx
callq 0x72524
cmpl $0x5, %r15d
ja 0x733f7
movl %r15d, %eax
leaq 0x2cb23(%rip), %rcx     # 0x9fe28
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x2, %ebp
pushq $0x1
popq %r12
cmovgel %ebp, %r12d
decl %r12d
leaq 0x2d058(%rip), %r15     # 0xa037b
xorl %r13d, %r13d
cmpq %r13, %r12
je 0x73349
movl (%r14,%r13,4), %edx
movq %rbx, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x42e0
movq %rbx, %rdi
callq 0x72524
incq %r13
jmp 0x73326
movl (%r14,%r12,4), %edx
leaq 0x2d031(%rip), %rsi     # 0xa0385
jmp 0x7342e
movl (%r14), %edx
leaq 0x2d7f6(%rip), %rsi     # 0xa0b59
movq %rbx, %rdi
xorl %eax, %eax
callq 0x42e0
movslq %ebp, %r12
pushq $0x1
popq %r13
leaq 0x2d013(%rip), %r15     # 0xa038e
cmpq %r12, %r13
jge 0x73396
movl (%r14,%r13,4), %edx
movq %rbx, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x42e0
incq %r13
jmp 0x7337b
pushq $0x3a
popq %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4150
cmpl $0x2, %ebp
pushq $0x1
popq %r12
cmovgel %ebp, %r12d
decl %r12d
leaq 0x2cddf(%rip), %r15     # 0xa01a3
xorl %r13d, %r13d
cmpq %r13, %r12
je 0x733ea
movl (%r14,%r13,4), %edx
movq %rbx, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x42e0
movq %rbx, %rdi
callq 0x72524
incq %r13
jmp 0x733c7
movl (%r14,%r12,4), %edx
leaq 0x2cdae(%rip), %rsi     # 0xa01a3
jmp 0x7342e
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2cf86(%rip), %rdi     # 0xa0393
pushq $0x5
popq %rsi
pushq $0x1
popq %r15
movq %r15, %rdx
movq %rbx, %rcx
callq 0x42c0
movl (%r14), %edx
cmpl $0x1, %ebp
jne 0x73446
leaq 0x2d102(%rip), %rsi     # 0xa0530
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x42e0
leaq 0x2cf4c(%rip), %rsi     # 0xa0399
movq %rbx, %rdi
xorl %eax, %eax
callq 0x42e0
movslq %ebp, %r13
leaq 0x2cf2d(%rip), %r12     # 0xa038e
cmpq %r13, %r15
jge 0x7347c
movl (%r14,%r15,4), %edx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x42e0
incq %r15
jmp 0x73461
leaq 0x2bc31(%rip), %rdi     # 0x9f0b4
pushq $0x2
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x42c0