// File: /workspace/github_cpp_makefile_star2_O1/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 0xe619
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe601
movq %r15, 0x140(%rbx)
movq 0x150(%rbx), %r15
movq 0x158(%rbx), %r12
cmpq %r15, %r12
je 0xe647
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe62f
movq %r15, 0x158(%rbx)
movq 0x168(%rbx), %r15
movq 0x170(%rbx), %r12
cmpq %r15, %r12
je 0xe675
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe65d
movq %r15, 0x170(%rbx)
movq 0x180(%rbx), %r15
movq 0x188(%rbx), %r12
cmpq %r15, %r12
je 0xe6a3
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe68b
movq %r15, 0x188(%rbx)
movq 0x198(%rbx), %r15
movq 0x1a0(%rbx), %r12
cmpq %r15, %r12
je 0xe6d1
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe6b9
movq %r15, 0x1a0(%rbx)
movq 0x1b0(%rbx), %r15
movq 0x1b8(%rbx), %r12
cmpq %r15, %r12
je 0xe6ff
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe6e7
movq %r15, 0x1b8(%rbx)
movq 0x1c8(%rbx), %r15
movq 0x1d0(%rbx), %r12
cmpq %r15, %r12
je 0xe72d
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe715
movq %r15, 0x1d0(%rbx)
movq 0x1e0(%rbx), %r15
movq 0x1e8(%rbx), %r12
cmpq %r15, %r12
je 0xe75b
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe743
movq %r15, 0x1e8(%rbx)
movq 0x1f8(%rbx), %rax
cmpq %rax, 0x200(%rbx)
je 0xe772
movq %rax, 0x200(%rbx)
movq 0x90(%rbx), %r15
movq 0x98(%rbx), %r12
cmpq %r15, %r12
je 0xe7a0
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe788
movq %r15, 0x98(%rbx)
movq 0xa8(%rbx), %r15
movq 0xb0(%rbx), %r12
cmpq %r15, %r12
je 0xe7ce
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe7b6
movq %r15, 0xb0(%rbx)
movq 0x218(%rbx), %r15
movq 0x220(%rbx), %r12
cmpq %r15, %r12
je 0xe7fc
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe7e4
movq %r15, 0x220(%rbx)
movq 0x230(%rbx), %r15
movq 0x238(%rbx), %r12
cmpq %r15, %r12
je 0xe82a
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe812
movq %r15, 0x238(%rbx)
movq 0x248(%rbx), %r15
movq 0x250(%rbx), %r12
cmpq %r15, %r12
je 0xe858
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe840
movq %r15, 0x250(%rbx)
movq 0x260(%rbx), %r15
movq 0x268(%rbx), %r12
cmpq %r15, %r12
je 0xe886
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe86e
movq %r15, 0x268(%rbx)
movq 0x278(%rbx), %r15
movq 0x280(%rbx), %r12
cmpq %r15, %r12
je 0xe8b4
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe89c
movq %r15, 0x280(%rbx)
movq 0x290(%rbx), %r15
movq 0x298(%rbx), %r12
cmpq %r15, %r12
je 0xe8e2
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe8ca
movq %r15, 0x298(%rbx)
movq 0x2a8(%rbx), %r15
movq 0x2b0(%rbx), %r12
cmpq %r15, %r12
je 0xe910
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe8f8
movq %r15, 0x2b0(%rbx)
movq 0x2c0(%rbx), %r15
movq 0x2c8(%rbx), %r12
cmpq %r15, %r12
je 0xe93e
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe926
movq %r15, 0x2c8(%rbx)
movq 0x2d8(%rbx), %r15
movq 0x2e0(%rbx), %r12
cmpq %r15, %r12
je 0xe96c
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe954
movq %r15, 0x2e0(%rbx)
movq 0x2f0(%rbx), %r15
movq 0x2f8(%rbx), %r12
cmpq %r15, %r12
je 0xe99a
movq %r15, %r14
movq %r14, %rdi
callq 0x136aa
addq $0x18, %r14
cmpq %r12, %r14
jne 0xe982
movq %r15, 0x2f8(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq