// File: DimitriDaSilva[P]42_ft_containers/tester/others/test_is_integral.cpp
// Function: test_is_integral()
void
test_is_integral()
{
	// correct ones
	test_single_is_integral<bool>("bool");
	test_single_is_integral<char>("char");
	test_single_is_integral<wchar_t>("wchar_t");
	test_single_is_integral<signed char>("signed char");
	test_single_is_integral<short int>("short int");
	test_single_is_integral<long int>("long int");
	test_single_is_integral<long long int>("long long int");
	test_single_is_integral<unsigned char>("unsigned char");
	test_single_is_integral<unsigned short int>("unsigned short int");
	test_single_is_integral<unsigned int>("unsigned int");
	test_single_is_integral<unsigned long int>("unsigned long int");
	test_single_is_integral<unsigned long long int>("unsigned long long int");

	// wrong ones
	test_single_is_integral<int *>("int *");
	test_single_is_integral<std::string>("std::string");
	test_single_is_integral<char *>("char *");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
leaq -0x21(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x3370
movq -0x270(%rbp), %rdx
leaq 0x3933(%rip), %rsi      # 0x585bc
leaq -0x20(%rbp), %rdi
callq 0x3290
jmp 0x54c94
leaq -0x20(%rbp), %rdi
callq 0x55470
jmp 0x54c9f
leaq -0x20(%rbp), %rdi
callq 0x3160
leaq -0x21(%rbp), %rdi
callq 0x3230
leaq -0x59(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0x3370
movq -0x278(%rbp), %rdx
leaq 0x3903(%rip), %rsi      # 0x585d2
leaq -0x58(%rbp), %rdi
callq 0x3290
jmp 0x54cda
leaq -0x58(%rbp), %rdi
callq 0x55550
jmp 0x54ce5
leaq -0x58(%rbp), %rdi
callq 0x3160
leaq -0x59(%rbp), %rdi
callq 0x3230
leaq -0x81(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0x3370
movq -0x280(%rbp), %rdx
leaq 0x38a9(%rip), %rsi      # 0x585c1
leaq -0x80(%rbp), %rdi
callq 0x3290
jmp 0x54d23
leaq -0x80(%rbp), %rdi
callq 0x55630
jmp 0x54d2e
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3230
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x3370
movq -0x288(%rbp), %rdx
leaq 0x3867(%rip), %rsi      # 0x585cb
leaq -0xa8(%rbp), %rdi
callq 0x3290
jmp 0x54d72
leaq -0xa8(%rbp), %rdi
callq 0x55710
jmp 0x54d80
leaq -0xa8(%rbp), %rdi
callq 0x3160
leaq -0xa9(%rbp), %rdi
callq 0x3230
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x290(%rbp)
callq 0x3370
movq -0x290(%rbp), %rdx
leaq 0x3827(%rip), %rsi      # 0x585e0
leaq -0xd0(%rbp), %rdi
callq 0x3290
jmp 0x54dc7
leaq -0xd0(%rbp), %rdi
callq 0x557f0
jmp 0x54dd5
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x298(%rbp)
callq 0x3370
movq -0x298(%rbp), %rdx
leaq 0x37f2(%rip), %rsi      # 0x58600
leaq -0xf8(%rbp), %rdi
callq 0x3290
jmp 0x54e1c
leaq -0xf8(%rbp), %rdi
callq 0x558d0
jmp 0x54e2a
leaq -0xf8(%rbp), %rdi
callq 0x3160
leaq -0xf9(%rbp), %rdi
callq 0x3230
leaq -0x121(%rbp), %rdi
movq %rdi, -0x2a0(%rbp)
callq 0x3370
movq -0x2a0(%rbp), %rdx
leaq 0x37af(%rip), %rsi      # 0x58612
leaq -0x120(%rbp), %rdi
callq 0x3290
jmp 0x54e71
leaq -0x120(%rbp), %rdi
callq 0x559b0
jmp 0x54e7f
leaq -0x120(%rbp), %rdi
callq 0x3160
leaq -0x121(%rbp), %rdi
callq 0x3230
leaq -0x149(%rbp), %rdi
movq %rdi, -0x2a8(%rbp)
callq 0x3370
movq -0x2a8(%rbp), %rdx
leaq 0x3711(%rip), %rsi      # 0x585c9
leaq -0x148(%rbp), %rdi
callq 0x3290
jmp 0x54ec6
leaq -0x148(%rbp), %rdi
callq 0x55a90
jmp 0x54ed4
leaq -0x148(%rbp), %rdi
callq 0x3160
leaq -0x149(%rbp), %rdi
callq 0x3230
leaq -0x171(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
callq 0x3370
movq -0x2b0(%rbp), %rdx
leaq 0x36ca(%rip), %rsi      # 0x585d7
leaq -0x170(%rbp), %rdi
callq 0x3290
jmp 0x54f1b
leaq -0x170(%rbp), %rdi
callq 0x55b70
jmp 0x54f29
leaq -0x170(%rbp), %rdi
callq 0x3160
leaq -0x171(%rbp), %rdi
callq 0x3230
leaq -0x199(%rbp), %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x3370
movq -0x2b8(%rbp), %rdx
leaq 0x3688(%rip), %rsi      # 0x585ea
leaq -0x198(%rbp), %rdi
callq 0x3290
jmp 0x54f70
leaq -0x198(%rbp), %rdi
callq 0x55c50
jmp 0x54f7e
leaq -0x198(%rbp), %rdi
callq 0x3160
leaq -0x199(%rbp), %rdi
callq 0x3230
leaq -0x1c1(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x3370
movq -0x2c0(%rbp), %rdx
leaq 0x3640(%rip), %rsi      # 0x585f7
leaq -0x1c0(%rbp), %rdi
callq 0x3290
jmp 0x54fc5
leaq -0x1c0(%rbp), %rdi
callq 0x55d30
jmp 0x54fd3
leaq -0x1c0(%rbp), %rdi
callq 0x3160
leaq -0x1c1(%rbp), %rdi
callq 0x3230
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0x2c8(%rbp)
callq 0x3370
movq -0x2c8(%rbp), %rdx
leaq 0x35fd(%rip), %rsi      # 0x58609
leaq -0x1e8(%rbp), %rdi
callq 0x3290
jmp 0x5501a
leaq -0x1e8(%rbp), %rdi
callq 0x55e10
jmp 0x55028
leaq -0x1e8(%rbp), %rdi
callq 0x3160
leaq -0x1e9(%rbp), %rdi
callq 0x3230
leaq -0x211(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
callq 0x3370
movq -0x2d0(%rbp), %rdx
leaq 0x35bf(%rip), %rsi      # 0x58620
leaq -0x210(%rbp), %rdi
callq 0x3290
jmp 0x5506f
leaq -0x210(%rbp), %rdi
callq 0x55ef0
jmp 0x5507d
leaq -0x210(%rbp), %rdi
callq 0x3160
leaq -0x211(%rbp), %rdi
callq 0x3230
leaq -0x239(%rbp), %rdi
movq %rdi, -0x2d8(%rbp)
callq 0x3370
movq -0x2d8(%rbp), %rdx
leaq 0x3570(%rip), %rsi      # 0x58626
leaq -0x238(%rbp), %rdi
callq 0x3290
jmp 0x550c4
leaq -0x238(%rbp), %rdi
callq 0x55fd0
jmp 0x550d2
leaq -0x238(%rbp), %rdi
callq 0x3160
leaq -0x239(%rbp), %rdi
callq 0x3230
leaq -0x261(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
callq 0x3370
movq -0x2e0(%rbp), %rdx
leaq 0x3527(%rip), %rsi      # 0x58632
leaq -0x260(%rbp), %rdi
callq 0x3290
jmp 0x55119
leaq -0x260(%rbp), %rdi
callq 0x560b0
jmp 0x55127
leaq -0x260(%rbp), %rdi
callq 0x3160
leaq -0x261(%rbp), %rdi
callq 0x3230
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5516b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x3160
leaq -0x21(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5519c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
leaq -0x59(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x551cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x55204
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x3160
leaq -0xa9(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5523b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x55272
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x3160
leaq -0xf9(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x552a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x3160
leaq -0x121(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x552e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x3160
leaq -0x149(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x55317
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x3160
leaq -0x171(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5534e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3160
leaq -0x199(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x55385
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x3160
leaq -0x1c1(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x553bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x3160
leaq -0x1e9(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x553f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x3160
leaq -0x211(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x55427
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x3160
leaq -0x239(%rbp), %rdi
callq 0x3230
jmp 0x55467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5545b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x3160
leaq -0x261(%rbp), %rdi
callq 0x3230
movq -0x30(%rbp), %rdi
callq 0x3360