// File: /workspace/github_cpp_makefile_star2_O1/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 0x6868(%rip), %rsi      # 0xd4e0
callq 0x4270
testl %eax, %eax
je 0x6dce
leaq 0x685c(%rip), %rsi      # 0xd4e8
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6e15
leaq 0x684f(%rip), %rsi      # 0xd4f2
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6e5c
leaq 0x6843(%rip), %rsi      # 0xd4fd
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6ea3
leaq 0x6838(%rip), %rsi      # 0xd509
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6eea
leaq 0x682b(%rip), %rsi      # 0xd513
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6f31
leaq 0x681d(%rip), %rsi      # 0xd51c
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6f75
leaq 0x6812(%rip), %rsi      # 0xd528
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6fc5
leaq 0x6805(%rip), %rsi      # 0xd532
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x6feb
leaq 0x67fb(%rip), %rsi      # 0xd53f
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x7011
leaq 0x67f0(%rip), %rsi      # 0xd54b
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x7037
leaq 0x67e7(%rip), %rsi      # 0xd559
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x7060
leaq 0x6571(%rip), %rsi      # 0xd2fa
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x7089
leaq 0x67c2(%rip), %rsi      # 0xd562
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x70b2
leaq 0x67b1(%rip), %rsi      # 0xd568
movq %rbx, %rdi
callq 0x4270
testl %eax, %eax
je 0x70db
xorl %ebx, %ebx
jmp 0x6fba
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb2a7(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb2f0(%rip), %rax      # 0x12100
jmp 0x6fb7
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb260(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb3c9(%rip), %rax      # 0x12220
jmp 0x6fb7
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb219(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb412(%rip), %rax      # 0x122b0
jmp 0x6fb7
movl $0xe8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xe8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb1d2(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb45b(%rip), %rax      # 0x12340
jmp 0x6fb7
movl $0xd8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb18b(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb4a4(%rip), %rax      # 0x123d0
jmp 0x6fb7
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb144(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb4ed(%rip), %rax      # 0x12460
jmp 0x6fb7
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
leaq 0xb100(%rip), %rax      # 0x12098
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
callq 0x5430
movq %rbx, %rdi
addq $0x58, %rdi
callq 0x5430
leaq 0xb539(%rip), %rax      # 0x124f0
movq %rax, (%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x994e
jmp 0x6fba
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x997a
jmp 0x6fba
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x997a
jmp 0x6fba
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x99a6
jmp 0x6fba
movl $0xc8, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc8, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x99d2
jmp 0x6fba
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 0x99fe
jmp 0x6fba
movl $0xd0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xd0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9a2a
jmp 0x6fba
movl $0xc0, %edi
callq 0x4220
movq %rax, %rbx
movl $0xc0, %edx
movq %rax, %rdi
xorl %esi, %esi
callq 0x4100
movq %rbx, %rdi
callq 0x9a56
jmp 0x6fba
movq %rax, %r14
movl $0xc0, %esi
jmp 0x7150
jmp 0x7148
movq %rax, %r14
movl $0x148, %esi            # imm = 0x148
jmp 0x7150
jmp 0x7126
jmp 0x7126
jmp 0x7126
jmp 0x7126
jmp 0x7126
jmp 0x7126
movq %rax, %r14
movl $0xc8, %esi
jmp 0x7150
movq %rax, %r14
movl $0xd8, %esi
jmp 0x7150
movq %rax, %r14
movl $0xe8, %esi
jmp 0x7150
jmp 0x7148
jmp 0x7148
movq %rax, %r14
movl $0xd0, %esi
movq %rbx, %rdi
callq 0x4230
movq %r14, %rdi
callq 0x4340