'Performs XNOR GEMM
C = A * B
Arguments:
A (Tensor): left-hand side operand.
B (Tensor): right-hand side operand.
C (Tensor): output operand'

def xnor_compound_dot(self, A, B, C, beta=0.0, bsum=None):

    assert (A.dtype == B.dtype == C.dtype)
    assert (A.shape[0] == C.shape[0])
    assert (B.shape[1] == C.shape[1])
    assert (A.shape[1] == B.shape[0])
    np.dot(A._tensor, B._tensor, C._tensor)
    if (bsum is not None):
        bsum[:] = self.sum(C, 1)
    return C
