// File: /workspace/github_cpp_makefile_star2_O3/npaster[P]gmsh_tools/gmshData.cpp
// Function: gmsh::ElementData::writeElementData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
void
ElementData::writeElementData(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 << "$ElementData" << 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() << 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;
   }

   mesh_file << "$EndElementData" << 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 0x22c0
movq %r15, %rdi
movq %r14, %rsi
movl $0x11, %edx
callq 0x20e0
leaq -0x1d8(%rbp), %rdi
callq 0x2050
testb %al, %al
je 0xe0c4
movq 0x945e(%rip), %r15      # 0x16fd8
leaq 0x34ea(%rip), %rsi      # 0x1106b
movl $0x18, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x942c(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x9418(%rip), %rdi      # 0x16fd8
leaq 0x41c4(%rip), %rsi      # 0x11d8b
movl $0x10, %edx
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x93f9(%rip), %rdi      # 0x16fd8
callq 0x2230
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x93c3(%rip), %r14      # 0x16fd8
leaq 0x3e59(%rip), %rsi      # 0x11a75
movl $0x15, %edx
movq %r14, %rdi
callq 0x2230
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x9391(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x937d(%rip), %r14      # 0x16fd8
leaq 0x3409(%rip), %rsi      # 0x1106b
movl $0x18, %edx
movq %r14, %rdi
callq 0x2230
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x934b(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq 0x4112(%rip), %rsi      # 0x11db3
leaq -0x248(%rbp), %r14
movl $0xc, %edx
movq %r14, %rdi
callq 0x2230
movq -0x248(%rbp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
leaq -0x248(%rbp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq 0x4062(%rip), %rsi      # 0x11d88
leaq -0x248(%rbp), %rdi
movl $0x2, %edx
callq 0x2230
movq 0x10(%rbx), %rsi
movq 0x18(%rbx), %rdx
leaq -0x248(%rbp), %rdi
callq 0x2230
movq %rax, %r14
leaq 0x4033(%rip), %rsi      # 0x11d88
movl $0x2, %edx
movq %rax, %rdi
callq 0x2230
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movsd 0x8(%rbx), %xmm0
leaq -0x248(%rbp), %rdi
callq 0x2290
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x3, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
xorl %esi, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq (%rbx), %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x38(%rbx), %rsi
subq 0x30(%rbx), %rsi
sarq $0x5, %rsi
leaq -0x248(%rbp), %r14
movq %r14, %rdi
callq 0x2170
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x30(%rbx), %rax
cmpq %rax, 0x38(%rbx)
je 0xe026
xorl %r12d, %r12d
leaq 0x3e6e(%rip), %r15      # 0x11d76
movq %r12, -0x48(%rbp)
shlq $0x5, %r12
movq (%rax,%r12), %rsi
movq %r14, %rdi
callq 0x2170
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq 0x30(%rbx), %rax
leaq (%rax,%r12), %rsi
addq $0x8, %rsi
leaq -0x40(%rbp), %rdi
callq 0xe8be
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movq (%rbx), %rcx
cmpq %rcx, %rdx
cmovaeq %rcx, %rdx
testq %rdx, %rdx
je 0xdfa3
xorl %r13d, %r13d
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r13
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jb 0xdf62
jmp 0xdfa6
xorl %r12d, %r12d
cmpq %rcx, %r12
jae 0xdfce
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r12
cmpq (%rbx), %r12
jb 0xdfab
movq -0x248(%rbp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0xe007
callq 0x21e0
movq -0x48(%rbp), %r12
incq %r12
movq 0x30(%rbx), %rax
movq 0x38(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rcx, %r12
jb 0xdf08
leaq 0x3d93(%rip), %rsi      # 0x11dc0
leaq -0x248(%rbp), %rbx
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2230
movq -0x248(%rbp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
leaq -0x248(%rbp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
callq 0x2240
movq 0x8f4d(%rip), %rax      # 0x16fd0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x240(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x248(%rbp,%rcx)
callq 0x21c0
leaq -0x150(%rbp), %rdi
callq 0x20a0
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8f0d(%rip), %rdi      # 0x16fd8
leaq 0x35ca(%rip), %rsi      # 0x1169c
movl $0x14, %edx
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x8eee(%rip), %rdi      # 0x16fd8
callq 0x2230
movq %rax, %rdi
callq 0x20f0
callq 0x2140
jmp 0xe102
jmp 0xe102
jmp 0xe109
movq %rax, %rbx
jmp 0xe11a
jmp 0xe109
movq %rax, %rbx
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0xe11a
callq 0x21e0
leaq -0x248(%rbp), %rdi
callq 0x2260
movq %rbx, %rdi
callq 0x22f0