@Override
    public void geru(char order, IComplexNumber alpha, IComplexNDArray X, IComplexNDArray Y, IComplexNDArray A) {
        // FIXME: int cast
        if (X.data().dataType() == DataBuffer.Type.DOUBLE)
            zgeru(order, (int) A.rows(), (int) A.columns(), alpha.asDouble(), X, X.majorStride() / 2, Y, Y.majorStride() / 2, A,
                    (int) A.size(0));
        else
            cgeru(order, (int) A.rows(),(int)  A.columns(), alpha.asFloat(), X, X.majorStride() / 2, Y, Y.majorStride() / 2, A,
                    (int)  A.size(0));

    }
@Override
    public void geru(char order, IComplexNumber alpha, IComplexNDArray X, IComplexNDArray Y, IComplexNDArray A) {
        
        if (X.data().dataType() == DataBuffer.Type.DOUBLE)
            zgeru(order, (int) A.rows(), (int) A.columns(), alpha.asDouble(), X, X.majorStride() / 2, Y, Y.majorStride() / 2, A,
                    (int) A.size(0));
        else
            cgeru(order, (int) A.rows(),(int)  A.columns(), alpha.asFloat(), X, X.majorStride() / 2, Y, Y.majorStride() / 2, A,
                    (int)  A.size(0));

    }
@ Override public void geru ( char order , IComplexNumber alpha , IComplexNDArray X , IComplexNDArray Y , IComplexNDArray A ) { // FIXME: int cast if ( X . data ( ) . dataType ( ) == DataBuffer . Type . DOUBLE ) zgeru ( order , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asDouble ( ) , X , X . majorStride ( ) / 2 , Y , Y . majorStride ( ) / 2 , A , ( int ) A . size ( 0 ) ) ; else cgeru ( order , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asFloat ( ) , X , X . majorStride ( ) / 2 , Y , Y . majorStride ( ) / 2 , A , ( int ) A . size ( 0 ) ) ; }
performs a rank-1 update of a general m-by-n matrix a, without conjugation:
a := alpha*x*y' + a.
@param order
@param alpha
@param X
@param Y
@param A
performs a rank - 1 update of a general m - by - n matrix a without conjugation : a : = alpha * x * y + a .