nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java
@Override
    public void hemm(char Order, char Side, char Uplo, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {

        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zhemm(Order, Side, Uplo, (int) B.rows(), (int) B.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            chemm(Order, Side, Uplo, (int) B.rows(), (int) B.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));
    }
@Override
    public void hemm(char Order, char Side, char Uplo, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {

        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zhemm(Order, Side, Uplo, (int) B.rows(), (int) B.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            chemm(Order, Side, Uplo, (int) B.rows(), (int) B.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));
    }
@ Override public void hemm ( char Order , char Side , char Uplo , IComplexNumber alpha , IComplexNDArray A , IComplexNDArray B , IComplexNumber beta , IComplexNDArray C ) { // FIXME: int cast if ( A . data ( ) . dataType ( ) == DataBuffer . Type . DOUBLE ) zhemm ( Order , Side , Uplo , ( int ) B . rows ( ) , ( int ) B . columns ( ) , alpha . asDouble ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , beta . asDouble ( ) , C , ( int ) C . size ( 0 ) ) ; else chemm ( Order , Side , Uplo , ( int ) B . rows ( ) , ( int ) B . columns ( ) , alpha . asFloat ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , beta . asFloat ( ) , C , ( int ) C . size ( 0 ) ) ; }
hemm performs one of the following matrix-matrix operations:
c := alpha*a*b + beta*c  for side = 'L'or'l'
c := alpha*b*a + beta*c  for side = 'R'or'r',
where a is a Hermitian matrix,
b and c are m-by-n matrices.
@param Order
@param Side
@param Uplo
@param alpha
@param A
@param B
@param beta
@param C
hemm performs one of the following matrix - matrix operations : c : = alpha * a * b + beta * c for side = L or l c : = alpha * b * a + beta * c for side = R or r where a is a Hermitian matrix b and c are m - by - n matrices .