// File: /workspace/github_c_makefile_star2_O2/ZmengXu[P]boxMesh/boxMesh.C
// Function: writePoints(int, int, int, int, double, double, double)
void writePoints(int nPoints, int Nx, int Ny, int Nz, double Lx, double Ly, double Lz)
{
    ofstream currentFile("constant/polyMesh/points");

    currentFile << "/*--------------------------------*- C++ -*----------------------------------*\\\n";
    currentFile << "| =========                 |                                                 |\n";
    currentFile << "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n";
    currentFile << "|  \\\\    /   O peration     | Version:  2.3.0                                 |\n";
    currentFile << "|   \\\\  /    A nd           | Web:      www.OpenFOAM.org                      |\n";
    currentFile << "|    \\\\/     M anipulation  |                                                 |\n";
    currentFile << "\\*---------------------------------------------------------------------------*/\n";
    currentFile << "FoamFile\n";
    currentFile << "{\n";
    currentFile << "    version     2.0;\n";
    currentFile << "    format      ascii;\n";
    currentFile << "    class       vectorField;\n";
    currentFile << "    location    \"constant/polyMesh\";\n";
    currentFile << "    object      points;\n";
    currentFile << "}\n";
    currentFile << "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
    currentFile << "\n";
    currentFile << "\n";

    ostringstream convert;
    convert.clear();
    convert.str("");
    convert << nPoints << "\n(\n";
    currentFile << convert.str();

    int xi, zi, yi;
    for (int i=0; i<nPoints; i++)
    {
        // Calculate point grid coordinates
        xi = i % (Nx+1);
        zi = int(i/((Nx+1)*(Ny+1)));
        yi = ((i-(Nx+1)*(Ny+1)*zi)-xi)/(Nx+1);

        convert.clear();
        convert.str("");
        //  Write point spatial coordinates
        convert << "(" << setprecision(10) << xi*Lx << " " << yi*Ly << " " << zi*Lz << ")\n";
        currentFile << convert.str();
    }

    currentFile << ")\n";
    currentFile << "\n";
    currentFile << "\n";
    currentFile << "// ************************************************************************* //\n";
    currentFile.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3c8, %rsp            # imm = 0x3C8
movsd %xmm2, -0x68(%rbp)
movsd %xmm1, -0x70(%rbp)
movsd %xmm0, -0x78(%rbp)
movl %edx, %r14d
movl %esi, %r15d
movl %edi, %r12d
leaq 0x229d(%rip), %rsi      # 0x6546
leaq -0x278(%rbp), %rbx
pushq $0x10
popq %rdx
movq %rbx, %rdi
callq 0x2170
leaq 0x1d5d(%rip), %rsi      # 0x601f
movq %rbx, %rdi
callq 0x2140
leaq 0x1d9f(%rip), %rsi      # 0x6070
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1ddd(%rip), %rsi      # 0x60c1
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1e1b(%rip), %rsi      # 0x6112
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1e59(%rip), %rsi      # 0x6163
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1e97(%rip), %rsi      # 0x61b4
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1ed5(%rip), %rsi      # 0x6205
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1f13(%rip), %rsi      # 0x6256
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x2006(%rip), %rsi      # 0x635c
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1ef7(%rip), %rsi      # 0x6260
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1efa(%rip), %rsi      # 0x6276
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x21d0(%rip), %rsi      # 0x655f
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1f0f(%rip), %rsi      # 0x62b1
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x21c8(%rip), %rsi      # 0x657d
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x2010(%rip), %rsi      # 0x63d8
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1f17(%rip), %rsi      # 0x62f2
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x208e(%rip), %rsi      # 0x647c
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x207b(%rip), %rsi      # 0x647c
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq -0x3f0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2190
movq -0x3f0(%rbp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2260
leaq 0x2045(%rip), %rsi      # 0x647d
leaq -0x60(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x48e0
leaq -0x3e8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x21e0
leaq -0x60(%rbp), %rdi
callq 0x20a0
leaq -0x3f0(%rbp), %rdi
movl %r12d, %esi
callq 0x2280
leaq 0x2006(%rip), %rsi      # 0x647a
movq %rax, %rdi
callq 0x2140
leaq -0x60(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x2220
leaq -0x278(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2120
leaq -0x60(%rbp), %rbx
movq %rbx, %rdi
callq 0x20a0
incl %r15d
incl %r14d
movl %r15d, -0x34(%rbp)
imull %r15d, %r14d
xorl %r15d, %r15d
testl %r12d, %r12d
cmovlel %r15d, %r12d
movl %r12d, -0x3c(%rbp)
movl %r14d, -0x38(%rbp)
negl %r14d
movl %r14d, -0x30(%rbp)
cmpl %r15d, -0x3c(%rbp)
je 0x45fc
movl %r15d, %eax
cltd
movl -0x34(%rbp), %ecx
idivl %ecx
movl %edx, %r12d
movl %r15d, %eax
cltd
idivl -0x38(%rbp)
movl %eax, %r13d
movl -0x30(%rbp), %eax
imull %r13d, %eax
subl %r12d, %eax
addl %r15d, %eax
cltd
idivl %ecx
movl %eax, %r14d
movq -0x3f0(%rbp), %rax
movq -0x18(%rax), %rdi
leaq -0x3f0(%rbp), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x2260
movq %rbx, %rdi
leaq 0x1f55(%rip), %rsi      # 0x647d
leaq -0x29(%rbp), %rdx
callq 0x48e0
leaq -0x3e8(%rbp), %rdi
movq %rbx, %rsi
callq 0x21e0
movq %rbx, %rdi
callq 0x20a0
leaq -0x3f0(%rbp), %rdi
leaq 0x1f29(%rip), %rsi      # 0x647f
callq 0x2140
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x8(%rax,%rcx)
cvtsi2sd %r12d, %xmm0
mulsd -0x78(%rbp), %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %rdi
leaq 0x1e32(%rip), %rsi      # 0x63b9
callq 0x2140
cvtsi2sd %r14d, %xmm0
mulsd -0x70(%rbp), %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %rdi
leaq 0x1e11(%rip), %rsi      # 0x63b9
callq 0x2140
cvtsi2sd %r13d, %xmm0
mulsd -0x68(%rbp), %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %rdi
leaq 0x1e12(%rip), %rsi      # 0x63db
callq 0x2140
movq %rbx, %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x2220
leaq -0x278(%rbp), %rdi
movq %rbx, %rsi
callq 0x2120
movq %rbx, %rdi
callq 0x20a0
incl %r15d
jmp 0x44cf
leaq 0x1dd8(%rip), %rsi      # 0x63db
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1e66(%rip), %rsi      # 0x647c
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1e53(%rip), %rsi      # 0x647c
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq 0x1da2(%rip), %rsi      # 0x63de
leaq -0x278(%rbp), %rdi
callq 0x2140
leaq -0x278(%rbp), %rdi
callq 0x21a0
leaq -0x3f0(%rbp), %rdi
callq 0x2040
leaq -0x278(%rbp), %rdi
callq 0x21d0
addq $0x3c8, %rsp            # imm = 0x3C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4697
jmp 0x46a5
jmp 0x4697
jmp 0x46a5
jmp 0x468c
jmp 0x46a5
jmp 0x46a5
movq %rax, %rbx
jmp 0x46b4
jmp 0x46a5
jmp 0x4697
jmp 0x46a5
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x20a0
jmp 0x46a8
movq %rax, %rbx
leaq -0x3f0(%rbp), %rdi
callq 0x2040
leaq -0x278(%rbp), %rdi
callq 0x21d0
movq %rbx, %rdi
callq 0x2290