inline void tbsv( const Order, const UpLo, const Trans, const Diag, const int n, const int k, const double* a, const int lda, double* x, const int incx ) { BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) ); cublasDtbsv( blas_option< UpLo >::value, blas_option< Trans >::value, blas_option< Diag >::value, n, k, a, lda, x, incx ); }
void d_tbsv(SEXP ruplo, SEXP rtrans, SEXP rdiag, SEXP rk, 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), k = asInteger(rk), nx, incx = asInteger(rincx); unpackVector(rx, &nx, &x); unpackMatrix(ra, &rowsa, &colsa, &a); cublasDtbsv(uplo, trans, diag, rowsa, k, a, lda, x, incx); checkCublasError("d_tbsv"); }