(self, A, B, C, beta=0.0, bsum=None)
return C
Performs XNOR GEMM
        C = A * B

        Arguments:
            A (Tensor): left-hand side operand.
            B (Tensor): right-hand side operand.
            C (Tensor): output operand
Performs XNOR GEMM
        C = A * B
Performs XNOR GEMM C = A * B
def xnor_compound_dot(self, A, B, C, beta=0.0, bsum=None):
        """
        Performs XNOR GEMM
        C = A * B

        Arguments:
            A (Tensor): left-hand side operand.
            B (Tensor): right-hand side operand.
            C (Tensor): output operand
        """

        # checking type and shape
        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
def xnor_compound_dot ( self , A , B , C , beta = 0.0 , bsum = None ) : # checking type and shape 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