// File: /workspace/github_cpp_makefile_star2_O2/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, %r14d
movq %rdi, %rbx
leaq 0xb32(%rip), %rsi       # 0x7599
leaq -0xd0(%rbp), %r15
movq %r15, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2d8(%rbp), %r12
movq %r12, %rdi
callq 0x2200
testl %r14d, %r14d
leaq 0xb1c(%rip), %rsi       # 0x75b0
cmovneq %r15, %rsi
pushq $0x8
popq %rdx
movq %r12, %rdi
callq 0x2130
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq %rbx, -0x30(%rbp)
leaq 0x8(%rbx), %rax
movq %rax, -0x38(%rbp)
xorl %ebx, %ebx
leaq -0x58(%rbp), %r15
leaq -0x78(%rbp), %r12
leaq -0x2d8(%rbp), %rdi
movq %r15, %rsi
callq 0x2080
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x6bd5
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
pushq $0x2
popq %rcx
callq 0x21f0
movq %r12, %rdi
leaq 0xaba(%rip), %rsi       # 0x75be
callq 0x20e0
movl %eax, %r14d
movq %r12, %rdi
callq 0x23a8
testl %r14d, %r14d
je 0x6ac9
movq %r15, %rdi
pushq $0x3d
popq %rsi
xorl %edx, %edx
callq 0x2260
cmpq $-0x1, %rax
jne 0x6b71
movq %r15, %rdi
leaq 0x845(%rip), %rsi       # 0x737b
callq 0x20e0
testl %eax, %eax
jle 0x6ac9
movq 0x34aa(%rip), %rdi      # 0x9ff0
leaq 0xa74(%rip), %rsi       # 0x75c1
callq 0x21b0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2190
movq %rax, %rdi
leaq 0x813(%rip), %rsi       # 0x737a
callq 0x21b0
jmp 0x6ac9
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x21f0
movl %ebx, %r14d
shlq $0x6, %r14
addq -0x38(%rbp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x2220
movq %r12, %rdi
callq 0x23a8
incq %r13
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
pushq $-0x1
popq %rcx
callq 0x21f0
addq $0x20, %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x2220
movq %r12, %rdi
callq 0x23a8
incq %rbx
jmp 0x6ac9
movq -0x30(%rbp), %rax
leaq 0x3230(%rax), %rcx
movq %rcx, -0x38(%rbp)
leaq 0x28(%rax), %r15
leaq 0x37a1(%rip), %r12      # 0xa390
leaq 0x37ba(%rip), %r13      # 0xa3b0
subq $0x1, %rbx
jb 0x6d2f
leaq -0x20(%r15), %r14
movq %r14, %rdi
leaq 0x36c2(%rip), %rsi      # 0xa2d0
callq 0x2040
testl %eax, %eax
jne 0x6c29
movq (%r15), %rdi
callq 0x22c0
movq -0x30(%rbp), %rcx
movl %eax, 0x3208(%rcx)
movq %r14, %rdi
leaq 0x36bd(%rip), %rsi      # 0xa2f0
callq 0x2040
testl %eax, %eax
jne 0x6c50
movq (%r15), %rdi
callq 0x2230
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3218(%rax)
movq %r14, %rdi
leaq 0x36b6(%rip), %rsi      # 0xa310
callq 0x2040
testl %eax, %eax
jne 0x6c77
movq (%r15), %rdi
callq 0x2230
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3220(%rax)
movq %r14, %rdi
leaq 0x36af(%rip), %rsi      # 0xa330
callq 0x2040
testl %eax, %eax
jne 0x6c9e
movq (%r15), %rdi
callq 0x2230
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3228(%rax)
movq %r14, %rdi
leaq 0x36a8(%rip), %rsi      # 0xa350
callq 0x2040
testl %eax, %eax
jne 0x6cbd
movq -0x38(%rbp), %rdi
movq %r15, %rsi
callq 0x2120
movq %r14, %rdi
leaq 0x36a9(%rip), %rsi      # 0xa370
callq 0x2040
testl %eax, %eax
jne 0x6ce2
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 0x6d03
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 0x6d26
movq (%r15), %rdi
callq 0x2230
movq -0x30(%rbp), %rax
movsd %xmm0, 0x3250(%rax)
addq $0x40, %r15
jmp 0x6bf6
movq -0x30(%rbp), %rdi
callq 0x6d8e
leaq -0x58(%rbp), %rdi
callq 0x23a8
leaq -0x2d8(%rbp), %rdi
callq 0x20c0
addq $0x2b8, %rsp            # imm = 0x2B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6d6e
jmp 0x6d6e
jmp 0x6d6e
movq %rax, %rbx
jmp 0x6d7a
jmp 0x6d6e
jmp 0x6d6e
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x23a8
leaq -0x2d8(%rbp), %rdi
callq 0x20c0
movq %rbx, %rdi
callq 0x2350