// File: /workspace/github_cpp_makefile_star2_O3/xbai0624[P]dnn/src/ConstructLayer.cpp
// Function: ConstructLayer::ClearImage()
void ConstructLayer::ClearImage()
{
    // members in this routine needs to be cleared for each batch
    // because contents are different for each batch
    // and to avoid memory leak

    __imageA.clear();
    __imageZ.clear();
    __imageSigmaPrime.clear();
    __imageDelta.clear();

    __imageAFull.clear();
    __imageZFull.clear();
    __imageSigmaPrimeFull.clear();
    __imageDeltaFull.clear();

    __outputLayerCost.clear();

    __wGradient.clear();
    __bGradient.clear();

    // batch normalization
    __imageZ_BN.clear();
    __imageZFull_BN.clear();
    __imageY_BN.clear();
    __imageYFull_BN.clear();
    __imageAverage_BN.clear();
    __imageAverageFull_BN.clear();
    __imageVariance_BN.clear();
    __imageVarianceFull_BN.clear();
    __imageDelta_BN.clear();
    __imageDeltaFull_BN.clear();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x138(%rdi), %r15
movq 0x140(%rdi), %r12
cmpq %r15, %r12
je 0xe581
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe569
movq %r15, 0x140(%rbx)
movq 0x150(%rbx), %r15
movq 0x158(%rbx), %r12
cmpq %r15, %r12
je 0xe5af
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe597
movq %r15, 0x158(%rbx)
movq 0x168(%rbx), %r15
movq 0x170(%rbx), %r12
cmpq %r15, %r12
je 0xe5dd
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe5c5
movq %r15, 0x170(%rbx)
movq 0x180(%rbx), %r15
movq 0x188(%rbx), %r12
cmpq %r15, %r12
je 0xe60b
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe5f3
movq %r15, 0x188(%rbx)
movq 0x198(%rbx), %r15
movq 0x1a0(%rbx), %r12
cmpq %r15, %r12
je 0xe639
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe621
movq %r15, 0x1a0(%rbx)
movq 0x1b0(%rbx), %r15
movq 0x1b8(%rbx), %r12
cmpq %r15, %r12
je 0xe667
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe64f
movq %r15, 0x1b8(%rbx)
movq 0x1c8(%rbx), %r15
movq 0x1d0(%rbx), %r12
cmpq %r15, %r12
je 0xe695
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe67d
movq %r15, 0x1d0(%rbx)
movq 0x1e0(%rbx), %r15
movq 0x1e8(%rbx), %r12
cmpq %r15, %r12
je 0xe6c3
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe6ab
movq %r15, 0x1e8(%rbx)
movq 0x1f8(%rbx), %rax
cmpq %rax, 0x200(%rbx)
je 0xe6da
movq %rax, 0x200(%rbx)
movq 0x90(%rbx), %r15
movq 0x98(%rbx), %r12
cmpq %r15, %r12
je 0xe708
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe6f0
movq %r15, 0x98(%rbx)
movq 0xa8(%rbx), %r15
movq 0xb0(%rbx), %r12
cmpq %r15, %r12
je 0xe736
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe71e
movq %r15, 0xb0(%rbx)
movq 0x218(%rbx), %r15
movq 0x220(%rbx), %r12
cmpq %r15, %r12
je 0xe764
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe74c
movq %r15, 0x220(%rbx)
movq 0x230(%rbx), %r15
movq 0x238(%rbx), %r12
cmpq %r15, %r12
je 0xe792
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe77a
movq %r15, 0x238(%rbx)
movq 0x248(%rbx), %r15
movq 0x250(%rbx), %r12
cmpq %r15, %r12
je 0xe7c0
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe7a8
movq %r15, 0x250(%rbx)
movq 0x260(%rbx), %r15
movq 0x268(%rbx), %r12
cmpq %r15, %r12
je 0xe7ee
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe7d6
movq %r15, 0x268(%rbx)
movq 0x278(%rbx), %r15
movq 0x280(%rbx), %r12
cmpq %r15, %r12
je 0xe81c
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe804
movq %r15, 0x280(%rbx)
movq 0x290(%rbx), %r15
movq 0x298(%rbx), %r12
cmpq %r15, %r12
je 0xe84a
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe832
movq %r15, 0x298(%rbx)
movq 0x2a8(%rbx), %r15
movq 0x2b0(%rbx), %r12
cmpq %r15, %r12
je 0xe878
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe860
movq %r15, 0x2b0(%rbx)
movq 0x2c0(%rbx), %r15
movq 0x2c8(%rbx), %r12
cmpq %r15, %r12
je 0xe8a6
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe88e
movq %r15, 0x2c8(%rbx)
movq 0x2d8(%rbx), %r15
movq 0x2e0(%rbx), %r12
cmpq %r15, %r12
je 0xe8d4
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe8bc
movq %r15, 0x2e0(%rbx)
movq 0x2f0(%rbx), %r15
movq 0x2f8(%rbx), %r12
cmpq %r15, %r12
je 0xe902
movq %r15, %r14
movq %r14, %rdi
callq 0x1353a
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe8ea
movq %r15, 0x2f8(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq