// File: /workspace/github_cpp_makefile_star2_O3/WolfgangLechner[P]StructureAnalysis/parameter.cpp
// Function: CParameter::readParameter(int)
void CParameter::readParameter(int myrank)
{
  char IntStr[80];
  sprintf( IntStr, "input/parameter.%d.txt", myrank);
  ifstream AnfangsFile;
  if (myrank == 0)
  {
    AnfangsFile.open("parameter.txt");
  } else {
    AnfangsFile.open(IntStr);
  }
  string line;
  string::size_type pos;
  int i = 0;
  while (getline(AnfangsFile,line))
  {
    if(line.substr(0, 2).compare("//")!=0)
    {
      pos  = line.find('=');
      if (pos != string::npos)
      {
        this->rawParameter[i].name = line.substr(0, pos );
        this->rawParameter[i].value = line.substr(pos+1, string::npos );
        i += 1;
      } else {if (line.compare("")>0) {cerr << "malformed line in parameterfile :" << line << "\n";}}
    }
  }
  for (int j = 0;j < i;j++)
  {
    if (rawParameter[j].name.compare(PF_NUMBEROFPARTICLES) == 0) {this->nop = atoi(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_BOXX) == 0) {this->boxx = atof(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_BOXY) == 0) {this->boxy = atof(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_BOXZ) == 0) {this->boxz = atof(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_XYZFILE) == 0) {this->xyzFile = rawParameter[j].value;}
    if (rawParameter[j].name.compare(PF_BASEUNIT) == 0) {this->baseunit = atoi(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_NUMBEROFCELLS) == 0) {this->noc = atoi(rawParameter[j].value.c_str());}
    if (rawParameter[j].name.compare(PF_NEIGHBORDISTANCE) == 0) {this->neighbordistance = atof(rawParameter[j].value.c_str());}
  }
  checkParameter();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2b8, %rsp            # imm = 0x2B8
movl %esi, %r15d
movq %rdi, %rbx
leaq 0xe28(%rip), %rsi       # 0x8559
leaq -0xd0(%rbp), %r12
movq %r12, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2d8(%rbp), %r14
movq %r14, %rdi
callq 0x21e0
testl %r15d, %r15d
leaq 0xe12(%rip), %rsi       # 0x8570
cmovneq %r12, %rsi
movq %r14, %rdi
movl $0x8, %edx
callq 0x2130
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq %rbx, -0x30(%rbp)
leaq 0x8(%rbx), %rax
movq %rax, -0x38(%rbp)
xorl %ebx, %ebx
leaq -0x78(%rbp), %r15
leaq -0x58(%rbp), %r12
movq -0x2d8(%rbp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x2370
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x790e
movl $0x2, %ecx
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x21d0
movq %r12, %rdi
leaq 0xd92(%rip), %rsi       # 0x857e
callq 0x20c0
movl %eax, %r13d
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x780d
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x21c0
testl %r13d, %r13d
je 0x7798
movq %r15, %rdi
movl $0x3d, %esi
xorl %edx, %edx
callq 0x2250
cmpq $-0x1, %rax
jne 0x7883
movq %r15, %rdi
leaq 0xb4a(%rip), %rsi       # 0x837b
callq 0x20c0
testl %eax, %eax
jle 0x7798
movl $0x21, %edx
movq 0x37a6(%rip), %rdi      # 0xaff0
leaq 0xd30(%rip), %rsi       # 0x8581
callq 0x21f0
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq 0x378b(%rip), %rdi      # 0xaff0
callq 0x21f0
movl $0x1, %edx
movq %rax, %rdi
leaq 0xb01(%rip), %rsi       # 0x837a
callq 0x21f0
jmp 0x7798
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x21d0
movl %ebx, %edi
shlq $0x6, %rdi
addq -0x38(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movq %r12, %rsi
callq 0x2210
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x78c5
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x21c0
incq %r13
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
movq $-0x1, %rcx
callq 0x21d0
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
movq %r12, %rsi
callq 0x2210
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7906
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x21c0
incq %rbx
jmp 0x7798
testl %ebx, %ebx
je 0x7a6a
movq -0x30(%rbp), %rax
leaq 0x3230(%rax), %rcx
movq %rcx, -0x38(%rbp)
leaq 0x28(%rax), %r15
leaq 0x3a60(%rip), %r12      # 0xb390
leaq 0x3a79(%rip), %r13      # 0xb3b0
leaq -0x20(%r15), %r14
movq %r14, %rdi
leaq 0x398b(%rip), %rsi      # 0xb2d0
callq 0x2040
testl %eax, %eax
jne 0x7960
movq (%r15), %rdi
callq 0x22c0
movq -0x30(%rbp), %rcx
movl %eax, 0x3208(%rcx)
movq %r14, %rdi
leaq 0x3986(%rip), %rsi      # 0xb2f0
callq 0x2040
testl %eax, %eax
jne 0x7987
movq (%r15), %rdi
callq 0x2220
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3218(%rax)
movq %r14, %rdi
leaq 0x397f(%rip), %rsi      # 0xb310
callq 0x2040
testl %eax, %eax
jne 0x79ae
movq (%r15), %rdi
callq 0x2220
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3220(%rax)
movq %r14, %rdi
leaq 0x3978(%rip), %rsi      # 0xb330
callq 0x2040
testl %eax, %eax
jne 0x79d5
movq (%r15), %rdi
callq 0x2220
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3228(%rax)
movq %r14, %rdi
leaq 0x3971(%rip), %rsi      # 0xb350
callq 0x2040
testl %eax, %eax
jne 0x79f4
movq -0x38(%rbp), %rdi
movq %r15, %rsi
callq 0x2110
movq %r14, %rdi
leaq 0x3972(%rip), %rsi      # 0xb370
callq 0x2040
testl %eax, %eax
jne 0x7a19
movq (%r15), %rdi
callq 0x22c0
movq -0x30(%rbp), %rcx
movl %eax, 0x320c(%rcx)
movq %r14, %rdi
movq %r12, %rsi
callq 0x2040
testl %eax, %eax
jne 0x7a3a
movq (%r15), %rdi
callq 0x22c0
movq -0x30(%rbp), %rcx
movl %eax, 0x3214(%rcx)
movq %r14, %rdi
movq %r13, %rsi
callq 0x2040
testl %eax, %eax
jne 0x7a5d
movq (%r15), %rdi
callq 0x2220
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3250(%rax)
addq $0x40, %r15
decq %rbx
jne 0x7937
movq -0x30(%rbp), %rdi
callq 0x7aea
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x7a8c
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x21c0
leaq -0x2d8(%rbp), %rdi
callq 0x20a0
addq $0x2b8, %rsp            # imm = 0x2B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7ab9
jmp 0x7ab9
jmp 0x7ab9
movq %rax, %rbx
jmp 0x7ad5
jmp 0x7ab9
jmp 0x7ab9
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x7ad5
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x21c0
leaq -0x2d8(%rbp), %rdi
callq 0x20a0
movq %rbx, %rdi
callq 0x2350
nop