// File: /workspace/github_cpp_makefile_star2_O2/matthewarcus[P]mmps/transform.cpp
// Function: Transform::GetTransform(char const*)
Transform* Transform::GetTransform(const char *type)
{
 Transform* transform = NULL;
  if (strcmp(type, "latlong") == 0) {
    transform = new LatLong();
  } else if (strcmp(type, "equalarea") == 0) {
    transform = new EqualArea();
  } else if (strcmp(type, "sinusoidal") == 0) {
    transform = new Sinusoidal();
  } else if (strcmp(type, "sinusoidal2") == 0) {
    transform = new Sinusoidal2();
  } else if (strcmp(type, "mollweide") == 0) {
    transform = new Mollweide();
  } else if (strcmp(type, "mercator") == 0) {
    transform = new Mercator();
  } else if (strcmp(type, "cylindrical") == 0) {
    transform = new Cylindrical();
  } else if (strcmp(type, "azimuthal") == 0) {
    transform = new Azimuthal();
  } else if (strcmp(type, "orthographic") == 0) {
    transform = new Rectilinear();
  } else if (strcmp(type, "rectilinear") == 0) {
    transform = new Rectilinear();
  } else if (strcmp(type, "stereographic") == 0) {
    transform = new Stereographic();
  } else if (strcmp(type, "gnomonic") == 0) {
    transform = new Gnomonic();
  } else if (strcmp(type, "perspective") == 0) {
    transform = new Perspective();
  } else if (strcmp(type, "bonne") == 0) {
    transform = new Bonne();
  } else if (strcmp(type, "hammer") == 0) {
    transform = new Hammer();
  }
  return transform;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x5d6c(%rip), %rsi      # 0xc508
callq 0x4290
testl %eax, %eax
je 0x68f2
leaq 0x5d60(%rip), %rsi      # 0xc510
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x691b
leaq 0x5d53(%rip), %rsi      # 0xc51a
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6944
leaq 0x5d47(%rip), %rsi      # 0xc525
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x696d
leaq 0x5d3c(%rip), %rsi      # 0xc531
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6996
leaq 0x5d2f(%rip), %rsi      # 0xc53b
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x69bf
leaq 0x5d21(%rip), %rsi      # 0xc544
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x69e8
leaq 0x5d16(%rip), %rsi      # 0xc550
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6a11
leaq 0x5d09(%rip), %rsi      # 0xc55a
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6a3a
leaq 0x5cff(%rip), %rsi      # 0xc567
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6a63
leaq 0x5cf4(%rip), %rsi      # 0xc573
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6a8c
leaq 0x5ceb(%rip), %rsi      # 0xc581
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6ab5
leaq 0x5a4d(%rip), %rsi      # 0xc2fa
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6adb
leaq 0x5cc6(%rip), %rsi      # 0xc58a
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6b01
leaq 0x5cb5(%rip), %rsi      # 0xc590
movq %rbx, %rdi
callq 0x4290
testl %eax, %eax
je 0x6b27
xorl %ebx, %ebx
jmp 0x6b4b
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x920a
jmp 0x6b4b
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9220
jmp 0x6b4b
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9236
jmp 0x6b4b
movl $0xe8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xe8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x924c
jmp 0x6b4b
movl $0xd8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9262
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9278
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x928e
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92a4
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92ba
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92ba
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92d0
jmp 0x6b4b
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92e6
jmp 0x6b4b
movl $0x148, %edi            # imm = 0x148
callq 0x4220
movq %rax, %rbx
movl $0x148, %edx            # imm = 0x148
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x92fc
jmp 0x6b4b
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9312
jmp 0x6b4b
movl $0xc0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9328
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movl $0xc0, %esi
jmp 0x6ba2
jmp 0x6b9a
movq %rax, %r14
movl $0x148, %esi            # imm = 0x148
jmp 0x6ba2
jmp 0x6b78
jmp 0x6b78
jmp 0x6b78
jmp 0x6b78
jmp 0x6b78
jmp 0x6b78
movq %rax, %r14
movl $0xc8, %esi
jmp 0x6ba2
movq %rax, %r14
movl $0xd8, %esi
jmp 0x6ba2
movq %rax, %r14
movl $0xe8, %esi
jmp 0x6ba2
jmp 0x6b9a
jmp 0x6b9a
movq %rax, %r14
movl $0xd0, %esi
movq %rbx, %rdi
callq 0x4230
movq %r14, %rdi
callq 0x4360