// File: /workspace/github_cpp_makefile_star2_O2/npaster[P]gmsh_tools/gmshData.cpp
// Function: gmsh::NodeData::writeNodeData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
void
NodeData::writeNodeData(const std::string name_mesh) const
{
   std::ofstream mesh_file;
   mesh_file.open(name_mesh, std::ofstream::out | std::ofstream::app);
   if (!mesh_file.is_open()) {
      std::cout << "Unable to open file " << name_mesh << std::endl;
      abort();
   } else {
      std::cout << "------------------------" << std::endl;
      std::cout << "Writing Results " << name_mesh << std::endl;
      std::cout << "MSH ASCII file format" << std::endl;
      std::cout << "------------------------" << std::endl;
   }

   mesh_file << "$NodeData" << std::endl;
   mesh_file << 1 << std::endl; // string tag

   mesh_file << "\" " << m_title << "\" " << std::endl; // name of the view
   mesh_file << 1 << std::endl;                         // real tag
   mesh_file << m_time_value << std::endl;              // time value
   mesh_file << 3 << std::endl;                         // integer tag
   mesh_file << 0 << std::endl;                         // time Step

   mesh_file << m_composante << std::endl;
   mesh_file << m_datas.size() + m_subdatas.size() << std::endl;

   for (size_t i = 0; i < m_datas.size(); i++) {
      mesh_file << m_datas[i].getIndex() << " ";

      std::vector<double> tmpresu(m_datas[i].getData());
      for (size_t j = 0; j < std::min(m_composante, tmpresu.size()); j++) {
         mesh_file << tmpresu[j] << " ";
      }
      for (size_t j = std::min(m_composante, tmpresu.size()); j < m_composante; j++) {
         mesh_file << 0.0 << " ";
      }

      mesh_file << std::endl;
   }

   for (size_t i = 0; i < m_subdatas.size(); i++) {
      mesh_file << m_subdatas[i].getIndex() << " ";

      std::vector<double> tmpresu(m_subdatas[i].getData());
      for (size_t j = 0; j < std::min(m_composante, tmpresu.size()); j++) {
         mesh_file << tmpresu[j] << " ";
      }
      for (size_t j = std::min(m_composante, tmpresu.size()); j < m_composante; j++) {
         mesh_file << 0.0 << " ";
      }

      mesh_file << std::endl;
   }

   mesh_file << "$EndNodeData" << std::endl;
   mesh_file.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x248(%rbp), %r15
movq %r15, %rdi
callq 0x2280
pushq $0x11
popq %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x20e0
leaq -0x1d8(%rbp), %rdi
callq 0x2050
testb %al, %al
je 0xacdf
movq 0x9678(%rip), %rdi      # 0x13fd8
leaq 0x2704(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x965d(%rip), %rdi      # 0x13fd8
leaq 0x33df(%rip), %rsi      # 0xdd61
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
movq 0x9637(%rip), %rdi      # 0x13fd8
leaq 0x30cd(%rip), %rsi      # 0xda75
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x961c(%rip), %rdi      # 0x13fd8
leaq 0x26a8(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq 0x339b(%rip), %rsi      # 0xdd72
leaq -0x248(%rbp), %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x1
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
leaq 0x3355(%rip), %rsi      # 0xdd5e
leaq -0x248(%rbp), %rdi
callq 0x21c0
leaq 0x10(%rbx), %rsi
movq %rax, %rdi
callq 0x21a0
leaq 0x3336(%rip), %rsi      # 0xdd5e
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x1
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
movsd 0x8(%rbx), %xmm0
leaq -0x248(%rbp), %rdi
callq 0x2250
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x3
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
xorl %esi, %esi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
movq (%rbx), %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %rdi
callq 0x20f0
movq 0x38(%rbx), %rsi
movq 0x50(%rbx), %rax
subq 0x30(%rbx), %rsi
sarq $0x5, %rsi
subq 0x48(%rbx), %rax
pushq $0x48
popq %rcx
cqto
idivq %rcx
addq %rax, %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %rdi
callq 0x20f0
xorl %r13d, %r13d
leaq -0x248(%rbp), %r14
leaq 0x325c(%rip), %r15      # 0xdd4c
movq 0x30(%rbx), %rax
movq 0x38(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rcx, %r13
jae 0xabbc
movq %r13, %r12
shlq $0x5, %r12
movq (%rax,%r12), %rsi
movq %r14, %rdi
callq 0x2170
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %r13, -0x30(%rbp)
movq 0x30(%rbx), %rax
leaq (%rax,%r12), %rsi
addq $0x8, %rsi
leaq -0x48(%rbp), %rdi
callq 0xb668
xorl %r13d, %r13d
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jae 0xab9a
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r13
jmp 0xab42
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
jb 0xab7e
movq %r14, %rdi
callq 0x20f0
leaq -0x48(%rbp), %rdi
callq 0xbbec
movq -0x30(%rbp), %r13
incq %r13
jmp 0xaaf0
xorl %r13d, %r13d
leaq -0x248(%rbp), %r14
leaq 0x317f(%rip), %r15      # 0xdd4c
movq 0x48(%rbx), %rcx
movq 0x50(%rbx), %rax
subq %rcx, %rax
cqto
pushq $0x48
popq %rsi
idivq %rsi
cmpq %rax, %r13
jae 0xac9a
imulq $0x48, %r13, %r12
movq (%rcx,%r12), %rsi
movq %r14, %rdi
callq 0x2170
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %r13, -0x30(%rbp)
movq 0x48(%rbx), %rax
leaq (%rax,%r12), %rsi
addq $0x8, %rsi
leaq -0x48(%rbp), %rdi
callq 0xb668
xorl %r13d, %r13d
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jae 0xac78
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r13
jmp 0xac20
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
jb 0xac5c
movq %r14, %rdi
callq 0x20f0
leaq -0x48(%rbp), %rdi
callq 0xbbec
movq -0x30(%rbp), %r13
incq %r13
jmp 0xabcd
leaq 0x30db(%rip), %rsi      # 0xdd7c
leaq -0x248(%rbp), %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
callq 0x2200
leaq -0x248(%rbp), %rdi
callq 0x2220
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x92f2(%rip), %rdi      # 0x13fd8
leaq 0x29af(%rip), %rsi      # 0xd69c
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
callq 0x2140
jmp 0xad21
jmp 0xad16
jmp 0xad21
jmp 0xad16
jmp 0xad16
jmp 0xad16
movq %rax, %rbx
jmp 0xad2d
jmp 0xad21
jmp 0xad21
jmp 0xad21
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0xbbec
leaq -0x248(%rbp), %rdi
callq 0x2220
movq %rbx, %rdi
callq 0x22a0
nop