@Override
    public void symm(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)
            zsymm(Order, Side, Uplo, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            csymm(Order, Side, Uplo, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));

    }
@Override
    public void symm(char Order, char Side, char Uplo, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {
        

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zsymm(Order, Side, Uplo, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            csymm(Order, Side, Uplo, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));

    }
@ Override public void symm ( 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 ) zsymm ( Order , Side , Uplo , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asDouble ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , beta . asDouble ( ) , C , ( int ) C . size ( 0 ) ) ; else csymm ( Order , Side , Uplo , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asFloat ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) , beta . asFloat ( ) , C , ( int ) C . size ( 0 ) ) ; }
her2k performs a rank-2k update of an n-by-n Hermitian matrix c, that is, one of the following operations:
c := alpha*a*conjg(b') + conjg(alpha)*b*conjg(a') + beta*c,  for trans = 'N'or'n'
c := alpha*conjg(b')*a + conjg(alpha)*conjg(a')*b + beta*c,  for trans = 'C'or'c'
where c is an n-by-n Hermitian matrix;
a and b are n-by-k matrices if trans = 'N'or'n',
a and b are k-by-n matrices if trans = 'C'or'c'.
@param Order
@param Side
@param Uplo
@param alpha
@param A
@param B
@param beta
@param C
her2k performs a rank - 2k update of an n - by - n Hermitian matrix c that is one of the following operations : c : = alpha * a * conjg ( b ) + conjg ( alpha ) * b * conjg ( a ) + beta * c for trans = N or n c : = alpha * conjg ( b ) * a + conjg ( alpha ) * conjg ( a ) * b + beta * c for trans = C or c where c is an n - by - n Hermitian matrix ; a and b are n - by - k matrices if trans = N or n a and b are k - by - n matrices if trans = C or c .