nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel2.java
@Override
    public void hbmv(char order, char Uplo, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray X,
                    IComplexNumber beta, IComplexNDArray Y) {

        // FIXME: int cast
        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zhbmv(order, Uplo, (int) X.length(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), X, X.majorStride() / 2,
                            beta.asDouble(), Y, Y.majorStride() / 2);
        else
            chbmv(order, Uplo, (int) X.length(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), X, X.majorStride() / 2,
                            beta.asFloat(), Y, Y.majorStride() / 2);

    }
@Override
    public void hbmv(char order, char Uplo, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray X,
                    IComplexNumber beta, IComplexNDArray Y) {

        // FIXME: int cast
        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zhbmv(order, Uplo, (int) X.length(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), X, X.majorStride() / 2,
                            beta.asDouble(), Y, Y.majorStride() / 2);
        else
            chbmv(order, Uplo, (int) X.length(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), X, X.majorStride() / 2,
                            beta.asFloat(), Y, Y.majorStride() / 2);

    }
performs a rank-1 update of a general m-by-n matrix a, without conjugation:
a := alpha*x*y' + a.

@param order
@param Uplo
@param alpha
@param A
@param X
@param beta
@param Y