nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java
@Override
    public void trmm(char Order, char Side, char Uplo, char TransA, char Diag, IComplexNumber alpha, IComplexNDArray A,
                    IComplexNDArray B, IComplexNDArray C) {
        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            ztrmm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), C, (int) C.size(0));
        else
            ctrmm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), C, (int) C.size(0));

    }
@Override
    public void trmm(char Order, char Side, char Uplo, char TransA, char Diag, IComplexNumber alpha, IComplexNDArray A,
                    IComplexNDArray B, IComplexNDArray C) {
        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            ztrmm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), C, (int) C.size(0));
        else
            ctrmm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), C, (int) C.size(0));

    }
@ Override public void trmm ( char Order , char Side , char Uplo , char TransA , char Diag , IComplexNumber alpha , IComplexNDArray A , IComplexNDArray B , IComplexNDArray C ) { // FIXME: int cast if ( A . data ( ) . dataType ( ) == DataBuffer . Type . DOUBLE ) ztrmm ( Order , Side , Uplo , TransA , Diag , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asDouble ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , C , ( int ) C . size ( 0 ) ) ; else ctrmm ( Order , Side , Uplo , TransA , Diag , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asFloat ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , C , ( int ) C . size ( 0 ) ) ; }
syr2k performs a rank-2k update of an n-by-n symmetric matrix c, that is, one of the following operations:
c := alpha*a*b' + alpha*b*a' + beta*c  for trans = 'N'or'n'
c := alpha*a'*b + alpha*b'*a + beta*c  for trans = 'T'or't',
where c is an n-by-n symmetric matrix;
a and b are n-by-k matrices, if trans = 'N'or'n',
a and b are k-by-n matrices, if trans = 'T'or't'.
@param Order
@param Side
@param Uplo
@param TransA
@param Diag
@param alpha
@param A
@param B
@param C
syr2k performs a rank - 2k update of an n - by - n symmetric matrix c that is one of the following operations : c : = alpha * a * b + alpha * b * a + beta * c for trans = N or n c : = alpha * a * b + alpha * b * a + beta * c for trans = T or t where c is an n - by - n symmetric matrix ; a and b are n - by - k matrices if trans = N or n a and b are k - by - n matrices if trans = T or t .