batmat develop
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::linalg::detail::copy Namespace Reference

Classes

struct  FillConfig
struct  CopyConfig

Functions

template<class T, class Abi, FillConfig Conf = {}, StorageOrder OB>
void fill (T a, view< T, Abi, OB > B)
template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (!std::same_as<Abi, datapar::scalar_abi<T>> || Conf.struc != MatrixStructure::General)
void copy (view< const T, Abi, OA > A, view< T, Abi, OB > B)
template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (std::same_as<Abi, datapar::scalar_abi<T>> && OA == OB && Conf.struc == MatrixStructure::General)
void copy (view< const T, Abi, OA > A, view< T, Abi, OB > B)
template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (std::same_as<Abi, datapar::scalar_abi<T>> && OA != OB && Conf.struc == MatrixStructure::General)
void copy (view< const T, Abi, OA > A, view< T, Abi, OB > B)
template<class... Opts>
constexpr CopyConfig apply_options (CopyConfig conf, Opts...)

Class Documentation

◆ batmat::linalg::detail::copy::FillConfig

struct batmat::linalg::detail::copy::FillConfig
Class Members
int mask = 0
MatrixStructure struc = MatrixStructure::General

◆ batmat::linalg::detail::copy::CopyConfig

struct batmat::linalg::detail::copy::CopyConfig
Class Members
int rotate = 0
int mask = rotate
MatrixStructure struc = MatrixStructure::General

Function Documentation

◆ fill()

template<class T, class Abi, FillConfig Conf = {}, StorageOrder OB>
void batmat::linalg::detail::copy::fill ( T a,
view< T, Abi, OB > B )

Definition at line 27 of file copy.hpp.

◆ copy() [1/3]

template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (!std::same_as<Abi, datapar::scalar_abi<T>> || Conf.struc != MatrixStructure::General)
void batmat::linalg::detail::copy::copy ( view< const T, Abi, OA > A,
view< T, Abi, OB > B )

Definition at line 68 of file copy.hpp.

◆ copy() [2/3]

template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (std::same_as<Abi, datapar::scalar_abi<T>> && OA == OB && Conf.struc == MatrixStructure::General)
void batmat::linalg::detail::copy::copy ( view< const T, Abi, OA > A,
view< T, Abi, OB > B )

Definition at line 110 of file copy.hpp.

◆ copy() [3/3]

template<class T, class Abi, CopyConfig Conf = {}, StorageOrder OA, StorageOrder OB>
requires (std::same_as<Abi, datapar::scalar_abi<T>> && OA != OB && Conf.struc == MatrixStructure::General)
void batmat::linalg::detail::copy::copy ( view< const T, Abi, OA > A,
view< T, Abi, OB > B )

Definition at line 133 of file copy.hpp.

◆ apply_options()

template<class... Opts>
CopyConfig batmat::linalg::detail::copy::apply_options ( CopyConfig conf,
Opts...  )
constexpr

Definition at line 169 of file copy.hpp.