@Override
    public void herk(char Order, char Uplo, char Trans, IComplexNumber alpha, IComplexNDArray A, IComplexNumber beta,
                    IComplexNDArray C) {
        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zherk(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            cherk(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), beta.asFloat(), C, (int) C.size(0));

    }
@Override
    public void herk(char Order, char Uplo, char Trans, IComplexNumber alpha, IComplexNDArray A, IComplexNumber beta,
                    IComplexNDArray C) {
        

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zherk(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            cherk(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), beta.asFloat(), C, (int) C.size(0));

    }
@ Override public void herk ( char Order , char Uplo , char Trans , IComplexNumber alpha , IComplexNDArray A , IComplexNumber beta , IComplexNDArray C ) { // FIXME: int cast if ( A . data ( ) . dataType ( ) == DataBuffer . Type . DOUBLE ) zherk ( Order , Uplo , Trans , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asDouble ( ) , A , ( int ) A . size ( 0 ) , beta . asDouble ( ) , C , ( int ) C . size ( 0 ) ) ; else cherk ( Order , Uplo , Trans , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asFloat ( ) , A , ( int ) A . size ( 0 ) , beta . asFloat ( ) , C , ( int ) C . size ( 0 ) ) ; }
herk performs a rank-n update of a Hermitian matrix, that is, one of the following operations:
c := alpha*a*conjug(a') + beta*c  for trans = 'N'or'n'
c := alpha*conjug(a')*a + beta*c  for trans = 'C'or'c',
where c is an n-by-n Hermitian matrix;
a is an n-by-k matrix, if trans = 'N'or'n',
a is a k-by-n matrix, if trans = 'C'or'c'.
@param Order
@param Uplo
@param Trans
@param alpha
@param A
@param beta
@param C
herk performs a rank - n update of a Hermitian matrix that is one of the following operations : c : = alpha * a * conjug ( a ) + beta * c for trans = N or n c : = alpha * conjug ( a ) * a + beta * c for trans = C or c where c is an n - by - n Hermitian matrix ; a is an n - by - k matrix if trans = N or n a is a k - by - n matrix if trans = C or c .