// File: /workspace/github_cpp_makefile_star2_O2/jswaff[P]prophet3/test/move__test.cpp
// Function: test_set_capture()
void test_set_capture() {
    move mv = to_move(BISHOP,F3,C6);
    assert(get_piece(mv)==BISHOP);
    assert(get_from_sq(mv)==F3);
    assert(get_to_sq(mv)==C6);
    assert(!is_epcapture(mv));
    assert(!is_capture(mv));
    assert(get_captured_piece(mv)==NO_PIECE);
    assert(!is_castle(mv));
    assert(get_promopiece(mv)==NO_PIECE);

    set_capture(&mv,PAWN);
    assert(get_piece(mv)==BISHOP);
    assert(get_from_sq(mv)==F3);
    assert(get_to_sq(mv)==C6);
    assert(!is_epcapture(mv));
    assert(is_capture(mv));
    assert(get_captured_piece(mv)==PAWN);
    assert(!is_castle(mv));
    assert(get_promopiece(mv)==NO_PIECE);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
pushq $0x3
popq %rdi
pushq $0x2d
popq %rsi
pushq $0x12
popq %rdx
callq 0x7284
movq %rax, %rbx
movq %rax, 0x8(%rsp)
movq %rax, %rdi
callq 0x737c
cmpl $0x3, %eax
jne 0x17e96
movq %rbx, %rdi
callq 0x736b
cmpl $0x2d, %eax
jne 0x17eb2
movq %rbx, %rdi
callq 0x7372
cmpl $0x12, %eax
jne 0x17ece
movq %rbx, %rdi
callq 0x73a4
testb %al, %al
jne 0x17eea
movq %rbx, %rdi
callq 0x739a
testb %al, %al
jne 0x17f06
movq %rbx, %rdi
callq 0x7390
testl %eax, %eax
jne 0x17f22
movq %rbx, %rdi
callq 0x73ae
testb %al, %al
jne 0x17f3e
movq %rbx, %rdi
callq 0x7386
testl %eax, %eax
jne 0x17f5a
leaq 0x8(%rsp), %rbx
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x72df
movq (%rbx), %rdi
callq 0x737c
cmpl $0x3, %eax
jne 0x17f76
movq 0x8(%rsp), %rdi
callq 0x736b
cmpl $0x2d, %eax
jne 0x17f92
movq 0x8(%rsp), %rdi
callq 0x7372
cmpl $0x12, %eax
jne 0x17fae
movq 0x8(%rsp), %rdi
callq 0x73a4
testb %al, %al
jne 0x17fc7
movq 0x8(%rsp), %rdi
callq 0x739a
testb %al, %al
je 0x17fe0
movq 0x8(%rsp), %rdi
callq 0x7390
cmpl $0x1, %eax
jne 0x17ff9
movq 0x8(%rsp), %rdi
callq 0x73ae
testb %al, %al
jne 0x18012
movq 0x8(%rsp), %rdi
callq 0x7386
testl %eax, %eax
jne 0x1802b
addq $0x10, %rsp
popq %rbx
retq
leaq 0x18d7e(%rip), %rdi     # 0x30c1b
leaq 0x18c1f(%rip), %rsi     # 0x30ac3
leaq 0x18d86(%rip), %rcx     # 0x30c31
pushq $0x4b
jmp 0x18042
leaq 0x18d90(%rip), %rdi     # 0x30c49
leaq 0x18c03(%rip), %rsi     # 0x30ac3
leaq 0x18d6a(%rip), %rcx     # 0x30c31
pushq $0x4c
jmp 0x18042
leaq 0x18d88(%rip), %rdi     # 0x30c5d
leaq 0x18be7(%rip), %rsi     # 0x30ac3
leaq 0x18d4e(%rip), %rcx     # 0x30c31
pushq $0x4d
jmp 0x18042
leaq 0x18c20(%rip), %rdi     # 0x30b11
leaq 0x18bcb(%rip), %rsi     # 0x30ac3
leaq 0x18d32(%rip), %rcx     # 0x30c31
pushq $0x4e
jmp 0x18042
leaq 0x18c16(%rip), %rdi     # 0x30b23
leaq 0x18baf(%rip), %rsi     # 0x30ac3
leaq 0x18d16(%rip), %rcx     # 0x30c31
pushq $0x4f
jmp 0x18042
leaq 0x18d46(%rip), %rdi     # 0x30c6f
leaq 0x18b93(%rip), %rsi     # 0x30ac3
leaq 0x18cfa(%rip), %rcx     # 0x30c31
pushq $0x50
jmp 0x18042
leaq 0x18bee(%rip), %rdi     # 0x30b33
leaq 0x18b77(%rip), %rsi     # 0x30ac3
leaq 0x18cde(%rip), %rcx     # 0x30c31
pushq $0x51
jmp 0x18042
leaq 0x18be1(%rip), %rdi     # 0x30b42
leaq 0x18b5b(%rip), %rsi     # 0x30ac3
leaq 0x18cc2(%rip), %rcx     # 0x30c31
pushq $0x52
jmp 0x18042
leaq 0x18c9e(%rip), %rdi     # 0x30c1b
leaq 0x18b3f(%rip), %rsi     # 0x30ac3
leaq 0x18ca6(%rip), %rcx     # 0x30c31
pushq $0x55
jmp 0x18042
leaq 0x18cb0(%rip), %rdi     # 0x30c49
leaq 0x18b23(%rip), %rsi     # 0x30ac3
leaq 0x18c8a(%rip), %rcx     # 0x30c31
pushq $0x56
jmp 0x18042
leaq 0x18ca8(%rip), %rdi     # 0x30c5d
leaq 0x18b07(%rip), %rsi     # 0x30ac3
leaq 0x18c6e(%rip), %rcx     # 0x30c31
pushq $0x57
jmp 0x18042
leaq 0x18b43(%rip), %rdi     # 0x30b11
leaq 0x18aee(%rip), %rsi     # 0x30ac3
leaq 0x18c55(%rip), %rcx     # 0x30c31
pushq $0x58
jmp 0x18042
leaq 0x18b3d(%rip), %rdi     # 0x30b24
leaq 0x18ad5(%rip), %rsi     # 0x30ac3
leaq 0x18c3c(%rip), %rcx     # 0x30c31
pushq $0x59
jmp 0x18042
leaq 0x18c90(%rip), %rdi     # 0x30c90
leaq 0x18abc(%rip), %rsi     # 0x30ac3
leaq 0x18c23(%rip), %rcx     # 0x30c31
pushq $0x5a
jmp 0x18042
leaq 0x18b1a(%rip), %rdi     # 0x30b33
leaq 0x18aa3(%rip), %rsi     # 0x30ac3
leaq 0x18c0a(%rip), %rcx     # 0x30c31
pushq $0x5b
jmp 0x18042
leaq 0x18b10(%rip), %rdi     # 0x30b42
leaq 0x18a8a(%rip), %rsi     # 0x30ac3
leaq 0x18bf1(%rip), %rcx     # 0x30c31
pushq $0x5c
popq %rdx
callq 0x20c0