@Override
    public void trsm(char Order, char Side, char Uplo, char TransA, char Diag, IComplexNumber alpha, IComplexNDArray A,
                    IComplexNDArray B) {

        // FIXME: int cast

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

    }
@Override
    public void trsm(char Order, char Side, char Uplo, char TransA, char Diag, IComplexNumber alpha, IComplexNDArray A,
                    IComplexNDArray B) {

        

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

    }
@ Override public void trsm ( char Order , char Side , char Uplo , char TransA , char Diag , IComplexNumber alpha , IComplexNDArray A , IComplexNDArray B ) { // FIXME: int cast if ( A . data ( ) . dataType ( ) == DataBuffer . Type . DOUBLE ) ztrsm ( Order , Side , Uplo , TransA , Diag , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asDouble ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) ) ; else ctrsm ( Order , Side , Uplo , TransA , Diag , ( int ) A . rows ( ) , ( int ) A . columns ( ) , alpha . asFloat ( ) , A , ( int ) A . size ( 0 ) , B , ( int ) B . size ( 0 ) ) ; }
?trsm solves one of the following matrix equations:
op(a)*x = alpha*b  or  x*op(a) = alpha*b,
where x and b are m-by-n general matrices, and a is triangular;
op(a) must be an m-by-m matrix, if side = 'L'or'l'
op(a) must be an n-by-n matrix, if side = 'R'or'r'.
For the definition of op(a), see Matrix Arguments.
The routine overwrites x on b.
@param Order
@param Side
@param Uplo
@param TransA
@param Diag
@param alpha
@param A
@param B
?trsm solves one of the following matrix equations : op ( a ) * x = alpha * b or x * op ( a ) = alpha * b where x and b are m - by - n general matrices and a is triangular ; op ( a ) must be an m - by - m matrix if side = L or l op ( a ) must be an n - by - n matrix if side = R or r . For the definition of op ( a ) see Matrix Arguments . The routine overwrites x on b .