// File: WolfgangLechner[P]StructureAnalysis/molecular_system.cpp
// Function: CMolecularSystem::makeperiodic(int)
void CMolecularSystem::makeperiodic(int ti)
{ 
  double boxx,boxy,boxz;
  boxx = this->parameter->boxx;
  boxy = this->parameter->boxy;
  boxz = this->parameter->boxz;
  
  if (this->molecules[ti].posx >=  boxx) {this->molecules[ti].posx -=boxx;}
  if (this->molecules[ti].posx <   0.0)  {this->molecules[ti].posx +=boxx;}
  if (this->molecules[ti].posy >=  boxy) {this->molecules[ti].posy -=boxy;}
  if (this->molecules[ti].posy <   0.0)  {this->molecules[ti].posy +=boxy;}
  if (this->molecules[ti].posz >=  boxz) {this->molecules[ti].posz -=boxz;}
  if (this->molecules[ti].posz <   0.0)  {this->molecules[ti].posz +=boxz;}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq 0xb4e8c0(%rax), %rcx
movsd 0x3218(%rcx), %xmm0
movsd %xmm0, -0x18(%rbp)
movq 0xb4e8c0(%rax), %rcx
movsd 0x3220(%rcx), %xmm0
movsd %xmm0, -0x20(%rbp)
movq 0xb4e8c0(%rax), %rcx
movsd 0x3228(%rcx), %xmm0
movsd %xmm0, -0x28(%rbp)
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
ucomisd -0x18(%rbp), %xmm0
jb 0x971c
movq -0x30(%rbp), %rax
movsd -0x18(%rbp), %xmm1
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rax)
movq -0x30(%rbp), %rax
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
xorps %xmm0, %xmm0
ucomisd 0x8(%rax), %xmm0
jbe 0x9767
movq -0x30(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
addsd 0x8(%rax), %xmm0
movsd %xmm0, 0x8(%rax)
movq -0x30(%rbp), %rax
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
ucomisd -0x20(%rbp), %xmm0
jb 0x97b8
movq -0x30(%rbp), %rax
movsd -0x20(%rbp), %xmm1
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rax)
movq -0x30(%rbp), %rax
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
xorps %xmm0, %xmm0
ucomisd 0x10(%rax), %xmm0
jbe 0x9803
movq -0x30(%rbp), %rax
movsd -0x20(%rbp), %xmm0
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
addsd 0x10(%rax), %xmm0
movsd %xmm0, 0x10(%rax)
movq -0x30(%rbp), %rax
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
ucomisd -0x28(%rbp), %xmm0
jb 0x9854
movq -0x30(%rbp), %rax
movsd -0x28(%rbp), %xmm1
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rax)
movq -0x30(%rbp), %rax
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
xorps %xmm0, %xmm0
ucomisd 0x18(%rax), %xmm0
jbe 0x989f
movq -0x30(%rbp), %rax
movsd -0x28(%rbp), %xmm0
movq 0xb4e8b8(%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x870, %rcx, %rcx      # imm = 0x870
addq %rcx, %rax
addsd 0x18(%rax), %xmm0
movsd %xmm0, 0x18(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)