// File: /workspace/github_cpp_makefile_star2_O3/zgimbutas[P]mwrap/src/mwrap-cgen.cc
// Function: mex_define_copiers(_IO_FILE*, char const*)
void mex_define_copiers(FILE* fp, const char* name)
{
  /* Skip C99 int32_t, int64_t, uint32_t, uint64_t, if not detected */
  if( (strcmp(name, "int32_t") == 0 ) && ( mw_use_int32_t == 0 ) ) return;
  if( (strcmp(name, "int64_t") == 0 ) && ( mw_use_int64_t == 0 ) ) return;
  if( (strcmp(name, "uint32_t") == 0 ) && ( mw_use_uint32_t == 0 ) ) return;
  if( (strcmp(name, "uint64_t") == 0 ) && ( mw_use_uint64_t == 0 ) ) return;

  if( (strcmp(name, "ulong") == 0 ) && ( mw_use_ulong == 0 ) ) return;
  if( (strcmp(name, "uint") == 0 ) && ( mw_use_uint == 0 ) ) return;
  if( (strcmp(name, "ushort") == 0 ) && ( mw_use_ushort == 0 ) ) return;
  if( (strcmp(name, "uchar") == 0 ) && ( mw_use_uchar == 0 ) ) return;

  /* Define copiers */
  fprintf(fp, "mxWrapGetArrayDef(mxWrapGetArray_%s, %s)\n", name, name);
  fprintf(fp, "mxWrapCopyDef    (mxWrapCopy_%s,     %s)\n", name, name);
  fprintf(fp, "mxWrapReturnDef  (mxWrapReturn_%s,   %s)\n", name, name);

  /* Single precision */
  fprintf(fp, "mxWrapGetArrayDef_single(mxWrapGetArray_single_%s, %s)\n", name, name);
  fprintf(fp, "mxWrapCopyDef_single    (mxWrapCopy_single_%s,     %s)\n", name, name);
  fprintf(fp, "mxWrapReturnDef_single  (mxWrapReturn_single_%s,   %s)\n", name, name);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x5a57(%rip), %rsi      # 0xdace
movq %rbx, %rdi
callq 0x3260
leaq 0x141b2(%rip), %rcx     # 0x1c238
orl (%rcx), %eax
je 0x814c
leaq 0x5a42(%rip), %rsi      # 0xdad7
movq %rbx, %rdi
callq 0x3260
leaq 0x14198(%rip), %rcx     # 0x1c23c
orl (%rcx), %eax
je 0x814c
leaq 0x5a1a(%rip), %rsi      # 0xdacd
movq %rbx, %rdi
callq 0x3260
leaq 0x1417e(%rip), %rcx     # 0x1c240
orl (%rcx), %eax
je 0x814c
leaq 0x5a05(%rip), %rsi      # 0xdad6
movq %rbx, %rdi
callq 0x3260
leaq 0x14164(%rip), %rcx     # 0x1c244
orl (%rcx), %eax
je 0x814c
leaq 0x59ca(%rip), %rsi      # 0xdab5
movq %rbx, %rdi
callq 0x3260
leaq 0x1414e(%rip), %rcx     # 0x1c248
orl (%rcx), %eax
je 0x814c
leaq 0x59b6(%rip), %rsi      # 0xdabb
movq %rbx, %rdi
callq 0x3260
leaq 0x14138(%rip), %rcx     # 0x1c24c
orl (%rcx), %eax
je 0x814c
leaq 0x59a1(%rip), %rsi      # 0xdac0
movq %rbx, %rdi
callq 0x3260
leaq 0x14122(%rip), %rcx     # 0x1c250
orl (%rcx), %eax
je 0x814c
leaq 0x598e(%rip), %rsi      # 0xdac7
movq %rbx, %rdi
callq 0x3260
leaq 0x1410c(%rip), %rcx     # 0x1c254
orl (%rcx), %eax
jne 0x8151
popq %rbx
popq %r14
popq %rbp
retq
leaq 0xbd2c(%rip), %rsi      # 0x13e84
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd3f(%rip), %rsi      # 0x13eae
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd52(%rip), %rsi      # 0x13ed8
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd65(%rip), %rsi      # 0x13f02
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd86(%rip), %rsi      # 0x13f3a
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbda7(%rip), %rsi      # 0x13f72
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
jmp 0x3270