inline void trmv( const Order, const UpLo, const Trans, const Diag, const int n, const double* a, const int lda, double* x, const int incx ) { BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) ); cublasDtrmv( blas_option< UpLo >::value, blas_option< Trans >::value, blas_option< Diag >::value, n, a, lda, x, incx ); }
void magma_dtrmv( magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, const double *dA, magma_int_t ldda, double *dx, magma_int_t incx ) { cublasDtrmv( cublas_uplo_const( uplo ), cublas_trans_const( trans ), cublas_diag_const( diag ), n, dA, ldda, dx, incx ); }
void d_trmv(SEXP ruplo, SEXP rtrans, SEXP rdiag, SEXP ra, SEXP rlda, SEXP rx, SEXP rincx) { char uplo = getSymLoc(ruplo), trans = getTranspose(rtrans), diag = getUnitTri(rdiag); double * a, * x; int rowsa, colsa, lda = asInteger(rlda), nx, incx = asInteger(rincx); unpackVector(rx, &nx, &x); unpackMatrix(ra, &rowsa, &colsa, &a); cublasDtrmv(uplo, trans, diag, rowsa, a, lda, x, incx); checkCublasError("d_trmv"); }