// File: icemiliang[P]vot/src/vot/container.cc
// Function: voro::container_base::container_base(double, double, double, double, double, double, int, int, int, bool, bool, bool, int, int)
container_base::container_base(double ax_,double bx_,double ay_,double by_,double az_,double bz_,
        int nx_,int ny_,int nz_,bool xperiodic_,bool yperiodic_,bool zperiodic_,int init_mem,int ps_)
    : voro_base(nx_,ny_,nz_,(bx_-ax_)/nx_,(by_-ay_)/ny_,(bz_-az_)/nz_),
    ax(ax_), bx(bx_), ay(ay_), by(by_), az(az_), bz(bz_),
    xperiodic(xperiodic_), yperiodic(yperiodic_), zperiodic(zperiodic_),
    id(new int*[nxyz]), p(new double*[nxyz]), co(new int[nxyz]), mem(new int[nxyz]), ps(ps_) {
    int l;
    for(l=0;l<nxyz;l++) co[l]=0;
    for(l=0;l<nxyz;l++) mem[l]=init_mem;
    for(l=0;l<nxyz;l++) id[l]=new int[init_mem];
    for(l=0;l<nxyz;l++) p[l]=new double[ps*init_mem];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %r9d, -0x6c(%rbp)
movl %r8d, %eax
movl %ecx, %r8d
movl -0x6c(%rbp), %ecx
movl %r8d, -0x68(%rbp)
movl %edx, -0x64(%rbp)
movl %esi, %r8d
movl -0x68(%rbp), %esi
movq %rdi, %r9
movl -0x64(%rbp), %edi
movb %al, %dl
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movb 0x10(%rbp), %al
movq %r9, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x28(%rbp)
movsd %xmm4, -0x30(%rbp)
movsd %xmm5, -0x38(%rbp)
movl %r8d, -0x3c(%rbp)
movl %edi, -0x40(%rbp)
movl %esi, -0x44(%rbp)
andb $0x1, %dl
movb %dl, -0x45(%rbp)
andb $0x1, %cl
movb %cl, -0x46(%rbp)
andb $0x1, %al
movb %al, -0x47(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
movl -0x3c(%rbp), %esi
movl -0x40(%rbp), %edx
movl -0x44(%rbp), %ecx
movsd -0x18(%rbp), %xmm0
movsd -0x10(%rbp), %xmm1
subsd %xmm1, %xmm0
cvtsi2sd %esi, %xmm1
divsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
subsd %xmm2, %xmm1
cvtsi2sd %edx, %xmm2
divsd %xmm2, %xmm1
movsd -0x38(%rbp), %xmm2
movsd -0x30(%rbp), %xmm3
subsd %xmm3, %xmm2
cvtsi2sd %ecx, %xmm3
divsd %xmm3, %xmm2
callq 0x84680
movq -0x60(%rbp), %rdi
addq $0x50, %rdi
callq 0x55fc0
jmp 0x55c9a
movq -0x60(%rbp), %rax
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x70(%rax)
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x78(%rax)
movsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x80(%rax)
movsd -0x28(%rbp), %xmm0
movsd %xmm0, 0x88(%rax)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, 0x90(%rax)
movsd -0x38(%rbp), %xmm0
movsd %xmm0, 0x98(%rax)
movb -0x45(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xa0(%rax)
movb -0x46(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xa1(%rax)
movb -0x47(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xa2(%rax)
movq %rax, %rcx
addq $0xa8, %rcx
movq %rcx, -0x80(%rbp)
movslq 0x10(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0x78(%rbp)
jmp 0x55d3d
movq -0x60(%rbp), %rax
movq -0x80(%rbp), %rcx
movq -0x78(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xb0, %rcx
movq %rcx, -0x90(%rbp)
movslq 0x10(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0x88(%rbp)
jmp 0x55d85
movq -0x60(%rbp), %rax
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xb8, %rcx
movq %rcx, -0xa0(%rbp)
movslq 0x10(%rax), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0x98(%rbp)
jmp 0x55dd3
movq -0x60(%rbp), %rax
movq -0xa0(%rbp), %rcx
movq -0x98(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xc0, %rcx
movq %rcx, -0xb0(%rbp)
movslq 0x10(%rax), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0xa8(%rbp)
jmp 0x55e21
movq -0x60(%rbp), %rax
movq -0xb0(%rbp), %rcx
movq -0xa8(%rbp), %rdx
movq %rdx, (%rcx)
movl 0x20(%rbp), %ecx
movl %ecx, 0xc8(%rax)
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x55ea2
movq -0x60(%rbp), %rax
movq 0xb8(%rax), %rax
movslq -0x58(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x55e46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x55fac
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
addq $0x50, %rdi
callq 0x56010
jmp 0x55fac
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x55ed5
movq -0x60(%rbp), %rax
movl 0x18(%rbp), %edx
movq 0xc0(%rax), %rax
movslq -0x58(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x55ea9
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x55f35
movslq 0x18(%rbp), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0xb8(%rbp)
jmp 0x55f10
movq -0xb8(%rbp), %rdx
movq -0x60(%rbp), %rax
movq 0xa8(%rax), %rax
movslq -0x58(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x55edc
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x55fa3
movq -0x60(%rbp), %rax
movl 0xc8(%rax), %eax
movl 0x18(%rbp), %ecx
imull %ecx, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0xa030
movq %rax, -0xc0(%rbp)
jmp 0x55f7e
movq -0xc0(%rbp), %rdx
movq -0x60(%rbp), %rax
movq 0xb0(%rax), %rax
movslq -0x58(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x55f3c
addq $0xc0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x58720
movq -0x50(%rbp), %rdi
callq 0xa950
nop