guanaqo 1.0.0-alpha.27
Utilities for scientific software
Loading...
Searching...
No Matches
High-Level BLAS Wrappers

Detailed Description

High-level BLAS and LAPACK wrappers with MatrixView arguments.

Collaboration diagram for High-Level BLAS Wrappers:

Files

file  hl-blas-interface.hpp
 This file provides simple overloaded wrappers around standard BLAS functions.

Typedefs

template<class I>
using guanaqo::blas::UnitStride = std::integral_constant<I, 1>

Functions

template<class T, class I>
void guanaqo::blas::xgemv_N (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > x, T beta, MatrixView< T, I > y)
template<class T, class I>
void guanaqo::blas::xgemv_T (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > x, T beta, MatrixView< T, I > y)
template<class T, class I>
void guanaqo::blas::xgemv_N (T alpha, std::type_identity_t< MatrixViewRM< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > x, T beta, MatrixView< T, I > y)
template<class T, class I>
void guanaqo::blas::xgemv_T (T alpha, std::type_identity_t< MatrixViewRM< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > x, T beta, MatrixView< T, I > y)
template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_NN (T alpha, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B, T beta, MatrixView< T, I, UnitStride< I >, O > C)
template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_TN (T alpha, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B, T beta, MatrixView< T, I, UnitStride< I >, O > C)
template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_TT (T alpha, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B, T beta, MatrixView< T, I, UnitStride< I >, O > C)
template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_NT (T alpha, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A, std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B, T beta, MatrixView< T, I, UnitStride< I >, O > C)
template<class T, class I>
void guanaqo::blas::xgemmt_LNN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > B, T beta, MatrixView< T, I > C)
template<class T, class I>
void guanaqo::blas::xgemmt_LTN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > B, T beta, MatrixView< T, I > C)
template<class T, class I>
void guanaqo::blas::xgemmt_LTT (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > B, T beta, MatrixView< T, I > C)
template<class T, class I>
void guanaqo::blas::xgemmt_LNT (T alpha, std::type_identity_t< MatrixView< const T, I > > A, std::type_identity_t< MatrixView< const T, I > > B, T beta, MatrixView< T, I > C)
template<class T, class I, StorageOrder O>
void guanaqo::blas::xsymv_L (T alpha, MatrixView< const T, I, UnitStride< I >, O > A, std::type_identity_t< MatrixView< const T, I > > x, T beta, MatrixView< T, I > y)
template<class T, class I>
void guanaqo::blas::xtrmv_LNN (std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > x)
template<class T, class I>
void guanaqo::blas::xtrmv_LTN (std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > x)
template<class T, class I>
void guanaqo::blas::xtrsv_LNN (std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > x)
template<class T, class I>
void guanaqo::blas::xtrsv_LTN (std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > x)
template<class T, class I>
void guanaqo::blas::xtrmm_LLNN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrmm_LLTN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrmm_RLNN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrmm_RLTN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xsyrk_LN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, T beta, MatrixView< T, I > C)
template<class T, class I>
void guanaqo::blas::xsyrk_LT (T alpha, std::type_identity_t< MatrixView< const T, I > > A, T beta, MatrixView< T, I > C)
template<class T, class I>
void guanaqo::blas::xtrsm_LLNN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrsm_LLTN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrsm_RLNN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrsm_RLTN (T alpha, std::type_identity_t< MatrixView< const T, I > > A, MatrixView< T, I > B)
template<class T, class I>
void guanaqo::blas::xtrtrs (const char *uplo, const char *trans, const char *diag, const I *n, const I *nrhs, const T *A, const I *ldA, T *B, const I *ldB, I *info)
template<class T, class I>
void guanaqo::blas::xpotrf_L (MatrixView< T, I > A)
template<class T, class I>
void guanaqo::blas::xlauum_L (MatrixView< T, I > A)
template<class T, class I>
void guanaqo::blas::xtrtri_LN (MatrixView< T, I > A)

Typedef Documentation

◆ UnitStride

template<class I>
using guanaqo::blas::UnitStride = std::integral_constant<I, 1>

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 26 of file hl-blas-interface.hpp.

Function Documentation

◆ xgemv_N() [1/2]

template<class T, class I>
void guanaqo::blas::xgemv_N ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > x,
T beta,
MatrixView< T, I > y )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 29 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemv_T() [1/2]

template<class T, class I>
void guanaqo::blas::xgemv_T ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > x,
T beta,
MatrixView< T, I > y )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 42 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemv_N() [2/2]

template<class T, class I>
void guanaqo::blas::xgemv_N ( T alpha,
std::type_identity_t< MatrixViewRM< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > x,
T beta,
MatrixView< T, I > y )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 55 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemv_T() [2/2]

template<class T, class I>
void guanaqo::blas::xgemv_T ( T alpha,
std::type_identity_t< MatrixViewRM< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > x,
T beta,
MatrixView< T, I > y )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 68 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemm_NN()

template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_NN ( T alpha,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B,
T beta,
MatrixView< T, I, UnitStride< I >, O > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 81 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemm_TN()

template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_TN ( T alpha,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B,
T beta,
MatrixView< T, I, UnitStride< I >, O > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 96 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemm_TT()

template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_TT ( T alpha,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B,
T beta,
MatrixView< T, I, UnitStride< I >, O > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 111 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemm_NT()

template<class T, class I, StorageOrder O>
void guanaqo::blas::xgemm_NT ( T alpha,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > A,
std::type_identity_t< MatrixView< const T, I, UnitStride< I >, O > > B,
T beta,
MatrixView< T, I, UnitStride< I >, O > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 126 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemmt_LNN()

template<class T, class I>
void guanaqo::blas::xgemmt_LNN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > B,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 141 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemmt_LTN()

template<class T, class I>
void guanaqo::blas::xgemmt_LTN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > B,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 155 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemmt_LTT()

template<class T, class I>
void guanaqo::blas::xgemmt_LTT ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > B,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 169 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xgemmt_LNT()

template<class T, class I>
void guanaqo::blas::xgemmt_LNT ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
std::type_identity_t< MatrixView< const T, I > > B,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 183 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xsymv_L()

template<class T, class I, StorageOrder O>
void guanaqo::blas::xsymv_L ( T alpha,
MatrixView< const T, I, UnitStride< I >, O > A,
std::type_identity_t< MatrixView< const T, I > > x,
T beta,
MatrixView< T, I > y )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 197 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmv_LNN()

template<class T, class I>
void guanaqo::blas::xtrmv_LNN ( std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > x )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 210 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmv_LTN()

template<class T, class I>
void guanaqo::blas::xtrmv_LTN ( std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > x )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 221 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsv_LNN()

template<class T, class I>
void guanaqo::blas::xtrsv_LNN ( std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > x )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 232 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsv_LTN()

template<class T, class I>
void guanaqo::blas::xtrsv_LTN ( std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > x )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 243 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmm_LLNN()

template<class T, class I>
void guanaqo::blas::xtrmm_LLNN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 254 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmm_LLTN()

template<class T, class I>
void guanaqo::blas::xtrmm_LLTN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 265 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmm_RLNN()

template<class T, class I>
void guanaqo::blas::xtrmm_RLNN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 276 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrmm_RLTN()

template<class T, class I>
void guanaqo::blas::xtrmm_RLTN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 287 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xsyrk_LN()

template<class T, class I>
void guanaqo::blas::xsyrk_LN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 298 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xsyrk_LT()

template<class T, class I>
void guanaqo::blas::xsyrk_LT ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
T beta,
MatrixView< T, I > C )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 308 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsm_LLNN()

template<class T, class I>
void guanaqo::blas::xtrsm_LLNN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 318 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsm_LLTN()

template<class T, class I>
void guanaqo::blas::xtrsm_LLTN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 329 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsm_RLNN()

template<class T, class I>
void guanaqo::blas::xtrsm_RLNN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 340 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrsm_RLTN()

template<class T, class I>
void guanaqo::blas::xtrsm_RLTN ( T alpha,
std::type_identity_t< MatrixView< const T, I > > A,
MatrixView< T, I > B )

#include <guanaqo/blas/hl-blas-interface.hpp>

Definition at line 351 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrtrs()

template<class T, class I>
void guanaqo::blas::xtrtrs ( const char * uplo,
const char * trans,
const char * diag,
const I * n,
const I * nrhs,
const T * A,
const I * ldA,
T * B,
const I * ldB,
I * info )

◆ xpotrf_L()

template<class T, class I>
void guanaqo::blas::xpotrf_L ( MatrixView< T, I > A)

#include <guanaqo/blas/hl-blas-interface.hpp>

Exceptions
lapack_error

Definition at line 374 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xlauum_L()

template<class T, class I>
void guanaqo::blas::xlauum_L ( MatrixView< T, I > A)

#include <guanaqo/blas/hl-blas-interface.hpp>

Exceptions
lapack_error

Definition at line 385 of file hl-blas-interface.hpp.

Here is the call graph for this function:

◆ xtrtri_LN()

template<class T, class I>
void guanaqo::blas::xtrtri_LN ( MatrixView< T, I > A)

#include <guanaqo/blas/hl-blas-interface.hpp>

Exceptions
lapack_error

Definition at line 397 of file hl-blas-interface.hpp.

Here is the call graph for this function: